diff options
Diffstat (limited to 'source/xap')
6 files changed, 1 insertions, 333 deletions
diff --git a/source/xap/pan/pan.SlackBuild b/source/xap/pan/pan.SlackBuild index 99b0541f..683ed8c4 100755 --- a/source/xap/pan/pan.SlackBuild +++ b/source/xap/pan/pan.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=pan VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | cut -d - -f 2 | rev | cut -f 3- -d . | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -75,13 +75,6 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ -# Upstream patches to fix when using gmime-3: -zcat $CWD/patches/0000-b9a4154942c932a493736d2292bbae16384e35df.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/0001-e5be4d4a1d9d08796c1b5a5c763379383b8c119a.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/0002-50f6c43a698dcc0ba6b490c086a73eeedbdd8a80.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/0003-ddcd5761075a6fb3ef7b768f004fa1e6663cb65e.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/0004-476b5a62fcda711ce2d7412a310b8182cca6940e.patch.gz | patch -p1 --verbose || exit 1 - # Configure: CFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/source/xap/pan/patches/0000-b9a4154942c932a493736d2292bbae16384e35df.patch b/source/xap/pan/patches/0000-b9a4154942c932a493736d2292bbae16384e35df.patch deleted file mode 100644 index 1732e91f..00000000 --- a/source/xap/pan/patches/0000-b9a4154942c932a493736d2292bbae16384e35df.patch +++ /dev/null @@ -1,25 +0,0 @@ -From b9a4154942c932a493736d2292bbae16384e35df Mon Sep 17 00:00:00 2001 -From: Federico Cuello <fedux@fedux.com.ar> -Date: Sat, 17 Nov 2018 17:44:49 +0100 -Subject: [PATCH] Fix ypart begin for bpf ranges - -It was creating yparts with begin=0 and end==previous_part_begin with -multipart files. It should start from 1 and next part from previous end -+ 1. ---- - uulib/uuencode.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/uulib/uuencode.c b/uulib/uuencode.c -index b9a390e..2768771 100644 ---- a/uulib/uuencode.c -+++ b/uulib/uuencode.c -@@ -1740,7 +1740,7 @@ UUEncodePartial_byFSize (FILE *outfile, FILE *infile, - } - - fprintf (outfile, "=ypart begin=%ld end=%ld%s", -- (partno-1)*bpf, -+ (partno-1)*bpf+1, - (partno*bpf) < progress.totsize ? - (partno*bpf) : progress.totsize, - eolstring); diff --git a/source/xap/pan/patches/0001-e5be4d4a1d9d08796c1b5a5c763379383b8c119a.patch b/source/xap/pan/patches/0001-e5be4d4a1d9d08796c1b5a5c763379383b8c119a.patch deleted file mode 100644 index 4cd6de19..00000000 --- a/source/xap/pan/patches/0001-e5be4d4a1d9d08796c1b5a5c763379383b8c119a.patch +++ /dev/null @@ -1,215 +0,0 @@ -From e5be4d4a1d9d08796c1b5a5c763379383b8c119a Mon Sep 17 00:00:00 2001 -From: Detlef Graef <detlef.graef@yahoo.de> -Date: Fri, 19 Apr 2019 15:12:27 +0200 -Subject: [PATCH] Fix to build Pan with options --with-gmime30 and - --with-gmime-crypto - ---- - pan/usenet-utils/gpg.cc | 76 ++++++++++++++++++++++++++-------- - pan/usenet-utils/mime-utils.cc | 35 ++++++++++++++++ - 2 files changed, 94 insertions(+), 17 deletions(-) - -diff --git a/pan/usenet-utils/gpg.cc b/pan/usenet-utils/gpg.cc -index f24e723..4df4525 100644 ---- a/pan/usenet-utils/gpg.cc -+++ b/pan/usenet-utils/gpg.cc -@@ -70,6 +70,45 @@ namespace pan - signer.key_id = sig->cert->keyid ? sig->cert->keyid : "(null)"; - signer.fpr = sig->cert->fingerprint ? sig->cert->fingerprint : "(null)"; - -+#ifdef HAVE_GMIME_30 -+ switch (sig->cert->trust) { -+ case GMIME_TRUST_UNKNOWN: -+ signer.trust = "None"; -+ break; -+ case GMIME_TRUST_NEVER: -+ signer.trust = "Never"; -+ break; -+ case GMIME_TRUST_UNDEFINED: -+ signer.trust = "Undefined"; -+ break; -+ case GMIME_TRUST_MARGINAL: -+ signer.trust = "Marginal"; -+ break; -+ case GMIME_TRUST_FULL: -+ signer.trust = "Fully"; -+ break; -+ case GMIME_TRUST_ULTIMATE: -+ signer.trust = "Ultimate"; -+ break; -+ } -+ -+ switch (sig->status) { -+ case GMIME_SIGNATURE_STATUS_GREEN: -+ signer.status = "GOOD"; -+ break; -+ case GMIME_SIGNATURE_STATUS_RED: -+ signer.status = "BAD"; -+ break; -+ case GMIME_SIGNATURE_STATUS_SYS_ERROR: -+ signer.status = "ERROR"; -+ break; -+ } -+ -+ signer.created = sig->created; -+ signer.expires = sig->expires; -+ if (sig->expires == (time_t) 0) -+ signer.never_expires = true; -+#else - switch (sig->cert->trust) { - case GMIME_CERTIFICATE_TRUST_NONE: - signer.trust = "None"; -@@ -102,25 +141,28 @@ namespace pan - signer.status = "ERROR"; - break; - } -+#endif - - signer.created = sig->created; - signer.expires = sig->expires; - if (sig->expires == (time_t) 0) - signer.never_expires = true; - -- if (sig->errors) { -- -- if (sig->errors & GMIME_SIGNATURE_ERROR_EXPSIG) -- signer.error = "Expired"; -- if (sig->errors & GMIME_SIGNATURE_ERROR_NO_PUBKEY) -- signer.error = "No Pub Key"; -- if (sig->errors & GMIME_SIGNATURE_ERROR_EXPKEYSIG) -- signer.error = "Key Expired"; -- if (sig->errors & GMIME_SIGNATURE_ERROR_REVKEYSIG) -- signer.error = "Key Revoked"; -- } else { -- signer.error = "No errors for this signer"; -- } -+// https://developer.gnome.org/gmime/stable/gmime-changes-3-0.html -+// GMimeSignatureStatus and GMimeSignatureErrors have been merged into a single bitfield (GMimeSignatureStatus) ... -+// if (sig->errors) { -+ -+// if (sig->errors & GMIME_SIGNATURE_ERROR_EXPSIG) -+// signer.error = "Expired"; -+// if (sig->errors & GMIME_SIGNATURE_ERROR_NO_PUBKEY) -+// signer.error = "No Pub Key"; -+// if (sig->errors & GMIME_SIGNATURE_ERROR_EXPKEYSIG) -+// signer.error = "Key Expired"; -+// if (sig->errors & GMIME_SIGNATURE_ERROR_REVKEYSIG) -+// signer.error = "Key Revoked"; -+// } else { -+// signer.error = "No errors for this signer"; -+// } - - info.signers.push_back(signer); - } -@@ -128,11 +170,11 @@ namespace pan - - void init_gpg() - { -- gpg_ctx = g_mime_gpg_context_new (request_passwd, "gpg2"); -+// gpg_ctx = g_mime_gpg_context_new (request_passwd, "gpg2"); - if (!gpg_ctx) gpg_inited = false; else gpg_inited = true; -- g_mime_gpg_context_set_auto_key_retrieve(GMIME_GPG_CONTEXT(gpg_ctx),true); -- g_mime_gpg_context_set_always_trust(GMIME_GPG_CONTEXT(gpg_ctx),false); -- g_mime_gpg_context_set_use_agent(GMIME_GPG_CONTEXT(gpg_ctx), false); -+// g_mime_gpg_context_set_auto_key_retrieve(GMIME_GPG_CONTEXT(gpg_ctx),true); -+// g_mime_gpg_context_set_always_trust(GMIME_GPG_CONTEXT(gpg_ctx),false); -+// g_mime_gpg_context_set_use_agent(GMIME_GPG_CONTEXT(gpg_ctx), false); - } - - -diff --git a/pan/usenet-utils/mime-utils.cc b/pan/usenet-utils/mime-utils.cc -index 135f469..881df7b 100644 ---- a/pan/usenet-utils/mime-utils.cc -+++ b/pan/usenet-utils/mime-utils.cc -@@ -1634,12 +1634,20 @@ namespace pan - GMimeSignatureStatus - get_sig_status (GMimeSignatureList *signatures) - { -+#ifdef HAVE_GMIME_30 -+ GMimeSignatureStatus status = GMIME_SIGNATURE_STATUS_VALID; -+#else - GMimeSignatureStatus status = GMIME_SIGNATURE_STATUS_GOOD; -+#endif - GMimeSignature *sig; - int i; - - if (!signatures || signatures->array->len == 0) -+#ifdef HAVE_GMIME_30 -+ return GMIME_SIGNATURE_STATUS_SYS_ERROR; -+#else - return GMIME_SIGNATURE_STATUS_ERROR; -+#endif - - for (i = 0; i < g_mime_signature_list_length (signatures); i++) { - sig = g_mime_signature_list_get_signature (signatures, i); -@@ -1673,18 +1681,30 @@ namespace pan - - if (info.type == GPG_VERIFY) - { -+#ifdef HAVE_GMIME_30 -+ GMimeSignatureList * sigs = g_mime_multipart_signed_verify (mps, GMIME_VERIFY_NONE, &info.err); -+#else - GMimeSignatureList * sigs = g_mime_multipart_signed_verify (mps, gpg_ctx, &info.err); -+#endif - if (info.err || !sigs) return false; - if (sigs) info.no_sigs = false; - fill_signer_info(info.signers, sigs); -+#ifdef HAVE_GMIME_30 -+ bool status = get_sig_status(sigs) == GMIME_SIGNATURE_STATUS_VALID; -+#else - bool status = get_sig_status(sigs) == GMIME_SIGNATURE_STATUS_GOOD; -+#endif - g_object_unref(sigs); - return status; - } - - if (info.type == GPG_DECODE) - { -+#ifdef HAVE_GMIME_30 -+ info.decrypted = g_mime_multipart_encrypted_decrypt (mpe, GMIME_DECRYPT_NONE, NULL, &info.result, &info.err); -+#else - info.decrypted = g_mime_multipart_encrypted_decrypt (mpe, gpg_ctx, &info.result, &info.err); -+#endif - if (!info.decrypted) - if (info.err) return false; - -@@ -1693,7 +1713,11 @@ namespace pan - { - info.no_sigs = false; - fill_signer_info(info.signers, sigs); -+#ifdef HAVE_GMIME_30 -+ bool status = get_sig_status(info.result->signatures) == GMIME_SIGNATURE_STATUS_VALID; -+#else - bool status = get_sig_status(info.result->signatures) == GMIME_SIGNATURE_STATUS_GOOD; -+#endif - g_object_unref(sigs); - return status; - } -@@ -1722,7 +1746,13 @@ namespace pan - mps = g_mime_multipart_signed_new (); - - /* sign the part */ -+#ifdef HAVE_GMIME_30 -+ GMimeObject *gmo; -+ gmo = g_mime_message_get_mime_part (body); -+ if (g_mime_multipart_signed_sign (gpg_ctx, gmo, uid.c_str(), &err) <0) -+#else - if (g_mime_multipart_signed_sign (mps, GMIME_OBJECT (part), gpg_ctx, uid.c_str(), GMIME_DIGEST_ALGO_SHA1, &err) <0) -+#endif - { - g_object_unref(mps); - g_object_unref(G_OBJECT(part)); -@@ -1752,8 +1782,13 @@ namespace pan - - GMimeMultipartEncrypted * mpe = g_mime_multipart_encrypted_new(); - -+#ifdef HAVE_GMIME_30 -+ if (g_mime_multipart_encrypted_encrypt(gpg_ctx, GMIME_OBJECT (part), sign, uid.c_str(), -+ GMIME_ENCRYPT_NONE, rcp, &err) < 0) -+#else - if (g_mime_multipart_encrypted_encrypt(mpe, GMIME_OBJECT (part), gpg_ctx, sign, - uid.c_str(), GMIME_DIGEST_ALGO_SHA1, rcp, &err) < 0) -+#endif - { - g_object_unref(mpe); - g_object_unref(G_OBJECT(part)); diff --git a/source/xap/pan/patches/0002-50f6c43a698dcc0ba6b490c086a73eeedbdd8a80.patch b/source/xap/pan/patches/0002-50f6c43a698dcc0ba6b490c086a73eeedbdd8a80.patch deleted file mode 100644 index 02ed1b6e..00000000 --- a/source/xap/pan/patches/0002-50f6c43a698dcc0ba6b490c086a73eeedbdd8a80.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 50f6c43a698dcc0ba6b490c086a73eeedbdd8a80 Mon Sep 17 00:00:00 2001 -From: Detlef Graef <detlef.graef@yahoo.de> -Date: Fri, 19 Apr 2019 18:43:21 +0200 -Subject: [PATCH] Attempt to fix issue #77; segfault when build with gmime-3 - ---- - pan/general/utf8-utils.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/pan/general/utf8-utils.cc b/pan/general/utf8-utils.cc -index be79a13..58565cf 100644 ---- a/pan/general/utf8-utils.cc -+++ b/pan/general/utf8-utils.cc -@@ -135,13 +135,16 @@ pan :: header_to_utf8 (const StringView & header, - const char * fallback_charset1, - const char * fallback_charset2) - { -+ -+ GMimeParserOptions *gmpo = g_mime_parser_options_new(); - std::string s = content_to_utf8 (header, fallback_charset1, fallback_charset2); - if (header.strstr ("=?")) { -- char * decoded (g_mime_utils_header_decode_text (NULL, s.c_str())); -+ char * decoded (g_mime_utils_header_decode_text (gmpo, s.c_str())); - s = clean_utf8 (decoded); - g_free (decoded); - } - return s; -+ g_mime_parser_options_free (gmpo); - } - - #else diff --git a/source/xap/pan/patches/0003-ddcd5761075a6fb3ef7b768f004fa1e6663cb65e.patch b/source/xap/pan/patches/0003-ddcd5761075a6fb3ef7b768f004fa1e6663cb65e.patch deleted file mode 100644 index 5e3449d3..00000000 --- a/source/xap/pan/patches/0003-ddcd5761075a6fb3ef7b768f004fa1e6663cb65e.patch +++ /dev/null @@ -1,33 +0,0 @@ -From ddcd5761075a6fb3ef7b768f004fa1e6663cb65e Mon Sep 17 00:00:00 2001 -From: Detlef Graef <detlef.graef@yahoo.de> -Date: Fri, 26 Apr 2019 20:50:09 +0200 -Subject: [PATCH] Revert "Attempt to fix issue #77; segfault when build with - gmime-3" - -This reverts commit 50f6c43a698dcc0ba6b490c086a73eeedbdd8a80. ---- - pan/general/utf8-utils.cc | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/pan/general/utf8-utils.cc b/pan/general/utf8-utils.cc -index 58565cf..be79a13 100644 ---- a/pan/general/utf8-utils.cc -+++ b/pan/general/utf8-utils.cc -@@ -135,16 +135,13 @@ pan :: header_to_utf8 (const StringView & header, - const char * fallback_charset1, - const char * fallback_charset2) - { -- -- GMimeParserOptions *gmpo = g_mime_parser_options_new(); - std::string s = content_to_utf8 (header, fallback_charset1, fallback_charset2); - if (header.strstr ("=?")) { -- char * decoded (g_mime_utils_header_decode_text (gmpo, s.c_str())); -+ char * decoded (g_mime_utils_header_decode_text (NULL, s.c_str())); - s = clean_utf8 (decoded); - g_free (decoded); - } - return s; -- g_mime_parser_options_free (gmpo); - } - - #else diff --git a/source/xap/pan/patches/0004-476b5a62fcda711ce2d7412a310b8182cca6940e.patch b/source/xap/pan/patches/0004-476b5a62fcda711ce2d7412a310b8182cca6940e.patch deleted file mode 100644 index cc4788b4..00000000 --- a/source/xap/pan/patches/0004-476b5a62fcda711ce2d7412a310b8182cca6940e.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 476b5a62fcda711ce2d7412a310b8182cca6940e Mon Sep 17 00:00:00 2001 -From: Detlef Graef <detlef.graef@yahoo.de> -Date: Fri, 26 Apr 2019 20:59:54 +0200 -Subject: [PATCH] Fix for issue #77. Segfault when build with gmime-3 - ---- - pan/gui/pan.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/pan/gui/pan.cc b/pan/gui/pan.cc -index 8d28fdb..fb3a696 100644 ---- a/pan/gui/pan.cc -+++ b/pan/gui/pan.cc -@@ -906,6 +906,7 @@ main (int argc, char *argv[]) - g_thread_init (0); - #endif - #ifdef HAVE_GMIME_30 -+ g_mime_init (); - #else - g_mime_init (GMIME_ENABLE_RFC2047_WORKAROUNDS); - #endif |