Hello community,

here is the log from the commit of package getmail for openSUSE:Factory checked 
in at 2017-06-08 15:03:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/getmail (Old)
 and      /work/SRC/openSUSE:Factory/.getmail.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "getmail"

Thu Jun  8 15:03:18 2017 rev:21 rq:501657 version:4.54.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/getmail/getmail.changes  2014-10-09 
12:52:52.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.getmail.new/getmail.changes     2017-06-08 
15:03:22.315900366 +0200
@@ -1,0 +2,57 @@
+Sun Apr 30 13:56:49 UTC 2017 - [email protected]
+
+- added obs-service verify_file
+
+- Version bump to 4.54.0
+  * fix error running getmail_fetch introduced in 4.53.0.
+
+- Changes from 4.53.0
+  * fix plaintext version of docs not generated correctly.
+  * fix `getmail --fingerprint` not logging server TLS fingerprint correctly
+    with SimplePOP3SSLRetriever.
+
+- Changes from 4.52.0
+  * add `ignore_header_shrinkage` parameter to Filter_external for users who
+    know it is normal for their particular filter to result in a smaller 
message
+    header than the source message, for example when the filter encapsulates
+    the original message in a simpler wrapper message.
+  * EXPERIMENTAL: when deleting a message from an IMAP mailbox, set the \Seen 
+    flag in addition to the the \Deleted flag.  This apparently prevents 
+    the ever-innovatively-broken MSExchange from sending a spurious incorrect 
+    disposition-notification message to the sender of the message.  I do not 
+    know if this will cause problems with other broken IMAP server 
+    implementations; please send a report to the getmail-user's mailing list if
+    you see odd behaviour with this change.
+  * enable socket timeouts for IMAP SSL classes by default.  They were disabled
+    in the code because they were incompatible with SSL in older versions of 
+    Python.  If you see problems with Python 2.6 or 2.7 now, please let me 
know.
+    
+- Changes from 4.51.0
+  * fix exception when using MDA_External and an IMAP mailbox whose name 
+    contains non-ASCII chars.
+
+- Changes from 4.50.0
+  * maybe fix handling of OSX keychain passwords containing double-quote chars.
+  * fix getmail erroring out on IMAP folders containing i18n chars.
+
+- Changes from 4.49.0
+  * make IMAP class only issue EXPUNGE command on mailbox close if we have
+    actually deleted any messages from the open mailbox.  Makes use of 
read-only
+    IMAP folders possible.
+
+- Changes from 4.48.0
+  * work around brain-damaged change in Python's poplib which causes 
+    message retrieval errors if any line of a message has more than
+    2048 characters in it.
+  * restore link to moved Marc mailing list archive.
+
+- Changes from 4.47.0
+  * try to work around pathological breakage in one random POP server 
+    implementation.
+  * remove dead marc.theaimsgroup.com list archive from docs.
+  * bugfix: if you combined IMAP IDLE mode with delete_after, getmail would, 
+    after remaining connected to the server for the number of days configured,
+    begin deleting messages immediately after retrieval instead of after the
+    configured delay.  Now fixed.
+
+-------------------------------------------------------------------

Old:
----
  getmail-4.46.0.tar.gz

New:
----
  _service
  getmail-4.54.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ getmail.spec ++++++
--- /var/tmp/diff_new_pack.XQoXOF/_old  2017-06-08 15:03:23.055795945 +0200
+++ /var/tmp/diff_new_pack.XQoXOF/_new  2017-06-08 15:03:23.059795380 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package getmail
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           getmail
-Version:        4.46.0
+Version:        4.54.0
 Release:        0
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Url:            http://pyropus.ca/software/getmail/

++++++ _service ++++++
<services>
<service name="verify_file" mode="localonly">
  <param name="verifier">sha256</param>
  <param 
name="checksum">d45657945353c68785b106dd9c5fae6bc2cec8f99fbb202d9dddd4967f483a65</param>
  <param name="file">getmail-4.54.0.tar.gz</param>
</service>
</services>
++++++ getmail-4.46.0.tar.gz -> getmail-4.54.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/PKG-INFO new/getmail-4.54.0/PKG-INFO
--- old/getmail-4.46.0/PKG-INFO 2014-04-07 05:25:59.000000000 +0200
+++ new/getmail-4.54.0/PKG-INFO 2017-02-19 19:08:50.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: getmail
-Version: 4.46.0
+Version: 4.54.0
 Summary: a mail retrieval, sorting, and delivering system
 Home-page: http://pyropus.ca/software/getmail/
 Author: Charles Cazabon
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/docs/CHANGELOG 
new/getmail-4.54.0/docs/CHANGELOG
--- old/getmail-4.46.0/docs/CHANGELOG   2014-04-07 05:24:46.000000000 +0200
+++ new/getmail-4.54.0/docs/CHANGELOG   2017-02-19 19:08:34.000000000 +0100
@@ -1,3 +1,68 @@
+Version 4.54.0
+19 February 2017
+    -fix error running getmail_fetch introduced in 4.53.0.  Thanks: "fsckd".
+
+Version 4.53.0
+15 January 2017
+    -fix plaintext version of docs not generated correctly.  Thanks: Elijah.
+    -fix `getmail --fingerprint` not logging server TLS fingerprint correctly
+    with SimplePOP3SSLRetriever.  Thanks: Gabriel Kihlman.
+
+Version 4.52.0
+22 October 2016
+    -add `ignore_header_shrinkage` parameter to Filter_external for users who
+    know it is normal for their particular filter to result in a smaller 
message
+    header than the source message, for example when the filter encapsulates
+    the original message in a simpler wrapper message.  Thanks: "RW", 
+    Tristan Miller, Francesco Ariis.
+    -EXPERIMENTAL: when deleting a message from an IMAP mailbox, set the \Seen 
+    flag in addition to the the \Deleted flag.  This apparently prevents 
+    the ever-innovatively-broken MSExchange from sending a spurious incorrect 
+    disposition-notification message to the sender of the message.  I do not 
+    know if this will cause problems with other broken IMAP server 
+    implementations; please send a report to the getmail-user's mailing list if
+    you see odd behaviour with this change.  Thanks: John Hein.
+    -enable socket timeouts for IMAP SSL classes by default.  They were 
disabled
+    in the code because they were incompatible with SSL in older versions of 
+    Python.  If you see problems with Python 2.6 or 2.7 now, please let me 
know.
+    
+Version 4.51.0
+11 September 2016
+    -fix exception when using MDA_External and an IMAP mailbox whose name 
+    contains non-ASCII chars.  Thanks:  "drtmk".
+
+Version 4.50.0
+11 July 2016
+    -maybe fix handling of OSX keychain passwords containing double-quote 
chars.
+    Thanks: Teddy Wing, Patrick Asselman.
+    -fix getmail erroring out on IMAP folders containing i18n chars.  
+    Thanks: Jan Stühler.
+
+    Version 4.49.0
+13 January 2016
+    -make IMAP class only issue EXPUNGE command on mailbox close if we have
+    actually deleted any messages from the open mailbox.  Makes use of 
read-only
+    IMAP folders possible.  Thanks: Zoltan Padrah.
+
+Version 4.48.0
+31 May 2015
+    -work around brain-damaged change in Python's poplib which causes 
+   message retrieval errors if any line of a message has more than
+   2048 characters in it.
+    -restore link to moved Marc mailing list archive.  Thanks:  
+    David J. Weller-Fahy.
+
+Version 4.47.0
+25 February 2015
+    -try to work around pathological breakage in one random POP server 
+    implementation.  Thanks: Michael Thomas Kockmeyer.
+    -remove dead marc.theaimsgroup.com list archive from docs.  Thanks:
+    Miroslav Rovis.
+    -bugfix: if you combined IMAP IDLE mode with delete_after, getmail would, 
+    after remaining connected to the server for the number of days configured,
+    begin deleting messages immediately after retrieval instead of after the
+    configured delay.  Now fixed.  Thanks: Johannes Weißl.
+
 Version 4.46.0
 6 April 2014
     -fix --idle checking Python version incorrectly, resulting in incorrect 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/docs/configuration.html 
new/getmail-4.54.0/docs/configuration.html
--- old/getmail-4.46.0/docs/configuration.html  2014-04-07 05:25:56.000000000 
+0200
+++ new/getmail-4.54.0/docs/configuration.html  2017-02-19 19:08:45.000000000 
+0100
@@ -616,8 +616,9 @@
     <li>
         move_on_delete
         (<a href="#parameter-string">string</a>)
-        &mdash; if set, messages are moved to the named mail folder before 
being
-        deleted from their original location.  Note that if you configure
+        &mdash; if set, messages are moved to the named IMAP mail folder 
before 
+        being deleted from their original location.  The specified mail folder
+        must exist; getmail will not create it.  Note that if you configure
         getmail not to delete retrieved messages (the default behaviour), they
         will not be moved at all.
     </li>
@@ -2729,6 +2730,18 @@
         for definition.
     </li>
     <li>
+        ignore_header_shrinkage
+        (<a href="#parameter-boolean">boolean</a>)
+        &mdash; by default, getmail will warn if a filtered message's header
+        contains fewer fields than the source message had, to warn you if your
+        filter is unexpectedly deleting information from messages it handles.
+        If you know your filter can legitimately produce a message with a 
+        shorter header (such as if it encapsulates the original message), 
+        set this option to disable the warning.  <b>Do not simply set this
+        if you see the warning; you must understand whether your filter is
+        operating correctly or not before you use this</b>.
+    </li>
+    <li>
         ignore_stderr
         (<a href="#parameter-boolean">boolean</a>)
         &mdash; see
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/docs/configuration.txt 
new/getmail-4.54.0/docs/configuration.txt
--- old/getmail-4.46.0/docs/configuration.txt   2014-04-07 05:25:56.000000000 
+0200
+++ new/getmail-4.54.0/docs/configuration.txt   2017-02-19 19:08:46.000000000 
+0100
@@ -388,9 +388,10 @@
        if PEEK is not used to retrieve the message content. Versions of
        getmail prior to 4.26.0 did not use PEEK to retrieve messages.
      * move_on_delete (string) — if set, messages are moved to the named
-       mail folder before being deleted from their original location. Note
-       that if you configure getmail not to delete retrieved messages (the
-       default behaviour), they will not be moved at all.
+       IMAP mail folder before being deleted from their original location.
+       The specified mail folder must exist; getmail will not create it.
+       Note that if you configure getmail not to delete retrieved messages
+       (the default behaviour), they will not be moved at all.
      * use_kerberos (boolean) — whether to use Kerberos authentication
        with the IMAP server. If not set, normal password-based
        authenticaion is used. Note that when you use Kerberos
@@ -1438,6 +1439,15 @@
      * group (string) — see Filter_classifier for definition.
      * allow_root_commands (boolean) — see Filter_classifier for
        definition.
+     * ignore_header_shrinkage (boolean) — by default, getmail will warn
+       if a filtered message's header contains fewer fields than the
+       source message had, to warn you if your filter is unexpectedly
+       deleting information from messages it handles. If you know your
+       filter can legitimately produce a message with a shorter header
+       (such as if it encapsulates the original message), set this option
+       to disable the warning. Do not simply set this if you see the
+       warning; you must understand whether your filter is operating
+       correctly or not before you use this.
      * ignore_stderr (boolean) — see Filter_classifier for definition.
      * exitcodes_drop (tuple of integers) — see Filter_classifier for
        definition.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/docs/documentation.html 
new/getmail-4.54.0/docs/documentation.html
--- old/getmail-4.46.0/docs/documentation.html  2014-04-07 05:25:56.000000000 
+0200
+++ new/getmail-4.54.0/docs/documentation.html  2017-02-19 19:08:45.000000000 
+0100
@@ -717,8 +717,8 @@
 <h4 id="mailing-list-users-archive">Archives of the getmail-users' mailing 
list</h4>
 <p>
     There are browsable archives of the list at
-    <a href="http://marc.theaimsgroup.com/?l=getmail&amp;r=1&amp;w=2";>
-        http://marc.theaimsgroup.com/?l=getmail&amp;r=1&amp;w=2
+    <a href="https://marc.info/?l=getmail";>
+        https://marc.info/?l=getmail
     </a>
     and
     <a href="http://news.gmane.org/gmane.mail.getmail.user";>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/docs/documentation.txt 
new/getmail-4.54.0/docs/documentation.txt
--- old/getmail-4.46.0/docs/documentation.txt   2014-04-07 05:25:56.000000000 
+0200
+++ new/getmail-4.54.0/docs/documentation.txt   2017-02-19 19:08:46.000000000 
+0100
@@ -403,7 +403,7 @@
 Archives of the getmail-users' mailing list
 
    There are browsable archives of the list at
-   http://marc.theaimsgroup.com/?l=getmail&r=1&w=2 and
+   https://marc.info/?l=getmail and
    http://news.gmane.org/gmane.mail.getmail.user . The GMANE getmail
    users' archive is also available via NNTP if you prefer to read it with
    a newsreader, rather than a web browser.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/docs/faq.html 
new/getmail-4.54.0/docs/faq.html
--- old/getmail-4.46.0/docs/faq.html    2014-04-07 05:25:56.000000000 +0200
+++ new/getmail-4.54.0/docs/faq.html    2017-02-19 19:08:45.000000000 +0100
@@ -1424,7 +1424,7 @@
 <p>
     See the following mailing list message from Frankye Fattarelli for
     additional notes on using ClamAV with getmail:
-    <a 
href="http://marc.theaimsgroup.com/?l=getmail&amp;m=109128345509273&amp;w=2";>http://marc.theaimsgroup.com/?l=getmail&amp;m=109128345509273&amp;w=2</a>
+    <a 
href="https://marc.info/?l=getmail&amp;m=109128345509273&amp;w=2";>https://marc.info/?l=getmail&amp;m=109128345509273&amp;w=2</a>
 </p>
 
 <h4 id="faq-integrating-clamav-prettier">Getting prettier output from 
ClamAV</h4>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/docs/faq.txt 
new/getmail-4.54.0/docs/faq.txt
--- old/getmail-4.46.0/docs/faq.txt     2014-04-07 05:25:56.000000000 +0200
+++ new/getmail-4.54.0/docs/faq.txt     2017-02-19 19:08:46.000000000 +0100
@@ -954,7 +954,7 @@
 
    See the following mailing list message from Frankye Fattarelli for
    additional notes on using ClamAV with getmail:
-   http://marc.theaimsgroup.com/?l=getmail&m=109128345509273&w=2
+   https://marc.info/?l=getmail&m=109128345509273&w=2
 
 Getting prettier output from ClamAV
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/getmail new/getmail-4.54.0/getmail
--- old/getmail-4.46.0/getmail  2014-04-07 05:24:46.000000000 +0200
+++ new/getmail-4.54.0/getmail  2016-09-11 17:30:41.000000000 +0200
@@ -159,14 +159,15 @@
             for mailbox in retriever.mailboxes:
                 if mailbox:
                     # For POP this is None and uninteresting
-                    log.debug('  checking mailbox %s ...\n' % mailbox)
+                    log.debug('  checking mailbox %s ...\n' 
+                              % mailbox.encode('utf-8'))
                 try:
                     retriever.select_mailbox(mailbox)
                 except getmailMailboxSelectError, o:
                     errorexit = True
                     log.info('  mailbox %s not selectable (%s) - verify the '
                                 'mailbox exists and you have sufficient '
-                                'permissions\n' % (mailbox, o))
+                                'permissions\n' % (mailbox.encode('utf-8'), o))
                     continue
                 nummsgs = len(retriever)
                 fmtlen = len(str(nummsgs))
@@ -424,6 +425,7 @@
                 try:
                     idling = retriever.go_idle(idle)
                     # Returned from idle
+                    retriever.set_new_timestamp()
                     configs.append(configs[0])
                     continue
                 except KeyboardInterrupt, o:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/getmail.spec 
new/getmail-4.54.0/getmail.spec
--- old/getmail-4.46.0/getmail.spec     2014-04-07 05:25:56.000000000 +0200
+++ new/getmail-4.54.0/getmail.spec     2017-02-19 19:08:46.000000000 +0100
@@ -2,7 +2,7 @@
 
 Summary: POP3 mail retriever with reliable Maildir delivery
 Name: getmail
-Version: 4.46.0
+Version: 4.54.0
 Release: 1
 License: GPL
 Group: Applications/Internet
@@ -52,6 +52,33 @@
 %{python_sitelib}/getmailcore/
 
 %changelog
+* Sun Feb 19 2017 Charles Cazabon <[email protected]>
+-update to version 4.54.0
+
+* Sun Jan 15 2017 Charles Cazabon <[email protected]>
+-update to version 4.53.0
+
+* Sat Oct 22 2016 Charles Cazabon <[email protected]>
+-update to version 4.52.0
+
+* Sun Sep 11 2016 Charles Cazabon <[email protected]>
+-update to version 4.51.0
+
+* Sun Sep 11 2016 Charles Cazabon <[email protected]>
+-update to version 4.51.0
+
+* Mon Jul 11 2016 Charles Cazabon <[email protected]>
+-update to version 4.50.0
+
+* Wed Jan 13 2016 Charles Cazabon <[email protected]>
+-update to version 4.49.0
+
+* Sun May 31 2015 Charles Cazabon <[email protected]>
+-update to version 4.48.0
+
+* Wed Feb 25 2015 Charles Cazabon <[email protected]>
+-update to version 4.47.0
+
 * Sun Apr 06 2014 Charles Cazabon <[email protected]>
 -update to version 4.46.0
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/getmail_fetch 
new/getmail-4.54.0/getmail_fetch
--- old/getmail-4.46.0/getmail_fetch    2012-06-20 05:44:15.000000000 +0200
+++ new/getmail-4.54.0/getmail_fetch    2017-02-19 19:08:34.000000000 +0100
@@ -9,6 +9,7 @@
 import os
 import socket
 import poplib
+import new
 from optparse import OptionParser
 
 try:
@@ -133,6 +134,10 @@
             raise getmailOperationError('incorrect arguments; try --help'
                                         % args)
 
+        def get(self, key, value=None):
+            return getattr(self, key, value)
+        options.get = new.instancemethod(get, options, options.__class__)
+
         msg = None
         if options.message is not None:
             try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/getmailcore/__init__.py 
new/getmail-4.54.0/getmailcore/__init__.py
--- old/getmail-4.46.0/getmailcore/__init__.py  2014-04-07 05:24:46.000000000 
+0200
+++ new/getmail-4.54.0/getmailcore/__init__.py  2017-02-19 19:08:34.000000000 
+0100
@@ -16,7 +16,7 @@
     raise ImportError('getmail version 4 requires Python version 2.3.3'
                       ' or later')
 
-__version__ = '4.46.0'
+__version__ = '4.54.0'
 
 __all__ = [
     'baseclasses',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/getmailcore/_retrieverbases.py 
new/getmail-4.54.0/getmailcore/_retrieverbases.py
--- old/getmail-4.46.0/getmailcore/_retrieverbases.py   2014-04-07 
05:24:46.000000000 +0200
+++ new/getmail-4.54.0/getmailcore/_retrieverbases.py   2017-02-19 
19:08:34.000000000 +0100
@@ -233,6 +233,15 @@
 # Constant for POPSSL
 POP3_SSL_PORT = 995
 
+
+# Python added poplib._MAXLINE somewhere along the way.  As far as I can
+# see, it serves no purpose except to introduce bugs into any software
+# using poplib.  Any computer running Python will have at least some megabytes
+# of userspace memory; arbitrarily causing message retrieval to break if any
+# "line" exceeds 2048 bytes is absolutely stupid.
+poplib._MAXLINE = 1 << 20   # 1MB; decrease this if you're running on a VIC-20
+
+
 #
 # Mix-in classes
 #
@@ -421,8 +430,19 @@
             )
 
         self.conn.sock.setblocking(1)
-        self.log.trace('POP3 connection %s established' % self.conn
-                       + os.linesep)
+
+        fingerprint_message = ('POP3 SSL connection %s established'
+                               % self.conn)
+        if actual_hash:
+            fingerprint_message += ' with fingerprint %s' % actual_hash
+        if ssl_cipher:
+            fingerprint_message += ' using cipher %s' % ssl_cipher
+        fingerprint_message += os.linesep
+
+        if self.app_options.get('fingerprint', False):
+            self.log.info(fingerprint_message)
+        else:
+            self.log.trace(fingerprint_message)
 
 
 #######################################
@@ -733,7 +753,7 @@
     def __init__(self, **args):
         self.headercache = {}
         self.deleted = {}
-        self.timestamp = int(time.time())
+        self.set_new_timestamp()
         self.__oldmail_written = False
         self.__initialized = False
         self.gotmsglist = False
@@ -742,6 +762,9 @@
         self.supports_idle = False
         ConfigurableBase.__init__(self, **args)
 
+    def set_new_timestamp(self):
+        self.timestamp = int(time.time())
+
     def _clear_state(self):
         self.msgnum_by_msgid = {}
         self.msgid_by_msgnum = {}
@@ -749,6 +772,7 @@
         self.msgsizes = {}
         self.oldmail = {}
         self.__delivered = {}
+        self.deleted = {}
         self.mailbox_selected = False
         
     def setup_received(self, sock):
@@ -1325,9 +1349,10 @@
                     raise ValueError
                 name = parts.pop(0).lower()
                 r[name] = parts.pop(0)
-        except (ValueError, IndexError), o:
+        except (ValueError, IndexError, AttributeError), o:
             raise getmailOperationError(
-                'IMAP error (failed to parse UID response line "%s")' % line
+                'IMAP error (failed to parse attr response line "%s": %s)' 
+                % (line, o)
             )
         self.log.trace('got %s' % r + os.linesep)
         return r
@@ -1361,8 +1386,9 @@
     def close_mailbox(self):
         # Close current mailbox so deleted mail is expunged.  One getmail
         # user had a buggy IMAP server that didn't do the automatic expunge,
-        # so we do it explicitly here.
-        self.conn.expunge()
+        # so we do it explicitly here if we've deleted any messages.
+        if self.deleted:
+            self.conn.expunge()
         self.conn.close()
         self.write_oldmailfile(self.mailbox_selected)
         # And clear some state
@@ -1433,6 +1459,10 @@
                     'FETCH', '1:%d' % msgcount, '(UID RFC822.SIZE)'
                 )
                 for line in response:
+                    if not line:
+                        # One user had a server that returned a null response
+                        # somehow -- try to just skip.
+                        continue
                     r = self._parse_imapattrresponse(line)
                     # Don't allow / in UIDs we store, as we look for that to 
                     # detect old-style oldmail files.  Can occur with IMAP, at 
@@ -1477,7 +1507,7 @@
                 )
             self.log.debug('deleting message "%s"' % uid + os.linesep)
             response = self._parse_imapuidcmdresponse(
-                'STORE', uid, 'FLAGS', '(\Deleted)'
+                'STORE', uid, 'FLAGS', '(\Deleted \Seen)'
             )
         except imaplib.IMAP4.error, o:
             raise getmailOperationError('IMAP error (%s)' % o)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/getmailcore/destinations.py 
new/getmail-4.54.0/getmailcore/destinations.py
--- old/getmail-4.46.0/getmailcore/destinations.py      2013-01-27 
20:21:35.000000000 +0100
+++ new/getmail-4.54.0/getmailcore/destinations.py      2016-09-11 
17:30:41.000000000 +0200
@@ -696,7 +696,8 @@
                     'or GID 0 by default'
                 )
             args = [self.conf['path'], self.conf['path']]
-            msginfo['mailbox'] = self.retriever.mailbox_selected or ''
+            msginfo['mailbox'] = (self.retriever.mailbox_selected 
+                                  or '').encode('utf-8')
             for arg in self.conf['arguments']:
                 arg = expand_user_vars(arg)
                 for (key, value) in msginfo.items():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/getmailcore/filters.py 
new/getmail-4.54.0/getmailcore/filters.py
--- old/getmail-4.46.0/getmailcore/filters.py   2013-08-03 22:27:04.000000000 
+0200
+++ new/getmail-4.54.0/getmailcore/filters.py   2016-10-22 18:46:10.000000000 
+0200
@@ -94,12 +94,13 @@
 
         # Check the filter was sane
         if len(newmsg.headers()) < len(msg.headers()):
-            # Warn user
-            self.log.warning(
-                'Warning: filter %s returned fewer headers (%d) than supplied '
-                '(%d)\n'
-                % (self, len(newmsg.headers()), len(msg.headers()))
-            )
+            if not self.conf.get('ignore_header_shrinkage', False):
+                # Warn user
+                self.log.warning(
+                    'Warning: filter %s returned fewer headers (%d) than '
+                        'supplied (%d)\n'
+                    % (self, len(newmsg.headers()), len(msg.headers()))
+                )
 
         # Copy attributes from original message
         newmsg.copyattrs(msg)
@@ -174,6 +175,7 @@
         ConfString(name='user', required=False, default=None),
         ConfString(name='group', required=False, default=None),
         ConfBool(name='allow_root_commands', required=False, default=False),
+        ConfBool(name='ignore_header_shrinkage', required=False, 
default=False),
         ConfBool(name='ignore_stderr', required=False, default=False),
         ConfInstance(name='configparser', required=False),
     )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/getmailcore/retrievers.py 
new/getmail-4.54.0/getmailcore/retrievers.py
--- old/getmail-4.46.0/getmailcore/retrievers.py        2014-04-07 
05:24:46.000000000 +0200
+++ new/getmail-4.54.0/getmailcore/retrievers.py        2016-10-22 
18:46:10.000000000 +0200
@@ -402,8 +402,9 @@
         ConfInstance(name='configparser', required=False),
         ConfDirectory(name='getmaildir', required=False, 
default='~/.getmail/'),
 
-        # socket.ssl() and socket timeouts are incompatible in Python 2.3
-        #ConfInt(name='timeout', required=False, default=180),
+        # socket.ssl() and socket timeouts were incompatible in Python 2.3;
+        # if you have problems, comment this line out
+        ConfInt(name='timeout', required=False, default=180),
         ConfString(name='server'),
         ConfInt(name='port', required=False, default=imaplib.IMAP4_SSL_PORT),
         ConfString(name='username'),
@@ -488,8 +489,9 @@
         ConfInstance(name='configparser', required=False),
         ConfDirectory(name='getmaildir', required=False, 
default='~/.getmail/'),
 
-        # socket.ssl() and socket timeouts are incompatible in Python 2.3
-        #ConfInt(name='timeout', required=False, default=180),
+        # socket.ssl() and socket timeouts were incompatible in Python 2.3;
+        # if you have problems, comment this line out
+        ConfInt(name='timeout', required=False, default=180),
         ConfString(name='server'),
         ConfInt(name='port', required=False, default=imaplib.IMAP4_SSL_PORT),
         ConfString(name='username'),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/getmail-4.46.0/getmailcore/utilities.py 
new/getmail-4.54.0/getmailcore/utilities.py
--- old/getmail-4.46.0/getmailcore/utilities.py 2013-10-25 03:08:51.000000000 
+0200
+++ new/getmail-4.54.0/getmailcore/utilities.py 2016-09-11 17:30:41.000000000 
+0200
@@ -634,9 +634,14 @@
                 return None
             password = None
             for line in output.split('\n'):
-                match = re.match(r'password: "([^"]+)"', line)
-                if match:
-                    password = match.group(1)
+                #match = re.match(r'password: "([^"]+)"', line)
+                #if match:
+                #    password = match.group(1)
+                if 'password:' in line:
+                    pw = line.split(':', 1)[1].strip()
+                    if pw.startswith('"') and pw.endswith('"'):
+                        pw = pw[1:-1]
+                    password = pw
             if password is None:
                 logger.debug('No keychain password found for %s %s %s'
                              % (user, server, protocol))


Reply via email to