Skipped 6 existing revision(s) on branch 'master'.

commit 1b354fa61a703cf4901f782d9effa689a9f03a7a
Merge: 118fdc4 f2524d0
Author: Oswald Buddenhagen <o...@users.sf.net>
Date:   Sun Oct 1 10:38:43 2017 +0200

    Merge branch '1.2'
    
    Conflicts:
        Makefile.am
        configure.ac
        debian/.gitignore

 Makefile.am          |  8 +---
 configure.ac         | 12 +++---
 debian/.gitignore    |  4 +-
 debian/README.Debian | 12 ++++++
 debian/changelog     | 94 ++++++++++++++++++++++++++++++++++++++++++++
 debian/compat        |  2 +-
 debian/control       | 45 ++++++++++++---------
 debian/copyright     | 59 +++++++++++++--------------
 debian/dirs          |  1 -
 debian/docs          |  3 --
 debian/generate-deb  | 39 ------------------
 debian/rules         | 61 ++++------------------------
 debian/source/format |  1 +
 debian/watch         |  2 +-
 src/common.h         |  6 +++
 src/compat/config.c  |  5 ++-
 src/compat/isync.1   |  2 +-
 src/compat/isync.h   |  6 +++
 src/compat/main.c    |  8 ++--
 src/drv_imap.c       |  8 ++--
 src/main.c           |  6 +--
 src/mbsync.1         |  4 +-
 src/socket.c         |  2 +-
 23 files changed, 215 insertions(+), 175 deletions(-)

diff --cc Makefile.am
index 4359009,865094f..5867482
--- a/Makefile.am
+++ b/Makefile.am
@@@ -51,19 -51,11 +51,15 @@@ $(srcdir)/ChangeLog: lo
  log:
        @test -z "$(srcdir)" || cd $(srcdir) && \
         ( ! test -d .git || \
 -         git log --date=iso --log-size --name-only --no-merges | \
 +         git log --pretty=medium --date=iso --log-size --name-only 
--no-merges | \
             perl -e '$(LOG_PL)' > ChangeLog )
  
 +cov-scan: clean
 +      /opt/cov-analysis-*/bin/cov-build --dir cov-int $(MAKE)
 +      tar cavf isync.tar.xz cov-int
 +
- deb: deb-clean
-       CFLAGS= fakeroot debian/rules binary
- 
- deb-clean:
-       dh_clean -Xsrc/
-       fakeroot debian/rules clean
+ deb:
+       CFLAGS= INSTALL= dpkg-buildpackage -b --no-sign
  
  dist-hook:
        find $(distdir)/debian \( -name .#\*# -o -type l \) -print0 | xargs -0r 
rm -rf
diff --cc debian/.gitignore
index e97847f,4ea3ab6..d6b3238
--- a/debian/.gitignore
+++ b/debian/.gitignore
@@@ -1,5 -1,7 +1,7 @@@
 -.debhelper
 -autoreconf.after
 -autoreconf.before
 -files
 -isync
 -isync.debhelper.log
 -isync.substvars
++/.debhelper
++/autoreconf.after
++/autoreconf.before
 +/files
 +/isync
 +/isync.debhelper.log
- /isync.postrm.debhelper
 +/isync.substvars
diff --cc src/common.h
index 850594c,f876381..c731126
--- a/src/common.h
+++ b/src/common.h
@@@ -51,9 -47,14 +51,15 @@@ typedef unsigned int uint
  # define ATTR_UNUSED
  # define ATTR_NORETURN
  # define ATTR_PRINTFLIKE(fmt,var)
 +# define ATTR_PACKED(ref)
  #endif
  
+ #if __GNUC__ >= 7
+ # define FALLTHROUGH __attribute__((fallthrough));
+ #else
+ # define FALLTHROUGH
+ #endif
+ 
  #ifdef __GNUC__
  # define INLINE __inline__
  #else

===== Full diff against 1st parent =====

diff --git a/Makefile.am b/Makefile.am
index 4359009..5867482 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -58,12 +58,8 @@ cov-scan: clean
        /opt/cov-analysis-*/bin/cov-build --dir cov-int $(MAKE)
        tar cavf isync.tar.xz cov-int
 
-deb: deb-clean
-       CFLAGS= fakeroot debian/rules binary
-
-deb-clean:
-       dh_clean -Xsrc/
-       fakeroot debian/rules clean
+deb:
+       CFLAGS= INSTALL= dpkg-buildpackage -b --no-sign
 
 dist-hook:
        find $(distdir)/debian \( -name .#\*# -o -type l \) -print0 | xargs -0r 
rm -rf
diff --git a/configure.ac b/configure.ac
index 2eab91a..5da4ac0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,13 +54,13 @@ if test "x$ob_cv_with_ssl" != xno; then
       dnl Detect the pkg-config tool, as it may have extra info about the 
openssl
       dnl installation we can use. I *believe* this is what we are expected to 
do
       dnl on really recent Redhat Linux hosts.
-      AC_PATH_PROG(PKGCONFIG, pkg-config, no, $PATH:/usr/bin:/usr/local/bin)
-      if test "$PKGCONFIG" != "no" ; then
+      PKG_PROG_PKG_CONFIG
+      if test "x$PKG_CONFIG" != "x" ; then
         AC_MSG_CHECKING([OpenSSL presence with pkg-config])
-        if $PKGCONFIG --exists openssl; then
-          SSL_LIBS=`$PKGCONFIG --libs-only-l openssl`
-          SSL_LDFLAGS=`$PKGCONFIG --libs-only-L openssl`
-          SSL_CPPFLAGS=`$PKGCONFIG --cflags-only-I openssl`
+        if $PKG_CONFIG --exists openssl; then
+          SSL_LIBS=`$PKG_CONFIG --libs-only-l openssl`
+          SSL_LDFLAGS=`$PKG_CONFIG --libs-only-L openssl`
+          SSL_CPPFLAGS=`$PKG_CONFIG --cflags-only-I openssl`
           have_ssl_paths=yes
           AC_MSG_RESULT([found])
         else
diff --git a/debian/.gitignore b/debian/.gitignore
index e97847f..d6b3238 100644
--- a/debian/.gitignore
+++ b/debian/.gitignore
@@ -1,5 +1,7 @@
+/.debhelper
+/autoreconf.after
+/autoreconf.before
 /files
 /isync
 /isync.debhelper.log
-/isync.postrm.debhelper
 /isync.substvars
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..250c106
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,12 @@
+A note from isync's web site:
+
+isync can be integrated into Mutt fairly easily with a few hooks:
+
+       folder-hook ~A bind index $ <sync-mailbox>
+       folder-hook +maildir 'macro index $ "<sync-mailbox>!isync -e maildir\n"'
+
+where maildir is the name of the local mailbox (or its alias). This works well
+so long as you are not modifying the IMAP mailbox outside of Mutt. However, if
+you are using another mail program simultaneously Mutt will have the wrong idea
+of the local mailbox flags and messages will start disappearing from its index
+display (don't worry, they are still on disk).
diff --git a/debian/changelog b/debian/changelog
index efea80d..9a04bbe 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,97 @@
+isync (1.2.3-0) unstable; urgency=low
+
+  * Upload to unstable (with urgency=low)
+
+ -- Oswald Buddenhagen <o...@users.sf.net>  Sun, 01 Oct 2017 12:12:12 +0000
+
+isync (1.2.1-2) unstable; urgency=low
+
+  * Upload to unstable (with urgency=low)
+  * Don't call uupdate after uscan
+  * Import patch to fix build with OpenSSL 1.1 (Closes: #828357)
+  * Bump Standards-Version to 3.9.8 (no changes needed)
+  * Add pkg-config to Build-Depends
+  * Update Vcs-* URLs
+  * Fix spelling-error-in-binary
+
+ -- Alessandro Ghedini <gh...@debian.org>  Sat, 19 Nov 2016 17:14:42 +0000
+
+isync (1.2.1-1) experimental; urgency=medium
+
+  [ Evgeni Golov ]
+  * New upstream release.
+  * Explicitly Build-Depend on zlib1g-dev
+
+ -- Alessandro Ghedini <gh...@debian.org>  Sat, 09 Jan 2016 12:56:39 +0000
+
+isync (1.2.0-1) experimental; urgency=medium
+
+  * New upstream release
+    - Only show sync progress by default (Closes: #765052)
+  * Enable libsasl support
+
+ -- Alessandro Ghedini <gh...@debian.org>  Mon, 06 Apr 2015 13:42:24 +0200
+
+isync (1.1.2-1) unstable; urgency=medium
+
+  * New upstream release
+  * Bump Standards-Version to 3.9.6 (no changes needed)
+
+ -- Alessandro Ghedini <gh...@debian.org>  Sun, 01 Feb 2015 20:42:25 +0100
+
+isync (1.1.1-1) unstable; urgency=medium
+
+  * New upstream release
+    - Don't lie about the default of User (Closes: #744389)
+    - Don't forget to reset message counts when skipping scan (Closes: #744259)
+    - Rework maildir store mapping (Closes: #737708)
+  * Drop 01_fix-manpages.patch (merged upstream)
+  * Drop 02_fix-empty-folder-sync.patch (merged upstream)
+
+ -- Alessandro Ghedini <gh...@debian.org>  Tue, 03 Jun 2014 21:00:44 +0200
+
+isync (1.1.0-2) unstable; urgency=medium
+
+  * Drop 02_fix-duplicate-changelog.patch
+    (rm the file after installation instead)
+  * Update 01_fix-manpages.patch
+  * Add 02_fix-empty-folder-sync.patch (Closes: #738873)
+
+ -- Alessandro Ghedini <gh...@debian.org>  Fri, 14 Feb 2014 20:41:49 +0100
+
+isync (1.1.0-1) unstable; urgency=low
+
+  * New upstream release (Closes: #674403)
+    - Fix overlapping memcpy (Closes: #650373)
+    - Fix segfault while syncing mailboxes (Closes: #411120)
+    - Fix segfault when invoked with arguments without configuration
+      (Closes: #727239)
+  * Bump debhelper compat level, update Build-Depends
+  * Switch to short-form dh rules, remove useless files
+  * Switch to 3.0 (quilt) source format
+  * Remove empty patches/ directory
+  * Drop local source modifications
+  * Update short/long descriptions
+  * Add 01_fix-manpages.patch to fix manpage errors and typos
+  * Add Homepage field
+  * Update copyright file to Copyright-Format 1.0
+  * Add Vcs-* fields
+  * Add 02_fix-duplicate-changelog.patch to avoid duplicate changelog install
+  * Add myself to Uploaders
+  * Bump Standards-Version to 3.9.5 (no changes needed)
+  * Use dh-autoreconf instead of autotools-dev
+
+ -- Alessandro Ghedini <gh...@debian.org>  Sun, 12 Jan 2014 16:35:52 +0100
+
+isync (1.0.4-2.2) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Apply upstream patch for CVE-2013-0289.
+    Fix incorrect server's SSL x509.v3 certificate validation when
+    performing IMAP synchronization. (Closes: #701052)
+
+ -- Salvatore Bonaccorso <car...@debian.org>  Sun, 24 Feb 2013 09:27:55 +0100
+
 isync (1.0.4-2.1) unstable; urgency=low
 
   * Non-maintainer upload.
diff --git a/debian/compat b/debian/compat
index b8626c4..ec63514 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-4
+9
diff --git a/debian/control b/debian/control
index 51a65b5..2359576 100644
--- a/debian/control
+++ b/debian/control
@@ -2,33 +2,42 @@ Source: isync
 Section: mail
 Priority: optional
 Maintainer: Nicolas Boullis <nboul...@debian.org>
-Uploaders: Theodore Y. Ts'o <ty...@mit.edu>
-Standards-Version: 3.7.3
-Build-Depends: libssl-dev (>= 0.9.8), debhelper (>= 4.1.16), dpkg-dev (>= 
1.9.0), libdb-dev
+Uploaders: Theodore Y. Ts'o <ty...@mit.edu>,
+ Alessandro Ghedini <gh...@debian.org>
+Standards-Version: 3.9.8
+Build-Depends: debhelper (>= 9),
+ dh-autoreconf,
+ libdb-dev,
+ libsasl2-dev,
+ libssl-dev,
+ pkg-config,
+ zlib1g-dev
+Vcs-Git: https://anonscm.debian.org/git/collab-maint/isync.git
+Vcs-Browser: https://anonscm.debian.org/gitweb/?p=collab-maint/isync.git
+Homepage: http://isync.sourceforge.net/
 
 Package: isync
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Suggests: mutt
-Description: Synchronize Maildir and IMAP4 mailboxes
- A command line application which synchronizes mailboxes; currently
- Maildir and IMAP4 mailboxes are supported.
- New messages, message deletions and flag changes can be propagated both ways.
- It is useful for working in disconnected mode, such as on a laptop or with a
- non-permanent internet collection (dIMAP).
+Description: IMAP and MailDir mailbox synchronizer
+ mbsync/isync is a command line application which synchronizes mailboxes;
+ currently Maildir and IMAP4 mailboxes are supported. New messages, message
+ deletions and flag changes can be propagated both ways. isync is suitable
+ for use in IMAP-disconnected mode.
  .
- The main application was much improved in version 1.0. Those
- improvements lead to interface changes and the application being
- renamed to mbsync. The application isync is now only a wrapper to
- keep compatibility with earlier versions.
+ The main application was much improved in version 1.0. Those improvements
+ lead to interface changes and the application being renamed to mbsync. The
+ application isync is now only a wrapper to keep compatibility with earlier
+ versions.
  .
  Features:
   * Fine-grained selection of synchronization operations to perform
   * Synchronizes single mailboxes or entire mailbox collections
   * Partial mirrors possible: keep only the latest messages locally
   * Trash functionality: backup messages before removing them
-  * IMAP features:
-    * Supports TLS/SSL via imaps: (port 993) and STARTTLS (RFC2595)
-    * Supports CRAM-MD5 (RFC2195) for authentication
-    * Supports NAMESPACE (RFC2342) for simplified configuration
-    * Pipelining for maximum speed
+ IMAP features:
+  * Security: supports TLS/SSL via imaps: (port 993) and STARTTLS; SASL
+    for authentication
+  * Supports NAMESPACE for simplified configuration
+  * Pipelining for maximum speed
diff --git a/debian/copyright b/debian/copyright
index c1bb05f..627e0d6 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,32 +1,33 @@
-This package was debianized by Tommi Virtanen <t...@debian.org> and is now
-maintained by Nicolas Boullis <nboul...@debian.org>.
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: isync
+Source: http://isync.sourceforge.net
 
-It was downloaded from http://isync.sourceforge.net/
+Files: *
+Copyright: 2000-2002, Michael R. Elkins <m...@mutt.org>
+ 2002-2017, Oswald Buddenhagen <o...@users.sf.net>
+ 2004, Theodore Y. Ts'o <ty...@mit.edu>
+License: GPL-2+
 
-Upstream Author: Michael R. Elkins <m...@mutt.org>,
-                 Oswald Buddenhagen <o...@users.sf.net>
+Files: debian/*
+Copyright: 2013, Alessandro Ghedini <gh...@debian.org>
+License: GPL-2+
 
-Copyright:
-
- * isync - IMAP4 to maildir mailbox synchronizer
- * Copyright (C) 2000-2002 Michael R. Elkins <m...@mutt.org>
- * Copyright (C) 2002-2006 Oswald Buddenhagen <o...@users.sf.net>
- *
- *  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
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- * As a special exception, isync may be linked with the OpenSSL library,
- * despite that library's more restrictive license.
-
-On Debian systems, the complete text of the GNU General Public
-License can be found in /usr/share/common-licenses/GPL
+License: GPL-2+
+ 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
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ .
+ As a special exception, mbsync may be linked with the OpenSSL library,
+ despite that library's more restrictive license.
+ .
+ On Debian systems, the complete text of the GNU General Public License version
+ 2 can be found in "/usr/share/common-licenses/GPL-2".
diff --git a/debian/dirs b/debian/dirs
deleted file mode 100644
index e772481..0000000
--- a/debian/dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/bin
diff --git a/debian/docs b/debian/docs
deleted file mode 100644
index 5502ed8..0000000
--- a/debian/docs
+++ /dev/null
@@ -1,3 +0,0 @@
-NEWS
-README
-TODO
diff --git a/debian/generate-deb b/debian/generate-deb
deleted file mode 100755
index f9d1603..0000000
--- a/debian/generate-deb
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/sh
-#
-# Intended to be run from the root of the isync source tree in the repository.
-#
-VERSION=`dpkg-parsechangelog | sed -ne 's/^Version: \(.*\)-[^-]\+$/\1/p'`
-OLDVERSION=$VERSION
-
-if echo $VERSION | grep +cvsXXXXXXXX; then
-       DATE=`date +%Y%m%d`
-       VERSION=`echo $VERSION | sed -e s/+cvsXXXXXXXX/+cvs${DATE}/`
-else
-       if [ ! -f ../isync_$VERSION.orig.tar.gz ]; then
-               echo isync_$VERSION.orig.tar.gz must be found in the parent 
directory.
-               exit 1
-       fi
-fi
-rm -rf ../isync-$VERSION
-
-fakeroot ./debian/rules clean
-cp -rl . ../isync-$VERSION
-cd ../isync-$VERSION
-if [ "$OLDVERSION" != "$VERSION" ]; then
-       sed -e s/+cvsXXXXXXXX/+cvs${DATE}/ < debian/changelog > 
debian/changelog.new
-       mv debian/changelog.new debian/changelog
-fi 
-find . -name .git -print0 | xargs -0r rm -rf
-find . -name .gitignore -print0 | xargs -0r rm
-find . -type l -print0 | xargs -0r rm
-find . -name .#\*#  -print0 | xargs -0r rm
-aclocal
-autoheader
-automake --add-missing --copy
-autoconf
-if [ -n "$DOSIGN" ]; then
-    SIGNOPTS=
-else
-    SIGNOPTS="-us -uc"
-fi
-dpkg-buildpackage -rfakeroot $SIGNOPTS
diff --git a/debian/rules b/debian/rules
index 6f16737..d11b1a3 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,55 +1,10 @@
 #!/usr/bin/make -f
 
-CFLAGS = -Wall -g
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-CFLAGS += -O0
-else
-CFLAGS += -O2
-endif
-
-DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-
-build: build-stamp
-build-stamp:
-       dh_testdir
-       ./configure --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) 
--prefix=/usr --mandir=/usr/share/man 
-       $(MAKE) CFLAGS="$(CFLAGS)"
-       touch build-stamp
-
-clean:
-       dh_testdir
-       dh_testroot
-       rm -f build-stamp
-       [ ! -f Makefile ] || $(MAKE) distclean
-       dh_clean Makefile config.log config.status
-
-install: build
-       dh_testdir
-       dh_testroot
-       dh_clean -k
-       dh_installdirs usr/bin usr/share/man/man1
-       $(MAKE) DESTDIR=$(CURDIR)/debian/isync install
-       rm -r $(CURDIR)/debian/isync/usr/share/doc
-       mv $(CURDIR)/debian/isync/usr/bin/get-cert 
$(CURDIR)/debian/isync/usr/bin/mbsync-get-cert
-
-binary-indep: build install
-
-binary-arch: build install
-       dh_testdir
-       dh_testroot
-       dh_installchangelogs ChangeLog
-       dh_installdocs AUTHORS NEWS README TODO
-       dh_installexamples src/mbsyncrc.sample src/compat/isyncrc.sample
-       dh_installman
-       dh_strip
-       dh_compress
-       dh_fixperms
-       dh_installdeb
-       dh_shlibdeps
-       dh_gencontrol
-       dh_md5sums
-       dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install
+%:
+       dh $@ --with=autoreconf
+
+override_dh_auto_install:
+       dh_auto_install
+       mv $(CURDIR)/debian/isync/usr/bin/get-cert \
+          $(CURDIR)/debian/isync/usr/bin/mbsync-get-cert
+       $(RM) $(CURDIR)/debian/isync/usr/share/doc/isync/ChangeLog
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/watch b/debian/watch
index 6bb4e20..4e0c7f3 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,2 +1,2 @@
 version=3
-http://sf.net/isync/ isync-(.*)\.tar\.gz debian uupdate
+http://sf.net/isync/ isync-(.*)\.tar\.gz
diff --git a/src/common.h b/src/common.h
index 850594c..c731126 100644
--- a/src/common.h
+++ b/src/common.h
@@ -54,6 +54,12 @@ typedef unsigned int uint;
 # define ATTR_PACKED(ref)
 #endif
 
+#if __GNUC__ >= 7
+# define FALLTHROUGH __attribute__((fallthrough));
+#else
+# define FALLTHROUGH
+#endif
+
 #ifdef __GNUC__
 # define INLINE __inline__
 #else
diff --git a/src/compat/config.c b/src/compat/config.c
index 746b46a..9ce9a98 100644
--- a/src/compat/config.c
+++ b/src/compat/config.c
@@ -316,9 +316,10 @@ write_imap_server( FILE *fp, config_t *cfg )
        if (cfg->pass)
                fprintf( fp, "Pass %s\n", quotify( cfg->pass ) );
        fprintf( fp, "RequireCRAM %s\nRequireSSL %s\n"
-                    "UseSSLv2 %s\nUseSSLv3 %s\nUseTLSv1 %s\n",
+                    "UseSSLv2 %s\nUseSSLv3 %s\nUseTLSv1 %s\nUseTLSv1.1 
%s\nUseTLSv1.2 %s\n",
                     tb(cfg->require_cram), tb(cfg->require_ssl),
-                    tb(cfg->use_sslv2), tb(cfg->use_sslv3), tb(cfg->use_tlsv1) 
);
+                    tb(cfg->use_sslv2), tb(cfg->use_sslv3),
+                    tb(cfg->use_tlsv1), tb(cfg->use_tlsv1), tb(cfg->use_tlsv1) 
);
        if ((cfg->use_imaps || cfg->use_sslv2 || cfg->use_sslv3 || 
cfg->use_tlsv1) &&
            cfg->cert_file)
                fprintf( fp, "CertificateFile %s\n", quotify( cfg->cert_file ) 
);
diff --git a/src/compat/isync.1 b/src/compat/isync.1
index fb9900f..aad06aa 100644
--- a/src/compat/isync.1
+++ b/src/compat/isync.1
@@ -278,7 +278,7 @@ Should \fBisync\fR use SSLv3 for communication with the 
IMAP server over SSL?
 ..
 .TP
 \fBUseTLSv1\fR \fIyes\fR|\fIno\fR
-Should \fBisync\fR use TLSv1 for communication with the IMAP server over SSL?
+Should \fBisync\fR use TLSv1.x for communication with the IMAP server over SSL?
 (Default: \fIyes\fR)
 ..
 .TP
diff --git a/src/compat/isync.h b/src/compat/isync.h
index 0473900..71d19ea 100644
--- a/src/compat/isync.h
+++ b/src/compat/isync.h
@@ -34,6 +34,12 @@
 # define ATTR_PRINTFLIKE(fmt,var)
 #endif
 
+#if __GNUC__ >= 7
+# define FALLTHROUGH __attribute__((fallthrough));
+#else
+# define FALLTHROUGH
+#endif
+
 typedef struct config {
        struct config *next;
 
diff --git a/src/compat/main.c b/src/compat/main.c
index 2ad6f07..6b00547 100644
--- a/src/compat/main.c
+++ b/src/compat/main.c
@@ -64,14 +64,14 @@ struct option Opts[] = {
 };
 #endif
 
-static void
+static void ATTR_NORETURN
 version( void )
 {
        puts( PACKAGE " " VERSION );
        exit( 0 );
 }
 
-static void
+static void ATTR_NORETURN
 usage( int code )
 {
        fputs(
@@ -194,13 +194,13 @@ main( int argc, char **argv )
                switch (i) {
                case 'W':
                        outconfig = optarg;
-                       /* plopp */
+                       FALLTHROUGH
                case 'w':
                        writeout = 1;
                        break;
                case 'l':
                        list = 1;
-                       /* plopp */
+                       FALLTHROUGH
                case 'a':
                        all = 1;
                        break;
diff --git a/src/drv_imap.c b/src/drv_imap.c
index 7e5e2c0..1eb2c20 100644
--- a/src/drv_imap.c
+++ b/src/drv_imap.c
@@ -3115,7 +3115,7 @@ imap_parse_store( conffile_t *cfg, store_conf_t **storep )
                                arg += 6;
                                server->ssl_type = SSL_IMAPS;
                                if (server->sconf.ssl_versions == -1)
-                                       server->sconf.ssl_versions = SSLv2 | 
SSLv3 | TLSv1;
+                                       server->sconf.ssl_versions = SSLv2 | 
SSLv3 | TLSv1 | TLSv1_1 | TLSv1_2;
                        } else
 #endif
                        if (starts_with( arg, -1, "imap:", 5 ))
@@ -3285,7 +3285,7 @@ imap_parse_store( conffile_t *cfg, store_conf_t **storep )
 #ifdef HAVE_LIBSSL
                if ((use_sslv2 & use_sslv3 & use_tlsv1 & use_tlsv11 & 
use_tlsv12) != -1 || use_imaps >= 0 || require_ssl >= 0) {
                        if (server->ssl_type >= 0 || server->sconf.ssl_versions 
>= 0) {
-                               error( "%s '%s': The deprecated UseSSL*, 
UseTLS*, UseIMAPS, and RequireSSL options are mutually exlusive with SSLType 
and SSLVersions.\n", type, name );
+                               error( "%s '%s': The deprecated UseSSL*, 
UseTLS*, UseIMAPS, and RequireSSL options are mutually exclusive with SSLType 
and SSLVersions.\n", type, name );
                                cfg->err = 1;
                                return 1;
                        }
@@ -3313,14 +3313,14 @@ imap_parse_store( conffile_t *cfg, store_conf_t 
**storep )
                        }
                } else {
                        if (server->sconf.ssl_versions < 0)
-                               server->sconf.ssl_versions = TLSv1; /* Most 
compatible and still reasonably secure. */
+                               server->sconf.ssl_versions = TLSv1 | TLSv1_1 | 
TLSv1_2;
                        if (server->ssl_type < 0)
                                server->ssl_type = server->sconf.tunnel ? 
SSL_None : SSL_STARTTLS;
                }
 #endif
                if (require_cram >= 0) {
                        if (server->auth_mechs) {
-                               error( "%s '%s': The deprecated RequireCRAM 
option is mutually exlusive with AuthMech.\n", type, name );
+                               error( "%s '%s': The deprecated RequireCRAM 
option is mutually exclusive with AuthMech.\n", type, name );
                                cfg->err = 1;
                                return 1;
                        }
diff --git a/src/main.c b/src/main.c
index 2a57eb6..3ba4323 100644
--- a/src/main.c
+++ b/src/main.c
@@ -52,14 +52,14 @@ int new_total[2], new_done[2];
 int flags_total[2], flags_done[2];
 int trash_total[2], trash_done[2];
 
-static void
+static void ATTR_NORETURN
 version( void )
 {
        puts( PACKAGE " " VERSION );
        exit( 0 );
 }
 
-static void
+static void ATTR_NORETURN
 usage( int code )
 {
        fputs(
@@ -599,7 +599,7 @@ main( int argc, char **argv )
                        goto cop;
                case 'F':
                        cops |= XOP_PULL|XOP_PUSH;
-                       /* fallthrough */
+                       FALLTHROUGH
                case '0':
                        ops[M] |= XOP_HAVE_TYPE;
                        break;
diff --git a/src/mbsync.1 b/src/mbsync.1
index d6191dd..c9258a8 100644
--- a/src/mbsync.1
+++ b/src/mbsync.1
@@ -368,8 +368,8 @@ right after connecting the secure IMAP port 993.
 Select the acceptable SSL/TLS versions.
 Use of SSLv2 is strongly discouraged for security reasons, but might be the
 only option on some very old servers.
-Generally, the newest TLS version is recommended, but as this confuses some
-servers, \fBTLSv1\fR is the default.
+Use old versions only when the server has problems with newer ones.
+(Default: [\fBTLSv1\fR] [\fBTLSv1.1\fR] [\fBTLSv1.2\fR]).
 ..
 .TP
 \fBSystemCertificates\fR \fByes\fR|\fBno\fR
diff --git a/src/socket.c b/src/socket.c
index 764800c..f021af8 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -72,7 +72,7 @@ ssl_return( const char *func, conn_t *conn, int ret )
                return ret;
        case SSL_ERROR_WANT_WRITE:
                conf_notifier( &conn->notify, POLLIN, POLLOUT );
-               /* fallthrough */
+               FALLTHROUGH
        case SSL_ERROR_WANT_READ:
                return 0;
        case SSL_ERROR_SYSCALL:

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
isync-devel mailing list
isync-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/isync-devel

Reply via email to