diff -Nru gmime-3.0.1/debian/changelog gmime-3.0.1/debian/changelog --- gmime-3.0.1/debian/changelog 2017-07-05 22:07:28.000000000 +0000 +++ gmime-3.0.1/debian/changelog 2017-07-27 18:16:08.000000000 +0000 @@ -1,3 +1,11 @@ +gmime (3.0.1-3) unstable; urgency=medium + + * clean up gbp.conf + * include bugfixes and patches from upstream (Closes: #869736) + * no need for explicit use of autoreconf (already covered by dh 10) + + -- Daniel Kahn Gillmor Thu, 27 Jul 2017 14:16:08 -0400 + gmime (3.0.1-2) unstable; urgency=medium * move to unstable diff -Nru gmime-3.0.1/debian/control gmime-3.0.1/debian/control --- gmime-3.0.1/debian/control 2017-07-05 21:38:20.000000000 +0000 +++ gmime-3.0.1/debian/control 2017-07-27 18:16:08.000000000 +0000 @@ -7,9 +7,7 @@ Build-Depends: autoconf, automake, - autotools-dev, debhelper (>= 10~), - dh-autoreconf, dh-exec, docbook-utils, dpkg-dev (>= 1.17.14~), diff -Nru gmime-3.0.1/debian/gbp.conf gmime-3.0.1/debian/gbp.conf --- gmime-3.0.1/debian/gbp.conf 2017-04-28 21:33:50.000000000 +0000 +++ gmime-3.0.1/debian/gbp.conf 2017-07-27 18:14:17.000000000 +0000 @@ -1,6 +1,3 @@ -[DEFAULT] -debian-branch = experimental - [import-orig] filter = [ 'docs/reference/html/*', diff -Nru gmime-3.0.1/debian/patches/0005-Updated-gmime-part-encode-method-to-force-7bit-and-8.patch gmime-3.0.1/debian/patches/0005-Updated-gmime-part-encode-method-to-force-7bit-and-8.patch --- gmime-3.0.1/debian/patches/0005-Updated-gmime-part-encode-method-to-force-7bit-and-8.patch 1970-01-01 00:00:00.000000000 +0000 +++ gmime-3.0.1/debian/patches/0005-Updated-gmime-part-encode-method-to-force-7bit-and-8.patch 2017-07-27 18:15:20.000000000 +0000 @@ -0,0 +1,70 @@ +From: Jeffrey Stedfast +Date: Mon, 10 Jul 2017 14:55:20 -0400 +Subject: Updated gmime-part encode() method to force 7bit and 8bit to qp if + they contain from-lines + +(cherry picked from commit 1a0b2abdf9629d95f738a245107466875b3603be) +--- + gmime/gmime-part.c | 35 ++++++++++++++++++++++------------- + 1 file changed, 22 insertions(+), 13 deletions(-) + +diff --git a/gmime/gmime-part.c b/gmime/gmime-part.c +index 677bc98..ffa6c68 100644 +--- a/gmime/gmime-part.c ++++ b/gmime/gmime-part.c +@@ -432,18 +432,6 @@ mime_part_encode (GMimeObject *object, GMimeEncodingConstraint constraint) + GMimeFilter *filter; + + switch (part->encoding) { +- case GMIME_CONTENT_ENCODING_DEFAULT: +- /* Unspecified encoding, we need to figure out the +- * best encoding no matter what */ +- break; +- case GMIME_CONTENT_ENCODING_7BIT: +- /* This encoding is always safe. */ +- return; +- case GMIME_CONTENT_ENCODING_8BIT: +- /* This encoding is safe unless the constraint is 7bit. */ +- if (constraint != GMIME_ENCODING_CONSTRAINT_7BIT) +- return; +- break; + case GMIME_CONTENT_ENCODING_BINARY: + /* This encoding is only safe if the constraint is binary. */ + if (constraint == GMIME_ENCODING_CONSTRAINT_BINARY) +@@ -454,6 +442,8 @@ mime_part_encode (GMimeObject *object, GMimeEncodingConstraint constraint) + case GMIME_CONTENT_ENCODING_UUENCODE: + /* These encodings are always safe. */ + return; ++ default: ++ break; + } + + filter = g_mime_filter_best_new (GMIME_FILTER_BEST_ENCODING); +@@ -467,7 +457,26 @@ mime_part_encode (GMimeObject *object, GMimeEncodingConstraint constraint) + g_object_unref (stream); + + encoding = g_mime_filter_best_encoding ((GMimeFilterBest *) filter, constraint); +- g_mime_part_set_content_encoding (part, encoding); ++ ++ switch (part->encoding) { ++ case GMIME_CONTENT_ENCODING_DEFAULT: ++ g_mime_part_set_content_encoding (part, encoding); ++ break; ++ case GMIME_CONTENT_ENCODING_7BIT: ++ /* This encoding is generally safe, but we may need to encode From-lines. */ ++ if (((GMimeFilterBest *) filter)->hadfrom) ++ g_mime_part_set_content_encoding (part, GMIME_ENCODING_QUOTED_PRINTABLE); ++ break; ++ case GMIME_CONTENT_ENCODING_8BIT: ++ if (constraint == GMIME_ENCODING_CONSTRAINT_7BIT) ++ g_mime_part_set_content_encoding (part, encoding); ++ else if (((GMimeFilterBest *) filter)->hadfrom) ++ g_mime_part_set_content_encoding (part, GMIME_ENCODING_QUOTED_PRINTABLE); ++ break; ++ default: ++ break; ++ } ++ + g_object_unref (filter); + } + diff -Nru gmime-3.0.1/debian/patches/0006-Fixed-typo.patch gmime-3.0.1/debian/patches/0006-Fixed-typo.patch --- gmime-3.0.1/debian/patches/0006-Fixed-typo.patch 1970-01-01 00:00:00.000000000 +0000 +++ gmime-3.0.1/debian/patches/0006-Fixed-typo.patch 2017-07-27 18:15:20.000000000 +0000 @@ -0,0 +1,29 @@ +From: Jeffrey Stedfast +Date: Mon, 10 Jul 2017 14:59:50 -0400 +Subject: Fixed typo + +(cherry picked from commit 5a586bc4432f18682bb64eeba3c6d790cc0534a1) +--- + gmime/gmime-part.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gmime/gmime-part.c b/gmime/gmime-part.c +index ffa6c68..2177edb 100644 +--- a/gmime/gmime-part.c ++++ b/gmime/gmime-part.c +@@ -465,13 +465,13 @@ mime_part_encode (GMimeObject *object, GMimeEncodingConstraint constraint) + case GMIME_CONTENT_ENCODING_7BIT: + /* This encoding is generally safe, but we may need to encode From-lines. */ + if (((GMimeFilterBest *) filter)->hadfrom) +- g_mime_part_set_content_encoding (part, GMIME_ENCODING_QUOTED_PRINTABLE); ++ g_mime_part_set_content_encoding (part, GMIME_CONTENT_ENCODING_QUOTEDPRINTABLE); + break; + case GMIME_CONTENT_ENCODING_8BIT: + if (constraint == GMIME_ENCODING_CONSTRAINT_7BIT) + g_mime_part_set_content_encoding (part, encoding); + else if (((GMimeFilterBest *) filter)->hadfrom) +- g_mime_part_set_content_encoding (part, GMIME_ENCODING_QUOTED_PRINTABLE); ++ g_mime_part_set_content_encoding (part, GMIME_CONTENT_ENCODING_QUOTEDPRINTABLE); + break; + default: + break; diff -Nru gmime-3.0.1/debian/patches/0007-spelling-cleanup.patch gmime-3.0.1/debian/patches/0007-spelling-cleanup.patch --- gmime-3.0.1/debian/patches/0007-spelling-cleanup.patch 1970-01-01 00:00:00.000000000 +0000 +++ gmime-3.0.1/debian/patches/0007-spelling-cleanup.patch 2017-07-27 18:15:20.000000000 +0000 @@ -0,0 +1,298 @@ +From: Daniel Kahn Gillmor +Date: Thu, 13 Jul 2017 08:56:38 +0200 +Subject: spelling cleanup + +(cherry picked from commit f1f240ef0b281c71943bea2e56e857b928560876) +--- + PORTING | 4 ++-- + docs/reference/building.sgml | 2 +- + docs/reference/streams.sgml | 2 +- + docs/tutorial/gmime-tut.sgml | 4 ++-- + examples/basic-example.c | 2 +- + gmime/charset-map.c | 2 +- + gmime/gmime-application-pkcs7-mime.c | 10 +++++----- + gmime/gmime-charset.c | 2 +- + gmime/gmime-crypto-context.c | 2 +- + gmime/gmime-filter.c | 2 +- + gmime/gmime-message.c | 2 +- + gmime/gmime-multipart-encrypted.c | 6 +++--- + gmime/gmime-multipart-signed.c | 4 ++-- + gmime/gmime-utils.c | 2 +- + util/url-scanner.c | 2 +- + 15 files changed, 24 insertions(+), 24 deletions(-) + +diff --git a/PORTING b/PORTING +index 80de6d9..d491dcb 100644 +--- a/PORTING ++++ b/PORTING +@@ -1,6 +1,6 @@ + It is my intention to make migrating code using one version of GMime + to another as easy as I can and so for the most part, I will try not +-to break API/ABI compatability between versions, however this isn't ++to break API/ABI compatibility between versions, however this isn't + always easy to do. + + This document is intended to help developers port their application(s) +@@ -104,7 +104,7 @@ Porting from GMime 2.6 to GMime 3.0 + detach argument. + + - g_mime_crypto_context_decrypt_session() has been merged with +- g_mime_crypto_context_decrypt() and so the decryot method now takes a session_key ++ g_mime_crypto_context_decrypt() and so the decrypt method now takes a session_key + argument that is allowed to be NULL. + + - g_mime_crypto_context_verify() no longer takes a 'digest' argument. +diff --git a/docs/reference/building.sgml b/docs/reference/building.sgml +index 2cf25f5..712d36f 100644 +--- a/docs/reference/building.sgml ++++ b/docs/reference/building.sgml +@@ -155,7 +155,7 @@ + + + +- GMime depends on the existance of two (2) libraries: GLib and iconv. ++ GMime depends on the existence of two (2) libraries: GLib and iconv. + + + +diff --git a/docs/reference/streams.sgml b/docs/reference/streams.sgml +index f3ae793..88c39fc 100644 +--- a/docs/reference/streams.sgml ++++ b/docs/reference/streams.sgml +@@ -49,7 +49,7 @@ + GMimeObject (for example) will require. + + GMimeStreamMmap is a memory-mapped stream. This isn't +- guarenteed to work on all systems since not all systems support ++ guaranteed to work on all systems since not all systems support + the POSIX mmap system call, but for those that do - this might + present a faster stream than GMimeStreamFs and/or + GMimeStreamFile. You'll have to do some experimentation to know +diff --git a/docs/tutorial/gmime-tut.sgml b/docs/tutorial/gmime-tut.sgml +index bfde37c..52a5226 100644 +--- a/docs/tutorial/gmime-tut.sgml ++++ b/docs/tutorial/gmime-tut.sgml +@@ -119,7 +119,7 @@ url="http://library.gnome.org/devel/gmime/stable/gmime-building.html">http://lib + + Before we get too deep into using GMime, it is important + to understand how to use the underlying I/O classes since GMime +- is so very heavily dependant upon them. ++ is so very heavily dependent upon them. + + If you've looked at the API at all already, you will have + probably noticed that the stream functions work very much like +@@ -547,7 +547,7 @@ void g_mime_stream_buffer_readln (GMimeStream *stream, GByteArray *buffer); + + GMimeFilterUnix2Dos will likely become very useful to you if + you are implementing any internet standards or DOS/UNIX +- compatability. This filter is meant for converting line endings ++ compatibility. This filter is meant for converting line endings + from the traditional UNIX sequence (LF) to the internet standard + (and DOS) sequence. There's also a GMimeFilterDos2Unix to perform + the opposite conversion. +diff --git a/examples/basic-example.c b/examples/basic-example.c +index cdfc91a..87f8649 100644 +--- a/examples/basic-example.c ++++ b/examples/basic-example.c +@@ -148,7 +148,7 @@ verify_foreach_callback (GMimeObject *parent, GMimeObject *part, gpointer user_d + int i; + + if (!(signatures = g_mime_multipart_signed_verify (mps, GMIME_VERIFY_NONE, &err))) { +- /* an error occured - probably couldn't start gpg? */ ++ /* an error occurred - probably couldn't start gpg? */ + + /* for more information about GError, see: + * http://developer.gnome.org/doc/API/2.0/glib/glib-Error-Reporting.html +diff --git a/gmime/charset-map.c b/gmime/charset-map.c +index f616d45..a610914 100644 +--- a/gmime/charset-map.c ++++ b/gmime/charset-map.c +@@ -120,7 +120,7 @@ int main (int argc, char **argv) + int bytes; + int j, k; + +- /* dont count the terminator */ ++ /* don't count the terminator */ + bytes = ((sizeof (tables) / sizeof (tables[0])) + 7 - 1) / 8; + g_assert (bytes <= 4); + +diff --git a/gmime/gmime-application-pkcs7-mime.c b/gmime/gmime-application-pkcs7-mime.c +index 74db382..a404326 100644 +--- a/gmime/gmime-application-pkcs7-mime.c ++++ b/gmime/gmime-application-pkcs7-mime.c +@@ -226,7 +226,7 @@ g_mime_application_pkcs7_mime_decompress (GMimeApplicationPkcs7Mime *pkcs7_mime, + * + * Returns: (nullable) (transfer full): a new #GMimeApplicationPkcs7Mime object on success + * or %NULL on fail. If encrypting fails, an exception will be set on @err to provide +- * information as to why the failure occured. ++ * information as to why the failure occurred. + **/ + GMimeApplicationPkcs7Mime * + g_mime_application_pkcs7_mime_encrypt (GMimeObject *entity, GMimeEncryptFlags flags, GPtrArray *recipients, GError **err) +@@ -296,7 +296,7 @@ g_mime_application_pkcs7_mime_encrypt (GMimeObject *entity, GMimeEncryptFlags fl + * + * When non-%NULL, @session_key should be a %NULL-terminated string, + * such as the one returned by g_mime_decrypt_result_get_session_key() +- * from a previous decryption. If the @sesion_key is not valid, decryption ++ * from a previous decryption. If the @session_key is not valid, decryption + * will fail. + * + * If @result is non-%NULL, then on a successful decrypt operation, it will be +@@ -306,7 +306,7 @@ g_mime_application_pkcs7_mime_encrypt (GMimeObject *entity, GMimeEncryptFlags fl + * + * Returns: (nullable) (transfer full): the decrypted MIME part on success or + * %NULL on fail. If the decryption fails, an exception will be set on +- * @err to provide information as to why the failure occured. ++ * @err to provide information as to why the failure occurred. + **/ + GMimeObject * + g_mime_application_pkcs7_mime_decrypt (GMimeApplicationPkcs7Mime *pkcs7_mime, +@@ -397,7 +397,7 @@ g_mime_application_pkcs7_mime_decrypt (GMimeApplicationPkcs7Mime *pkcs7_mime, + * + * Returns: (nullable) (transfer full): a new #GMimeApplicationPkcs7Mime object on success + * or %NULL on fail. If signing fails, an exception will be set on @err to provide +- * information as to why the failure occured. ++ * information as to why the failure occurred. + **/ + GMimeApplicationPkcs7Mime * + g_mime_application_pkcs7_mime_sign (GMimeObject *entity, const char *userid, GError **err) +@@ -468,7 +468,7 @@ g_mime_application_pkcs7_mime_sign (GMimeObject *entity, const char *userid, GEr + * Returns: (nullable) (transfer full): a new #GMimeSignatureList object on + * success or %NULL on fail. If the verification fails, an exception + * will be set on @err to provide information as to why the failure +- * occured. ++ * occurred. + **/ + GMimeSignatureList * + g_mime_application_pkcs7_mime_verify (GMimeApplicationPkcs7Mime *pkcs7_mime, GMimeVerifyFlags flags, GMimeObject **entity, GError **err) +diff --git a/gmime/gmime-charset.c b/gmime/gmime-charset.c +index e77bcb5..dac7090 100644 +--- a/gmime/gmime-charset.c ++++ b/gmime/gmime-charset.c +@@ -103,7 +103,7 @@ static struct { + /* Note: according to http://www.iana.org/assignments/character-sets, + * ks_c_5601-1987 should really map to ISO-2022-KR, but the EUC-KR + * mapping was given to me via a native Korean user, so I'm not sure +- * if I should change this... perhaps they are compatable? */ ++ * if I should change this... perhaps they are compatible? */ + { "ks_c_5601-1987", "EUC-KR" }, + { "5601", "EUC-KR" }, + { "ksc-5601", "EUC-KR" }, +diff --git a/gmime/gmime-crypto-context.c b/gmime/gmime-crypto-context.c +index 16ca934..cb7364c 100644 +--- a/gmime/gmime-crypto-context.c ++++ b/gmime/gmime-crypto-context.c +@@ -488,7 +488,7 @@ crypto_decrypt (GMimeCryptoContext *ctx, GMimeDecryptFlags flags, const char *se + * + * When non-%NULL, @session_key should be a %NULL-terminated string, + * such as the one returned by g_mime_decrypt_result_get_session_key() +- * from a previous decryption. If the @sesion_key is not valid, decryption ++ * from a previous decryption. If the @session_key is not valid, decryption + * will fail. + * + * If the encrypted input stream was also signed, the returned +diff --git a/gmime/gmime-filter.c b/gmime/gmime-filter.c +index e43e470..121204d 100644 +--- a/gmime/gmime-filter.c ++++ b/gmime/gmime-filter.c +@@ -170,7 +170,7 @@ filter_run (GMimeFilter *filter, char *inbuf, size_t inlen, size_t prespace, + size_t newlen = inlen + prespace + filter->backlen; + + if (p->inlen < newlen) { +- /* NOTE: g_realloc copies data, we dont need that (slower) */ ++ /* NOTE: g_realloc copies data, we don't need that (slower) */ + g_free (p->inbuf); + p->inbuf = g_malloc (newlen + PRE_HEAD); + p->inlen = newlen + PRE_HEAD; +diff --git a/gmime/gmime-message.c b/gmime/gmime-message.c +index e30da0e..eabef24 100644 +--- a/gmime/gmime-message.c ++++ b/gmime/gmime-message.c +@@ -1140,7 +1140,7 @@ multipart_guess_body (GMimeMultipart *multipart) + * Returns: (transfer none): a #GMimeObject containing the textual + * content that appears to be the main body of the message. + * +- * Note: This function is NOT guarenteed to always work as it ++ * Note: This function is NOT guaranteed to always work as it + * makes some assumptions that are not necessarily true. It is + * recommended that you traverse the MIME structure yourself. + **/ +diff --git a/gmime/gmime-multipart-encrypted.c b/gmime/gmime-multipart-encrypted.c +index 97c84db..a418fc2 100644 +--- a/gmime/gmime-multipart-encrypted.c ++++ b/gmime/gmime-multipart-encrypted.c +@@ -153,7 +153,7 @@ g_mime_multipart_encrypted_new (void) + * + * Returns: (nullable) (transfer full): a new #GMimeMultipartEncrypted object on success + * or %NULL on fail. If encrypting fails, an exception will be set on @err to provide +- * information as to why the failure occured. ++ * information as to why the failure occurred. + **/ + GMimeMultipartEncrypted * + g_mime_multipart_encrypted_encrypt (GMimeCryptoContext *ctx, GMimeObject *entity, gboolean sign, const char *userid, +@@ -246,7 +246,7 @@ g_mime_multipart_encrypted_encrypt (GMimeCryptoContext *ctx, GMimeObject *entity + * + * When non-%NULL, @session_key should be a %NULL-terminated string, + * such as the one returned by g_mime_decrypt_result_get_session_key() +- * from a previous decryption. If the @sesion_key is not valid, decryption ++ * from a previous decryption. If the @session_key is not valid, decryption + * will fail. + * + * If @result is non-%NULL, then on a successful decrypt operation, it will be +@@ -256,7 +256,7 @@ g_mime_multipart_encrypted_encrypt (GMimeCryptoContext *ctx, GMimeObject *entity + * + * Returns: (nullable) (transfer full): the decrypted MIME part on success or + * %NULL on fail. If the decryption fails, an exception will be set on +- * @err to provide information as to why the failure occured. ++ * @err to provide information as to why the failure occurred. + **/ + GMimeObject * + g_mime_multipart_encrypted_decrypt (GMimeMultipartEncrypted *encrypted, GMimeDecryptFlags flags, +diff --git a/gmime/gmime-multipart-signed.c b/gmime/gmime-multipart-signed.c +index 5913c10..ab54a43 100644 +--- a/gmime/gmime-multipart-signed.c ++++ b/gmime/gmime-multipart-signed.c +@@ -206,7 +206,7 @@ sign_prepare (GMimeObject *mime_part) + * + * Returns: (nullable) (transfer full): a new #GMimeMultipartSigned object on success + * or %NULL on fail. If signing fails, an exception will be set on @err to provide +- * information as to why the failure occured. ++ * information as to why the failure occurred. + **/ + GMimeMultipartSigned * + g_mime_multipart_signed_sign (GMimeCryptoContext *ctx, GMimeObject *entity, +@@ -365,7 +365,7 @@ check_protocol_supported (const char *protocol, const char *supported) + * Returns: (nullable) (transfer full): a new #GMimeSignatureList object on + * success or %NULL on fail. If the verification fails, an exception + * will be set on @err to provide information as to why the failure +- * occured. ++ * occurred. + **/ + GMimeSignatureList * + g_mime_multipart_signed_verify (GMimeMultipartSigned *mps, GMimeVerifyFlags flags, GError **err) +diff --git a/gmime/gmime-utils.c b/gmime/gmime-utils.c +index 2742e1b..5046d8c 100644 +--- a/gmime/gmime-utils.c ++++ b/gmime/gmime-utils.c +@@ -1819,7 +1819,7 @@ rfc2047_decode_tokens (GMimeParserOptions *options, rfc2047_token *tokens, size_ + + /* convert the raw decoded text into UTF-8 */ + if (!g_ascii_strcasecmp (charset, "UTF-8")) { +- /* slight optimization over going thru iconv */ ++ /* slight optimization over going through iconv */ + str = (char *) outptr; + len = outlen; + +diff --git a/util/url-scanner.c b/util/url-scanner.c +index 3457019..4a56c7c 100644 +--- a/util/url-scanner.c ++++ b/util/url-scanner.c +@@ -557,7 +557,7 @@ url_scanner_table_init (void) + + /* not defined to be special in rfc0822, but when scanning + backwards to find the beginning of the email address we do +- not want to include this char if we come accross it - so ++ not want to include this char if we come across it - so + this is kind of a hack, but it's ok */ + url_scanner_table['/'] |= IS_SPECIAL; + diff -Nru gmime-3.0.1/debian/patches/0008-PORTING-No-way-to-explicitly-set-the-path-to-gpg-as-.patch gmime-3.0.1/debian/patches/0008-PORTING-No-way-to-explicitly-set-the-path-to-gpg-as-.patch --- gmime-3.0.1/debian/patches/0008-PORTING-No-way-to-explicitly-set-the-path-to-gpg-as-.patch 1970-01-01 00:00:00.000000000 +0000 +++ gmime-3.0.1/debian/patches/0008-PORTING-No-way-to-explicitly-set-the-path-to-gpg-as-.patch 2017-07-27 18:15:20.000000000 +0000 @@ -0,0 +1,48 @@ +From: Daniel Kahn Gillmor +Date: Wed, 12 Jul 2017 20:50:58 -0400 +Subject: PORTING: No way to explicitly set the path to gpg as of gmime 3.0 +MIME-Version: 1.0 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: 8bit + +As of version 3.0, gmime is unable to explicitly set the path to the +gpg executable. in 2.6, it was possible to do so explicitly when +invoking g_mime_gpg_context_new(). + +This is a good thing, since The Defaults Should Be Correctâ„¢ :) + +It also acknowledges that different branches of gpg are really not +actually effectively co-installable (that is, that they can't be used +against the same homedir in a way that is usable). + +Furthermore, end users can still effectively select an installed +version of GnuPG by setting $PATH properly, as long as the installed +binary is named "gpg" in whatever directory it's located in. + +However, this is a change in functionality between versions, so i +figure it's worth documenting it as something users need to think +about. For example, when building notmuch against gmime 3.0, we'll +need to ensure that the "crypto.gpg_path" configuration option is +explicitly deprecated. + +(cherry picked from commit 80e7e96e26c1f0fe44b9a0237210f4d1298817c5) +--- + PORTING | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/PORTING b/PORTING +index d491dcb..69106cf 100644 +--- a/PORTING ++++ b/PORTING +@@ -92,6 +92,11 @@ Porting from GMime 2.6 to GMime 3.0 + + - Removed g_mime_gpg_context_[get,set]_auto_key_retrieve(). + ++- When using GMimeGpgContext, there is no longer a way to explicitly ++ set the path to the "gpg" executable. Of course, users can still ++ use the $PATH environment variable to select any executable named ++ "gpg" as always. ++ + - Removed g_mime_crypto_context_[get,set]_retrieve_session_key(). This is now handled by + passing GMIME_DECRYPT_EXPORT_SESSION_KEY to the g_mime_crypto_context_decrypt() + method. diff -Nru gmime-3.0.1/debian/patches/0009-Fixed-infinite-loop-in-address-parser-w-malformed-do.patch gmime-3.0.1/debian/patches/0009-Fixed-infinite-loop-in-address-parser-w-malformed-do.patch --- gmime-3.0.1/debian/patches/0009-Fixed-infinite-loop-in-address-parser-w-malformed-do.patch 1970-01-01 00:00:00.000000000 +0000 +++ gmime-3.0.1/debian/patches/0009-Fixed-infinite-loop-in-address-parser-w-malformed-do.patch 2017-07-27 18:15:20.000000000 +0000 @@ -0,0 +1,33 @@ +From: Jeffrey Stedfast +Date: Thu, 27 Jul 2017 06:24:11 -0400 +Subject: Fixed infinite loop in address parser w/ malformed domain literal + +(cherry picked from commit b29c54cdf44e0043c82b4408452f051933e4b956) +--- + gmime/gmime-parse-utils.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/gmime/gmime-parse-utils.c b/gmime/gmime-parse-utils.c +index 43c6f70..4ade524 100644 +--- a/gmime/gmime-parse-utils.c ++++ b/gmime/gmime-parse-utils.c +@@ -354,7 +354,7 @@ decode_subliteral (const char **in, GString *domain) + inptr++; + got = TRUE; + } else if (is_lwsp (*inptr)) { +- skip_cfws (&inptr); ++ skip_lwsp (&inptr); + } else { + break; + } +@@ -417,8 +417,9 @@ g_mime_decode_domain (const char **in, GString *domain) + if (*inptr == ']') { + g_string_append_c (domain, ']'); + inptr++; +- } else ++ } else { + w(g_warning ("Missing ']' in domain-literal: %s", *in)); ++ } + } else { + if (!(atom = decode_atom (&inptr))) { + w(g_warning ("Unexpected char '%c' in domain: %s", *inptr, *in)); diff -Nru gmime-3.0.1/debian/patches/series gmime-3.0.1/debian/patches/series --- gmime-3.0.1/debian/patches/series 2017-07-05 21:30:34.000000000 +0000 +++ gmime-3.0.1/debian/patches/series 2017-07-27 18:15:20.000000000 +0000 @@ -2,3 +2,8 @@ 0002-Improved-docs.patch 0003-Reduced-unnecessary-allocation.patch 0004-Fixed-docs-thanks-to-Peter-Bloomfield-s-critical-eye.patch +0005-Updated-gmime-part-encode-method-to-force-7bit-and-8.patch +0006-Fixed-typo.patch +0007-spelling-cleanup.patch +0008-PORTING-No-way-to-explicitly-set-the-path-to-gpg-as-.patch +0009-Fixed-infinite-loop-in-address-parser-w-malformed-do.patch diff -Nru gmime-3.0.1/debian/rules gmime-3.0.1/debian/rules --- gmime-3.0.1/debian/rules 2017-04-28 21:33:50.000000000 +0000 +++ gmime-3.0.1/debian/rules 2017-07-27 18:16:08.000000000 +0000 @@ -16,4 +16,4 @@ $(CONFIGURE_MONO_FLAGS) %: - dh $@ --with=autoreconf,gir + dh $@ --with=gir