浏览代码

Merge branch '1.2'

Conflicts:
	Makefile.am
	configure.ac
	debian/.gitignore
Oswald Buddenhagen 7 年之前
父节点
当前提交
1b354fa61a
共有 23 个文件被更改,包括 215 次插入175 次删除
  1. 2 6
      Makefile.am
  2. 6 6
      configure.ac
  3. 3 1
      debian/.gitignore
  4. 12 0
      debian/README.Debian
  5. 94 0
      debian/changelog
  6. 1 1
      debian/compat
  7. 27 18
      debian/control
  8. 30 29
      debian/copyright
  9. 0 1
      debian/dirs
  10. 0 3
      debian/docs
  11. 0 39
      debian/generate-deb
  12. 8 53
      debian/rules
  13. 1 0
      debian/source/format
  14. 1 1
      debian/watch
  15. 6 0
      src/common.h
  16. 3 2
      src/compat/config.c
  17. 1 1
      src/compat/isync.1
  18. 6 0
      src/compat/isync.h
  19. 4 4
      src/compat/main.c
  20. 4 4
      src/drv_imap.c
  21. 3 3
      src/main.c
  22. 2 2
      src/mbsync.1
  23. 1 1
      src/socket.c

+ 2 - 6
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

+ 6 - 6
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

+ 3 - 1
debian/.gitignore

@@ -1,5 +1,7 @@
+/.debhelper
+/autoreconf.after
+/autoreconf.before
 /files
 /isync
 /isync.debhelper.log
-/isync.postrm.debhelper
 /isync.substvars

+ 12 - 0
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).

+ 94 - 0
debian/changelog

@@ -1,3 +1,97 @@
+isync (1.2.3-0) unstable; urgency=low
+
+  * Upload to unstable (with urgency=low)
+
+ -- Oswald Buddenhagen <ossi@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 <ghedo@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 <ghedo@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 <ghedo@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 <ghedo@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 <ghedo@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 <ghedo@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 <ghedo@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 <carnil@debian.org>  Sun, 24 Feb 2013 09:27:55 +0100
+
 isync (1.0.4-2.1) unstable; urgency=low
 
   * Non-maintainer upload.

+ 1 - 1
debian/compat

@@ -1 +1 @@
-4
+9

+ 27 - 18
debian/control

@@ -2,33 +2,42 @@ Source: isync
 Section: mail
 Priority: optional
 Maintainer: Nicolas Boullis <nboullis@debian.org>
-Uploaders: Theodore Y. Ts'o <tytso@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 <tytso@mit.edu>,
+ Alessandro Ghedini <ghedo@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

+ 30 - 29
debian/copyright

@@ -1,32 +1,33 @@
-This package was debianized by Tommi Virtanen <tv@debian.org> and is now
-maintained by Nicolas Boullis <nboullis@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 <me@mutt.org>
+ 2002-2017, Oswald Buddenhagen <ossi@users.sf.net>
+ 2004, Theodore Y. Ts'o <tytso@mit.edu>
+License: GPL-2+
 
-Upstream Author: Michael R. Elkins <me@mutt.org>,
-                 Oswald Buddenhagen <ossi@users.sf.net>
+Files: debian/*
+Copyright: 2013, Alessandro Ghedini <ghedo@debian.org>
+License: GPL-2+
 
-Copyright:
-
- * isync - IMAP4 to maildir mailbox synchronizer
- * Copyright (C) 2000-2002 Michael R. Elkins <me@mutt.org>
- * Copyright (C) 2002-2006 Oswald Buddenhagen <ossi@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".

+ 0 - 1
debian/dirs

@@ -1 +0,0 @@
-usr/bin

+ 0 - 3
debian/docs

@@ -1,3 +0,0 @@
-NEWS
-README
-TODO

+ 0 - 39
debian/generate-deb

@@ -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

+ 8 - 53
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

+ 1 - 0
debian/source/format

@@ -0,0 +1 @@
+3.0 (quilt)

+ 1 - 1
debian/watch

@@ -1,2 +1,2 @@
 version=3
-http://sf.net/isync/ isync-(.*)\.tar\.gz debian uupdate
+http://sf.net/isync/ isync-(.*)\.tar\.gz

+ 6 - 0
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

+ 3 - 2
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 ) );

+ 1 - 1
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

+ 6 - 0
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;
 

+ 4 - 4
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;

+ 4 - 4
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;
 			}

+ 3 - 3
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;

+ 2 - 2
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

+ 1 - 1
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: