Hello community,

here is the log from the commit of package offlineimap for openSUSE:Factory 
checked in at 2018-06-29 22:26:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/offlineimap (Old)
 and      /work/SRC/openSUSE:Factory/.offlineimap.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "offlineimap"

Fri Jun 29 22:26:53 2018 rev:45 rq:617014 version:7.2.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/offlineimap/offlineimap.changes  2018-01-30 
15:45:12.256362417 +0100
+++ /work/SRC/openSUSE:Factory/.offlineimap.new/offlineimap.changes     
2018-06-29 22:26:58.574457493 +0200
@@ -1,0 +2,8 @@
+Fri Jun 15 06:12:06 UTC 2018 - mimi...@gmail.com
+
+- update to 7.2.0
+  * for kerberos/gssapi suggests python2-gssapi
+  * make UI output show local AND remote dirs involved.
+  * maxsyncaccounts: improve documentation
+
+-------------------------------------------------------------------

Old:
----
  offlineimap-7.1.5.tar.gz

New:
----
  offlineimap-7.2.0.tar.gz

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

Other differences:
------------------
++++++ offlineimap.spec ++++++
--- /var/tmp/diff_new_pack.cF22Oe/_old  2018-06-29 22:26:59.350456906 +0200
+++ /var/tmp/diff_new_pack.cF22Oe/_new  2018-06-29 22:26:59.354456903 +0200
@@ -17,12 +17,12 @@
 
 
 Name:           offlineimap
-Version:        7.1.5
+Version:        7.2.0
 Release:        0
 Summary:        IMAP/Maildir Synchronization Tool
-License:        GPL-2.0+
+License:        GPL-2.0-or-later
 Group:          Productivity/Networking/Email/Utilities
-Url:            http://offlineimap.org/
+URL:            http://offlineimap.org/
 Source0:        
https://github.com/OfflineIMAP/offlineimap/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
 BuildRequires:  asciidoc
 BuildRequires:  docutils
@@ -38,6 +38,7 @@
 Requires:       python2-curses
 Requires:       python2-six
 Suggests:       %{name}-htmldoc
+Suggests:       python2-gssapi
 BuildArch:      noarch
 
 %description
@@ -88,9 +89,9 @@
 rm docs/html/doctrees/environment.pickle
 
 %files -f INSTALLED_FILES
-%doc COPYING Changelog.md README.md examples
-%{_mandir}/man1/%{name}.1*
-%{_mandir}/man7/offlineimapui.7*
+%license COPYING
+%doc Changelog.md README.md examples
+%{_mandir}/man?/%{name}*.?%{?ext_man}
 %dir %{_userunitdir}
 %{_userunitdir}/%{name}.service
 %{_userunitdir}/%{name}@.service

++++++ offlineimap-7.1.5.tar.gz -> offlineimap-7.2.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/.coveragerc 
new/offlineimap-7.2.0/.coveragerc
--- old/offlineimap-7.1.5/.coveragerc   1970-01-01 01:00:00.000000000 +0100
+++ new/offlineimap-7.2.0/.coveragerc   2018-04-07 20:17:52.000000000 +0200
@@ -0,0 +1,14 @@
+[run]
+branch = True
+source = offlineimap
+
+[report]
+exclude_lines =
+    if self.debug:
+    pragma: no cover
+    raise NotImplementedError
+    if __name__ == .__main__.:
+ignore_errors = True
+omit =
+    tests/*
+    test/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/.gitignore 
new/offlineimap-7.2.0/.gitignore
--- old/offlineimap-7.1.5/.gitignore    2018-01-13 13:55:23.000000000 +0100
+++ new/offlineimap-7.2.0/.gitignore    2018-04-07 20:17:52.000000000 +0200
@@ -1,18 +1,19 @@
-# Editors/IDEs
+# Backups.
 .*.swp
 .*.swo
 *~
-tags
-
 # websites.
 /website/
 /wiki/
-
 # Generated files.
-/docs/dev-doc/
-/build/
 *.html
 *.css
+/docs/dev-doc/
+/build/
 *.pyc
 offlineimap.1
 offlineimapui.7
+# Editors/IDEs
+tags
+# Generated conf files for Travis-CI tests.
+oli-travis.conf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/.travis.yml 
new/offlineimap-7.2.0/.travis.yml
--- old/offlineimap-7.1.5/.travis.yml   1970-01-01 01:00:00.000000000 +0100
+++ new/offlineimap-7.2.0/.travis.yml   2018-04-07 20:17:52.000000000 +0200
@@ -0,0 +1,69 @@
+language: python
+python:
+- '2.7'
+- '3.6'
+notifications:
+  webhooks:
+    urls:
+      - https://webhooks.gitter.im/e/975e807e0314c9fa189c
+    on_success: always  # options: [always|never|change] default: always
+    on_failure: always  # options: [always|never|change] default: always
+    on_start: never
+os:
+- linux
+env:
+  global:
+  - secure: 
jehlvkFxQbkvr73A0z3HGNC/knZQPKcaXLf6nByGpNE0ZTQKF7Y5KkNfeTcw4st7L7KuRZ1S/1bFtpMXTaplE6G0OtIEC4//SM+z+Dnadn2OY6wHiaapwZmmqDC5qVvcXPdmz/wTRsdrJSGLb2l6kEb91vRGbCCfHHf6Z2cF71U=
+  - secure: 
kWdmWAFK4qrA73ONz1X8CJdHSER3bCBXjLfYHYEEMPCZep21bTITUXIfZBlSNN1888SQtYksuloRJmvj7xiY/hf/4lyWiqM3RgWQ+YptJMVOQX+Gara6vm4nGntKQwaXgZF2YHSh+NYwQm1VY6m0n1ye/vfOIJnYfgGTk5qAZYU=
+  - secure: 
MzytYRX6HxgBj6Q3efkACTtDed8ZYO+P6UJrDA9IDtvffi8fAFb+wkQtKJrdcvMXNOap6fPe4c0EVGjgL5hFxmgC8yAh5t2YK7OhstAtq0ptKFlOcU24/drrkqoq040sAM/4Lc0nQCvYpz7bH370jzZl69rpbQWttwQR0i1e3Gw=
+  - secure: 
RWvIOHSiv2kt6cfZR7MEueiAmC61bWMXAtgsC6gKq1u3BfENfqSBTA/heIy+nlu7AXK1b6hPMZDCHWK09Zz6Klkd9xZ1gkE/AARWseoo9UWgGjmfvqng1S6qpESeX2GnZGR9CuBXTPGhtbYLgtNlxAo+6uZLolz2utW2XNk3Z/Y=
+  - secure: 
spivQv+vSJhE+ttn/Z6tANaINqiMSaJSucRqtoXR7PtioVDTOTmmL01Ja6dXuo8Ua5iVFtpZPDzqVpntQLKtjcywSK2zWnC9qbZYDfENr1/yIvfbSRjGeseq0eoY+fFp67FGZV4mIasdC3LOB0lRGOyrsX787fNKVQ8ZH0CRz0o=
+  - secure: 
ZcY0TvTQnRCdoFkdbJPfDJJNx91tViwbpiOBkxNEa3u0RN48xkZkii35kNVBaEcVZHcT9C81ctHk4QX+plBkCsoj5GDf25scgcv1j9R9UoN/rIkmyTu1Znmc+3UQ2J+EnGLWVn5xJ7yT/l9NZeLfNbULQRjttwT4j2MBGxezgdM=
+  matrix:
+  - OUTLOOK_AUTH=PLAIN    GMAIL_AUTH=XOAUTH2
+  - OUTLOOK_AUTH=LOGIN    GMAIL_AUTH=XOAUTH2
+matrix:
+  include:
+  - os: osx
+    language: generic
+    env: PYTHON=2.7.14 OUTLOOK_AUTH=PLAIN GMAIL_AUTH=XOAUTH2
+  - os: osx
+    language: generic
+    env: PYTHON=2.7.14 OUTLOOK_AUTH=LOGIN GMAIL_AUTH=XOAUTH2
+  - os: osx
+    language: generic
+    env: PYTHON=3.6.4 OUTLOOK_AUTH=PLAIN GMAIL_AUTH=XOAUTH2
+  - os: osx
+    language: generic
+    env: PYTHON=3.6.4 OUTLOOK_AUTH=LOGIN GMAIL_AUTH=XOAUTH2
+  allow_failures:
+  - os: osx
+cache: pip
+before_install:
+- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update && brew install 
openssl readline;
+  fi
+- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export 
OSX_BREW_SSLCACERTFILE="/usr/local/etc/openssl/cert.pem";
+  fi
+- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew outdated pyenv || brew 
upgrade pyenv;
+  fi
+- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install pyenv-virtualenv; fi
+- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then pyenv install $PYTHON; fi
+- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PYENV_VERSION="${PYTHON}"; 
fi
+- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export 
PATH="/Users/travis/.pyenv/shims:${PATH}";
+  fi
+- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then pyenv virtualenv $PYTHON myvenv; fi
+- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then pyenv versions; fi
+- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then python --version; fi
+- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then pyenv version; fi
+- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then python --version; fi
+- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then python -m pip install -U pip; fi
+- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then python -m easy_install -U 
setuptools;
+  fi
+install:
+- pip install -r requirements.txt
+- pip install -r tests/requirements.txt
+- export PATH=$PATH:.
+- python tests/create_conf_file.py
+script:
+- "./offlineimap.py -c ./oli-travis.conf"
+- codecov
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/Changelog.md 
new/offlineimap-7.2.0/Changelog.md
--- old/offlineimap-7.1.5/Changelog.md  2018-01-13 13:55:23.000000000 +0100
+++ new/offlineimap-7.2.0/Changelog.md  2018-04-07 20:17:52.000000000 +0200
@@ -15,6 +15,58 @@
 * The following excerpt is only usefull when rendered in the website.
 {:toc}
 
+### OfflineIMAP v7.2.0 (2018-04-07)
+
+#### Notes
+
+The biggest change with this release is the introduction of automated tests;
+thanks to Chris from http://www.espacenetworks.com.
+
+Robbie Hardwood from RedHat switched the GSSAPI dependency from pykerberos to
+python-gssapi because it's more active and has more pleasant interface.
+
+The shebang is fixed back to python2 to fix issues on some environments.
+
+The UI was improved to show both the local and remote foldernames (usefull when
+nametrans is enabled).
+
+Thanks to all the contributors.
+
+This release was tested by:
+
+- Nicolas Sebrecht
+- Remi Locherer
+
+
+#### Authors
+
+- Nicolas Sebrecht (9)
+- Musashi69 (1)
+- Robbie Harwood (1)
+- chris001 (1)
+
+
+#### Features
+
+- Autmomated testing using Travis and CodeCov.io!. [chris001]
+- README: travis: add badge for the next branch. [Nicolas Sebrecht]
+- travis: add notification to gitter room OfflineIMAP/offlineimap. [Nicolas 
Sebrecht]
+
+#### Fixes
+
+- offlineimap.py: fix shebang to python2. [Nicolas Sebrecht]
+- bin/offlineimap: fix shebang to env python2. [Nicolas Sebrecht]
+
+#### Changes
+
+- Port to python-gssapi from pykerberos. [Robbie Harwood]
+- requirements: add gssapi as optional dependency. [Nicolas Sebrecht]
+- make UI output show local AND remote dirs involved. [Musashi69]
+- maxsyncaccounts: improve documentation. [Nicolas Sebrecht]
+
+
+
+
 ### OfflineIMAP v7.1.5 (2018-01-13)
 
 #### Notes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/README.md 
new/offlineimap-7.2.0/README.md
--- old/offlineimap-7.1.5/README.md     2018-01-13 13:55:23.000000000 +0100
+++ new/offlineimap-7.2.0/README.md     2018-04-07 20:17:52.000000000 +0200
@@ -1,8 +1,22 @@
+Upstream status (`master` branch):
+[![OfflineIMAP build status on 
Travis-CI.org](https://travis-ci.org/OfflineIMAP/offlineimap.svg?branch=master)](https://travis-ci.org/OfflineIMAP/offlineimap)
+[![OfflineIMAP code coverage on 
Codecov.io](https://codecov.io/gh/OfflineIMAP/offlineimap/branch/master/graph/badge.svg)](https://codecov.io/gh/OfflineIMAP/offlineimap)
+[![Gitter 
chat](https://badges.gitter.im/OfflineIMAP/offlineimap.png)](https://gitter.im/OfflineIMAP/offlineimap)
+
+Upstream status (`next` branch):
+[![OfflineIMAP build status on 
Travis-CI.org](https://travis-ci.org/OfflineIMAP/offlineimap.svg?branch=next)](https://travis-ci.org/OfflineIMAP/offlineimap)
+
 [offlineimap]: http://github.com/OfflineIMAP/offlineimap
 [website]: http://www.offlineimap.org
 [wiki]: http://github.com/OfflineIMAP/offlineimap/wiki
 [blog]: http://www.offlineimap.org/posts.html
 
+Links:
+* Official github code repository: [offlineimap]
+* Website: [website]
+* Wiki: [wiki]
+* Blog: [blog]
+
 # OfflineIMAP
 
 ***"Get the emails where you need them."***
@@ -90,6 +104,7 @@
 * Python v3.4+ ***[STALLED] (experimental: [see known 
issues](https://github.com/OfflineIMAP/offlineimap/issues?q=is%3Aissue+is%3Aopen+label%3APy3))***
 * six (required)
 * imaplib2 >= 2.57 (optional)
+* gssapi (optional), for Kerberos authentication
 
 
 ## Documentation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/bin/offlineimap 
new/offlineimap-7.2.0/bin/offlineimap
--- old/offlineimap-7.1.5/bin/offlineimap       2018-01-13 13:55:23.000000000 
+0100
+++ new/offlineimap-7.2.0/bin/offlineimap       2018-04-07 20:17:52.000000000 
+0200
@@ -1,7 +1,6 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
 # Startup from system-wide installation
-# Copyright (C) 2002 - 2009 John Goerzen
-# <jgoer...@complete.org>
+# Copyright (C) 2002-2018 John Goerzen & contributors
 #
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/offlineimap/__init__.py 
new/offlineimap-7.2.0/offlineimap/__init__.py
--- old/offlineimap-7.1.5/offlineimap/__init__.py       2018-01-13 
13:55:23.000000000 +0100
+++ new/offlineimap-7.2.0/offlineimap/__init__.py       2018-04-07 
20:17:52.000000000 +0200
@@ -2,7 +2,7 @@
 
 __productname__ = 'OfflineIMAP'
 # Expecting trailing "-rcN" or "" for stable releases.
-__version__     = "7.1.5"
+__version__     = "7.2.0"
 __copyright__   = "Copyright 2002-2018 John Goerzen & contributors"
 __author__      = "John Goerzen"
 __author_email__= "offlineimap-proj...@lists.alioth.debian.org"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/offlineimap/imapserver.py 
new/offlineimap-7.2.0/offlineimap/imapserver.py
--- old/offlineimap-7.1.5/offlineimap/imapserver.py     2018-01-13 
13:55:23.000000000 +0100
+++ new/offlineimap-7.2.0/offlineimap/imapserver.py     2018-04-07 
20:17:52.000000000 +0200
@@ -17,7 +17,6 @@
 
 import hmac
 import socket
-import base64
 import json
 import urllib
 import time
@@ -36,13 +35,10 @@
 
 
 try:
-    # do we have a recent pykerberos?
-    have_gss = False
-    import kerberos
-    if 'authGSSClientWrap' in dir(kerberos):
-        have_gss = True
+    import gssapi
+    have_gss = True
 except ImportError:
-    pass
+    have_gss = False
 
 
 class IMAPServer(object):
@@ -55,9 +51,6 @@
      delim The server's folder delimiter. Only valid after acquireconnection()
     """
 
-    GSS_STATE_STEP = 0
-    GSS_STATE_WRAP = 1
-
     def __init__(self, repos):
         """:repos: a IMAPRepository instance."""
 
@@ -127,7 +120,6 @@
         self.connectionlock = Lock()
         self.reference = repos.getreference()
         self.idlefolders = repos.getidlefolders()
-        self.gss_step = self.GSS_STATE_STEP
         self.gss_vc = None
         self.gssapi = False
 
@@ -267,33 +259,35 @@
         self.ui.debug('imap', 'xoauth2handler: returning "%s"'% auth_string)
         return auth_string
 
-    def __gssauth(self, response):
-        data = base64.b64encode(response)
+    # Perform the next step handling a GSSAPI connection.
+    # Client sends first, so token will be ignored if there is no context.
+    def __gsshandler(self, token):
+        if token == "":
+            token = None
         try:
-            if self.gss_step == self.GSS_STATE_STEP:
-                if not self.gss_vc:
-                    rc, self.gss_vc = kerberos.authGSSClientInit(
-                        'imap@' + self.hostname)
-                    response = kerberos.authGSSClientResponse(self.gss_vc)
-                rc = kerberos.authGSSClientStep(self.gss_vc, data)
-                if rc != kerberos.AUTH_GSS_CONTINUE:
-                    self.gss_step = self.GSS_STATE_WRAP
-            elif self.gss_step == self.GSS_STATE_WRAP:
-                rc = kerberos.authGSSClientUnwrap(self.gss_vc, data)
-                response = kerberos.authGSSClientResponse(self.gss_vc)
-                rc = kerberos.authGSSClientWrap(
-                    self.gss_vc, response, self.username)
-            response = kerberos.authGSSClientResponse(self.gss_vc)
-        except kerberos.GSSError as err:
-            # Kerberos errored out on us, respond with None to cancel the
+            if not self.gss_vc:
+                name = gssapi.Name('imap@' + self.hostname,
+                                   gssapi.NameType.hostbased_service)
+                self.gss_vc = gssapi.SecurityContext(usage="initiate",
+                                                     name=name)
+
+            if not self.gss_vc.complete:
+                response = self.gss_vc.step(token)
+                return response if response else ""
+
+            # Don't bother checking qop because we're over a TLS channel
+            # already.  But hey, if some server started encrypting tomorrow,
+            # we'd be ready since krb5 always requests integrity and
+            # confidentiality support.
+            response = self.gss_vc.unwrap(token)
+            response = self.gss_vc.wrap(response.message, response.encrypted)
+            return response.message if response.message else ""
+        except gssapi.exceptions.GSSError as err:
+            # GSSAPI errored out on us; respond with None to cancel the
             # authentication
-            self.ui.debug('imap', '%s: %s'% (err[0][0], err[1][0]))
+            self.ui.debug('imap', err.gen_message())
             return None
 
-        if not response:
-            response = ''
-        return base64.b64decode(response)
-
     def __start_tls(self, imapobj):
         if 'STARTTLS' in imapobj.capabilities and not self.usessl:
             self.ui.debug('imap', 'Using STARTTLS connection')
@@ -327,16 +321,14 @@
 
         self.connectionlock.acquire()
         try:
-            imapobj.authenticate('GSSAPI', self.__gssauth)
+            imapobj.authenticate('GSSAPI', self.__gsshandler)
             return True
         except imapobj.error as e:
             self.gssapi = False
             raise
         else:
             self.gssapi = True
-            kerberos.authGSSClientClean(self.gss_vc)
             self.gss_vc = None
-            self.gss_step = self.GSS_STATE_STEP
         finally:
             self.connectionlock.release()
 
@@ -680,8 +672,7 @@
             self.assignedconnections = []
             self.availableconnections = []
             self.lastowner = {}
-            # reset kerberos state
-            self.gss_step = self.GSS_STATE_STEP
+            # reset GSSAPI state
             self.gss_vc = None
             self.gssapi = False
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/offlineimap/ui/UIBase.py 
new/offlineimap-7.2.0/offlineimap/ui/UIBase.py
--- old/offlineimap-7.1.5/offlineimap/ui/UIBase.py      2018-01-13 
13:55:23.000000000 +0100
+++ new/offlineimap-7.2.0/offlineimap/ui/UIBase.py      2018-04-07 
20:17:52.000000000 +0200
@@ -396,9 +396,9 @@
     def copyingmessage(self, uid, num, num_to_copy, src, destfolder):
         """Output a log line stating which message we copy."""
 
-        self.logger.info("Copy message UID %s (%d/%d) %s:%s -> %s"% (
+        self.logger.info("Copy message UID %s (%d/%d) %s:%s -> %s:%s"% (
                 uid, num, num_to_copy, src.repository, src,
-                destfolder.repository))
+                destfolder.repository, destfolder))
 
     def deletingmessages(self, uidlist, destlist):
         ds = self.folderlist(destlist)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/offlineimap.conf 
new/offlineimap-7.2.0/offlineimap.conf
--- old/offlineimap-7.1.5/offlineimap.conf      2018-01-13 13:55:23.000000000 
+0100
+++ new/offlineimap-7.2.0/offlineimap.conf      2018-04-07 20:17:52.000000000 
+0200
@@ -77,14 +77,16 @@
 
 # This option stands in the [general] section.
 #
-# Offlineimap can synchronize more than one account at a time. If you want to
-# enable this feature, set the below value to something greater than 1.  To
-# force it to synchronize only one account at a time, set it to 1.
-#
-# NOTE: if you are using autorefresh and have more than one account, you must
-# set this number to be >= to the number of accounts you have; since any given
-# sync run never "finishes" due to a timer, you will never sync your additional
-# accounts if this is 1.
+# Offlineimap can synchronize more than one account at a time. There are two
+# ways to sync accounts concurrently:
+#
+# 1. By running one offlineimap instance for each account (with the -a CLI
+# option). This is the recommended way. In this case, keep the following option
+# to 1.
+#
+# 2. By allowing offlineimap to sync more than one account for an instance (not
+# recommended). In this case, set the maxsyncaccounts option to a value greater
+# than 1.
 #
 #maxsyncaccounts = 1
 
@@ -273,8 +275,13 @@
 # your mail periodically.  If you want that, specify how frequently to do that
 # (in minutes) here.  Fractional minutes (ie, 3.25) is allowed.
 #
-# If you want more than one account concurrently synced in this mode, don't
-# forget to set the maxsyncaccounts option accordingly.
+# If you want more than one account concurrently synced in one instance of
+# offlineimap (not recommended), don't forget to increase the maxsyncaccounts
+# option accordingly.
+#
+# NOTE: If you run systemd it's recommended to not enable this option and use
+# the systemd timer instead (see the ./contrib/systemd/ directory in the
+# repository).
 #
 #autorefresh = 5
 
@@ -1364,7 +1371,7 @@
 
 # This option stands in the [Repository RemoteExample] section.
 #
-# If offlineiamp is having troubles to download some UIDS, it's possible to get
+# If offlineimap is having troubles to download some UIDS, it's possible to get
 # them ignored in a list. This only ignore the download.
 #
 # The function must return the list of UIDs (integers), None otherwise. It is
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/offlineimap.py 
new/offlineimap-7.2.0/offlineimap.py
--- old/offlineimap-7.1.5/offlineimap.py        2018-01-13 13:55:23.000000000 
+0100
+++ new/offlineimap-7.2.0/offlineimap.py        2018-04-07 20:17:52.000000000 
+0200
@@ -1,7 +1,6 @@
-#!/usr/bin/env python
+#!/usr/bin/env python2
 # Startup from single-user installation
-# Copyright (C) 2002 - 2008 John Goerzen
-# <jgoer...@complete.org>
+# Copyright (C) 2002-2018 John Goerzen & contributors
 #
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/requirements.txt 
new/offlineimap-7.2.0/requirements.txt
--- old/offlineimap-7.1.5/requirements.txt      2018-01-13 13:55:23.000000000 
+0100
+++ new/offlineimap-7.2.0/requirements.txt      2018-04-07 20:17:52.000000000 
+0200
@@ -1,2 +1,3 @@
 # Requirements
 six
+gssapi[kerberos]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/test/.gitignore 
new/offlineimap-7.2.0/test/.gitignore
--- old/offlineimap-7.1.5/test/.gitignore       2018-01-13 13:55:23.000000000 
+0100
+++ new/offlineimap-7.2.0/test/.gitignore       2018-04-07 20:17:52.000000000 
+0200
@@ -1,2 +1,5 @@
 credentials.conf
-tmp_*
\ No newline at end of file
+tmp_*
+*.pyc
+OLItest/*.pyc
+tests/*.pyc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/test/OLItest/TestRunner.py 
new/offlineimap-7.2.0/test/OLItest/TestRunner.py
--- old/offlineimap-7.1.5/test/OLItest/TestRunner.py    2018-01-13 
13:55:23.000000000 +0100
+++ new/offlineimap-7.2.0/test/OLItest/TestRunner.py    2018-04-07 
20:17:52.000000000 +0200
@@ -13,7 +13,7 @@
 #    You should have received a copy of the GNU General Public License
 #    along with this program; if not, write to the Free Software
 #    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
-import imaplib
+import offlineimap.virtual_imaplib2 as imaplib
 import unittest
 import logging
 import os
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/tests/.gitignore 
new/offlineimap-7.2.0/tests/.gitignore
--- old/offlineimap-7.1.5/tests/.gitignore      1970-01-01 01:00:00.000000000 
+0100
+++ new/offlineimap-7.2.0/tests/.gitignore      2018-04-07 20:17:52.000000000 
+0200
@@ -0,0 +1,2 @@
+*.pyc
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/tests/create_conf_file.py 
new/offlineimap-7.2.0/tests/create_conf_file.py
--- old/offlineimap-7.1.5/tests/create_conf_file.py     1970-01-01 
01:00:00.000000000 +0100
+++ new/offlineimap-7.2.0/tests/create_conf_file.py     2018-04-07 
20:17:52.000000000 +0200
@@ -0,0 +1,82 @@
+#!/bin/env python
+# Copyright 2018 Espace LLC/espacenetworks.com.  Written by @chris001.
+# This must be run from the main directory of the offlineimap project.
+# Typically this script will be run by Travis to create the config files 
needed for running the automated tests.
+# python ./tests/create_conf_file.py
+# Input: Seven shell environment variables.
+# Output: it writes the config settings to "filename" (./oli-travis.conf) and 
"additionalfilename" (./test/credentials.conf).
+# "filename" is used by normal run of ./offlineimap -c ./oli-travis.conf , 
"additionalfilename" is used by "pytest".
+# They are the same conf file, copie to two different locations for 
convenience.
+
+import os
+import shutil
+try:
+  import ConfigParser
+  Config = ConfigParser.ConfigParser()
+except ImportError:
+  import configparser
+  Config = configparser.ConfigParser()
+
+filename = "./oli-travis.conf"
+additionalfilename = "./test/credentials.conf"  # for the 'pytest' which 
automatically finds and runs the unittests.
+
+#TODO: detect OS we running on now, and set sslcacertfile location accordingly.
+sslcacertfile = "/etc/pki/tls/cert.pem" # CentOS 7
+sslcacertfile = "" # TODO: https://gist.github.com/1stvamp/2158128  Current 
Mac OSX now must download the cacertfile.
+sslcacertfile = "/etc/ssl/certs/ca-certificates.crt" # Ubuntu Trusty 14.04 
(Travis linux test container 2018.)
+if os.environ["TRAVIS_OS_NAME"] == "osx":
+  sslcacertfile = os.environ["OSX_BREW_SSLCACERTFILE"]
+
+# lets create that config file.
+cfgfile = open(filename,'w')
+
+# add the settings to the structure of the file, and lets write it out.
+sect = 'general'
+Config.add_section(sect)
+Config.set(sect,'accounts','Test')
+Config.set(sect,'maxsyncaccounts', '1')
+
+sect = 'Account Test'
+Config.add_section(sect)
+Config.set(sect,'localrepository','IMAP')  # Outlook.
+Config.set(sect,'remoterepository', 'Gmail')
+
+###  "Repository IMAP" is hardcoded in test/OLItest/TestRunner.py it should 
dynamically get the Repository names but it doesn't.
+sect = 'Repository IMAP'  # Outlook.
+Config.add_section(sect)
+Config.set(sect,'type','IMAP')
+Config.set(sect,'remotehost', 'imap-mail.outlook.com')
+Config.set(sect,'remoteport', '993')
+Config.set(sect,'auth_mechanisms', os.environ["OUTLOOK_AUTH"])
+Config.set(sect,'ssl', 'True')
+#Config.set(sect,'tls_level', 'tls_compat')  #Default is 'tls_compat'.
+#Config.set(sect,'ssl_version', 'tls1_2') # Leave this unset. Will auto select 
between tls1_1 and tls1_2 for tls_secure.
+Config.set(sect,'sslcacertfile', sslcacertfile)
+Config.set(sect,'remoteuser', os.environ["secure_outlook_email_address"])
+Config.set(sect,'remotepass', os.environ["secure_outlook_email_pw"])
+Config.set(sect,'createfolders', 'True')
+Config.set(sect,'folderfilter', 'lambda f: f not in ["Inbox", "[Gmail]/All 
Mail"]') #Capitalization of Inbox INBOX was causing runtime failure.
+#Config.set(sect,'folderfilter', 'lambda f: f not in ["[Gmail]/All Mail"]')
+
+
+### "Repository Gmail" is also hardcoded into test/OLItest/TestRunner.py
+sect = 'Repository Gmail'
+Config.add_section(sect)
+Config.set(sect,'type', 'Gmail')
+Config.set(sect,'remoteport', '993')
+Config.set(sect,'auth_mechanisms', os.environ["GMAIL_AUTH"])
+Config.set(sect,'oauth2_client_id',     
os.environ["secure_gmail_oauth2_client_id"])
+Config.set(sect,'oauth2_client_secret', 
os.environ["secure_gmail_oauth2_client_secret"])
+Config.set(sect,'oauth2_refresh_token', 
os.environ["secure_gmail_oauth2_refresh_token"])
+Config.set(sect,'remoteuser', os.environ["secure_gmail_email_address"])
+Config.set(sect,'ssl', 'True')
+#Config.set(sect,'tls_level', 'tls_compat')
+#Config.set(sect,'ssl_version', 'tls1_2')
+Config.set(sect,'sslcacertfile', sslcacertfile)
+Config.set(sect,'createfolders', 'True')
+Config.set(sect,'folderfilter', 'lambda f: f not in ["INBOX", "[Gmail]/All 
Mail"]')
+
+Config.write(cfgfile)
+cfgfile.close()
+
+shutil.copy(filename, additionalfilename)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/offlineimap-7.1.5/tests/requirements.txt 
new/offlineimap-7.2.0/tests/requirements.txt
--- old/offlineimap-7.1.5/tests/requirements.txt        1970-01-01 
01:00:00.000000000 +0100
+++ new/offlineimap-7.2.0/tests/requirements.txt        2018-04-07 
20:17:52.000000000 +0200
@@ -0,0 +1,4 @@
+pytest
+pytest-cov
+coverage
+codecov


Reply via email to