talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 28e270107cc8d7cd2aa2fe442d6c4ccea34cade3
parent 913b1fe75548962f7a6f2f6f11ce497459a77d21
Author: Colin Leroy <colin@colino.net>
Date:   Thu, 18 Jun 2009 18:01:23 +0000

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 :)

Diffstat:
MChangeLog | 14++++++++++++++
MPATCHSETS | 1+
Mconfigure.ac | 4+++-
Msrc/plugins/pgpcore/sgpgme.c | 19++++++++++++++++---
Msrc/plugins/pgpcore/sgpgme.h | 2++
Msrc/plugins/pgpmime/mypgpcore.def | 1+
Msrc/plugins/pgpmime/pgpmime.c | 2+-
Msrc/plugins/smime/mypgpcore.def | 1+
Msrc/plugins/smime/smime.c | 4++--
9 files changed, 41 insertions(+), 7 deletions(-)

diff --git 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 diff --git a/PATCHSETS b/PATCHSETS @@ -3815,3 +3815,4 @@ ( 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 diff --git a/configure.ac b/configure.ac @@ -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 diff --git a/src/plugins/pgpcore/sgpgme.c b/src/plugins/pgpcore/sgpgme.c @@ -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 */ diff --git a/src/plugins/pgpcore/sgpgme.h b/src/plugins/pgpcore/sgpgme.h @@ -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 */ diff --git a/src/plugins/pgpmime/mypgpcore.def b/src/plugins/pgpmime/mypgpcore.def @@ -15,3 +15,4 @@ sgpgme_sigstat_gpgme_to_privacy sgpgme_sigstat_info_full sgpgme_sigstat_info_short sgpgme_verify_signature +cm_gpgme_data_rewind diff --git a/src/plugins/pgpmime/pgpmime.c b/src/plugins/pgpmime/pgpmime.c @@ -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); diff --git a/src/plugins/smime/mypgpcore.def b/src/plugins/smime/mypgpcore.def @@ -15,3 +15,4 @@ sgpgme_sigstat_gpgme_to_privacy sgpgme_sigstat_info_full sgpgme_sigstat_info_short sgpgme_verify_signature +cm_gpgme_data_rewind diff --git a/src/plugins/smime/smime.c b/src/plugins/smime/smime.c @@ -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);