2009-06-18 [colin] 3.7.1cvs76
authorColin Leroy <colin@colino.net>
Thu, 18 Jun 2009 18:01:23 +0000 (18:01 +0000)
committerColin Leroy <colin@colino.net>
Thu, 18 Jun 2009 18:01:23 +0000 (18:01 +0000)
* configure.ac
* src/plugins/pgpcore/sgpgme.c
* src/plugins/pgpcore/sgpgme.h
* src/plugins/pgpmime/mypgpcore.def
* src/plugins/pgpmime/pgpmime.c
* src/plugins/smime/mypgpcore.def
* src/plugins/smime/smime.c
Use largefile support (and stop using our old GPGME
hack on gpgme_data_seek/rewind)
(See 1.9.12cvs44 to 46 - if this breaks things we
should soon know :)

ChangeLog
PATCHSETS
configure.ac
src/plugins/pgpcore/sgpgme.c
src/plugins/pgpcore/sgpgme.h
src/plugins/pgpmime/mypgpcore.def
src/plugins/pgpmime/pgpmime.c
src/plugins/smime/mypgpcore.def
src/plugins/smime/smime.c

index c89f09bda09d53771d2c9d62acb1399e25cfe7a2..5a49525d6848fd1c7e51fc0ac9d05e0912c94e58 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2009-06-18 [colin]     3.7.1cvs76
+
+       * configure.ac
+       * src/plugins/pgpcore/sgpgme.c
+       * src/plugins/pgpcore/sgpgme.h
+       * src/plugins/pgpmime/mypgpcore.def
+       * src/plugins/pgpmime/pgpmime.c
+       * src/plugins/smime/mypgpcore.def
+       * src/plugins/smime/smime.c
+               Use largefile support (and stop using our old GPGME
+               hack on gpgme_data_seek/rewind)
+               (See 1.9.12cvs44 to 46 - if this breaks things we 
+               should soon know :)
+
 2009-06-13 [colin]     3.7.1cvs75
 
        * src/gtk/spell_entry.c
index cbeac54d8c7fd8c1e849a7f916aec8e993150259..c49d92aa091c8786906eb268896c4a1ca6febc34 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.9.2.41 -r 1.9.2.42 src/common/ssl.c;  ) > 3.7.1cvs73.patchset
 ( cvs diff -u -r 1.382.2.517 -r 1.382.2.518 src/compose.c;  cvs diff -u -r 1.94.2.204 -r 1.94.2.205 src/messageview.c;  cvs diff -u -r 1.105.2.153 -r 1.105.2.154 src/prefs_account.c;  cvs diff -u -r 1.49.2.43 -r 1.49.2.44 src/prefs_account.h;  cvs diff -u -r 1.36.2.171 -r 1.36.2.172 src/common/utils.c;  cvs diff -u -r 1.20.2.70 -r 1.20.2.71 src/common/utils.h;  ) > 3.7.1cvs74.patchset
 ( cvs diff -u -r 1.1.2.6 -r 1.1.2.7 src/gtk/spell_entry.c;  ) > 3.7.1cvs75.patchset
+( cvs diff -u -r 1.1.2.63 -r 1.1.2.64 src/plugins/pgpcore/sgpgme.c;  cvs diff -u -r 1.1.2.13 -r 1.1.2.14 src/plugins/pgpcore/sgpgme.h;  cvs diff -u -r 1.1.2.2 -r 1.1.2.3 src/plugins/pgpmime/mypgpcore.def;  cvs diff -u -r 1.1.2.55 -r 1.1.2.56 src/plugins/pgpmime/pgpmime.c;  cvs diff -u -r 1.1.2.2 -r 1.1.2.3 src/plugins/smime/mypgpcore.def;  cvs diff -u -r 1.1.2.6 -r 1.1.2.7 src/plugins/smime/smime.c;  ) > 3.7.1cvs76.patchset
index d524d8a8af438efef911fca50f5c3a3be0cdd7de..25223893b9b1bcb776e50931622f24c7ffe3e4e3 100644 (file)
@@ -12,7 +12,7 @@ MINOR_VERSION=7
 MICRO_VERSION=1
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=75
+EXTRA_VERSION=76
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
@@ -91,6 +91,8 @@ LT_AC_PROG_RC
 AC_LIBTOOL_RC
 AC_PROG_LIBTOOL
 
+AC_SYS_LARGEFILE
+
 dnl ******************************
 dnl Checks for host
 dnl Not needed anymore because we 
index 6a2767a55d00222a9ba5009ffa91c6eeb3e844a3..8410ab0e0a29c2fbc6ca8b11bebfcb8b0001eca0 100644 (file)
@@ -423,7 +423,7 @@ gpgme_data_t sgpgme_decrypt_verify(gpgme_data_t cipher, gpgme_verify_result_t *s
                        return NULL;
                }
 
-               err = gpgme_data_rewind(plain);
+               err = cm_gpgme_data_rewind(plain);
                if (err) {
                        debug_print("can't seek (%d %d %s)\n", err, errno, strerror(errno));
                }
@@ -440,7 +440,7 @@ gpgme_data_t sgpgme_decrypt_verify(gpgme_data_t cipher, gpgme_verify_result_t *s
                        return NULL;
                }
 
-               err = gpgme_data_rewind(plain);
+               err = cm_gpgme_data_rewind(plain);
                if (err) {
                        debug_print("can't seek (%d %d %s)\n", err, errno, strerror(errno));
                }
@@ -890,7 +890,7 @@ void *sgpgme_data_release_and_get_mem(gpgme_data_t data, size_t *len)
                return NULL;
 
        /* I know it's deprecated, but we don't compile with _LARGEFILE */
-       gpgme_data_rewind(data);
+       cm_gpgme_data_rewind(data);
        while ((r = gpgme_data_read(data, buf, BUFSIZ)) > 0) {
                result = realloc(result, r + w);
                memcpy(result+w, buf, r);
@@ -907,4 +907,17 @@ void *sgpgme_data_release_and_get_mem(gpgme_data_t data, size_t *len)
        }
        return result;
 }
+
+gpgme_error_t cm_gpgme_data_rewind(gpgme_data_t dh)
+{
+#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
+       if (gpgme_data_seek(dh, (off_t)0, SEEK_SET) == -1)
+               return gpg_error_from_errno(errno);
+       else
+               return 0;
+#else
+       return gpgme_data_rewind(dh);
+#endif
+}
+
 #endif /* USE_GPGME */
index 7d699a354abde7033affa3ec4fda07c33a43c1f0..dafbd608d38f2d1bb67d93f60d0ce94c13106c47 100644 (file)
@@ -51,4 +51,6 @@ gboolean sgpgme_has_secret_key(void);
 void sgpgme_create_secret_key(PrefsAccount *account, gboolean ask_create);
 void *sgpgme_data_release_and_get_mem(gpgme_data_t data, size_t *len);
 
+gpgme_error_t cm_gpgme_data_rewind(gpgme_data_t dh);
+
 #endif /* SGPGME_H */
index 14e219fe0bf70be10487253b6cbb1354a34526b7..5c42a4b4a87c876c8e38a90986c65514642ff445 100644 (file)
@@ -15,3 +15,4 @@ sgpgme_sigstat_gpgme_to_privacy
 sgpgme_sigstat_info_full
 sgpgme_sigstat_info_short
 sgpgme_verify_signature
+cm_gpgme_data_rewind
index 943df863c3983218b8e076c2bb43f44ad90fd0af..84ba17d10175efdf4179981e17a1930d5251e2ab 100644 (file)
@@ -688,7 +688,7 @@ gboolean pgpmime_encrypt(MimeInfo *mimeinfo, const gchar *encrypt_data)
        gpgme_data_new_from_mem(&gpgtext, textstr, (size_t)strlen(textstr), 0);
        gpgme_data_new(&gpgenc);
        gpgme_set_armor(ctx, 1);
-       gpgme_data_rewind(gpgtext);
+       cm_gpgme_data_rewind(gpgtext);
        
        err = gpgme_op_encrypt(ctx, kset, GPGME_ENCRYPT_ALWAYS_TRUST, gpgtext, gpgenc);
 
index 14e219fe0bf70be10487253b6cbb1354a34526b7..5c42a4b4a87c876c8e38a90986c65514642ff445 100644 (file)
@@ -15,3 +15,4 @@ sgpgme_sigstat_gpgme_to_privacy
 sgpgme_sigstat_info_full
 sgpgme_sigstat_info_short
 sgpgme_verify_signature
+cm_gpgme_data_rewind
index 3778b1a4dd269a5d10c5fa7eb7c64f25cf861442..f837a9b56f6df8ed8d56d4b39bd6f8db97dac462 100644 (file)
@@ -256,7 +256,7 @@ static gint smime_check_signature(MimeInfo *mimeinfo)
                                sgpgme_verify_signature (data->ctx, textdata, NULL, cipher);
                        gpgme_data_release(textdata);
                        g_free(textstr);
-                       gpgme_data_rewind(cipher);
+                       cm_gpgme_data_rewind(cipher);
                        textstr = sgpgme_data_release_and_get_mem(cipher, &len);
                        fclose(fp);
                        if (textstr && len > 0)
@@ -825,7 +825,7 @@ gboolean smime_encrypt(MimeInfo *mimeinfo, const gchar *encrypt_data)
        /* encrypt data */
        gpgme_data_new_from_mem(&gpgtext, textstr, textstr?strlen(textstr):0, 0);
        gpgme_data_new(&gpgenc);
-       gpgme_data_rewind(gpgtext);
+       cm_gpgme_data_rewind(gpgtext);
        
        gpgme_data_set_encoding(gpgenc, GPGME_DATA_ENCODING_BASE64);
        gpgme_op_encrypt(ctx, kset, GPGME_ENCRYPT_ALWAYS_TRUST, gpgtext, gpgenc);