Received: by mail.netbsd.org (Postfix, from userid 605) id 7B75184D71; Wed, 17 Feb 2021 15:10:13 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id B4A5184D61 for ; Wed, 17 Feb 2021 15:10:12 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([IPv6:::1]) by localhost (mail.netbsd.org [IPv6:::1]) (amavisd-new, port 10025) with ESMTP id 6-l30_JXOKcY for ; Wed, 17 Feb 2021 15:10:11 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.NetBSD.org [IPv6:2001:470:a085:999:28c:faff:fe03:5984]) by mail.netbsd.org (Postfix) with ESMTP id B256184CDA for ; Wed, 17 Feb 2021 15:10:11 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id A0AADFA95; Wed, 17 Feb 2021 15:10:11 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_1613574611138180" MIME-Version: 1.0 Date: Wed, 17 Feb 2021 15:10:11 +0000 From: "Ryo ONODERA" Subject: CVS commit: pkgsrc/mail/isync To: pkgsrc-changes@NetBSD.org Reply-To: ryoon@netbsd.org X-Mailer: log_accum Message-Id: <20210217151011.A0AADFA95@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: Precedence: bulk List-Unsubscribe: This is a multi-part message in MIME format. --_----------=_1613574611138180 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: ryoon Date: Wed Feb 17 15:10:11 UTC 2021 Modified Files: pkgsrc/mail/isync: Makefile PLIST distinfo pkgsrc/mail/isync/patches: patch-ae patch-src_drv__imap.c Removed Files: pkgsrc/mail/isync/patches: patch-src_compat_Makefile.in Log Message: isync: Update to 1.4.0 * Import upstream patch to fix runtime errors. Changelog: This is a feature release that comes with significant new functionality: - The IMAP '$Forwarded' / Maildir 'P' (passed) flag is supported now. - Support for configuring a TLS cipher string was added. - IMAP mailbox subscriptions are supported now. - The IMAP user query can be scripted now. - Added built-in support for the macOS Keychain. - Messages excluded by MaxSize will now result in placeholders. Compatibility concerns: - The 'isync' compatibility wrapper was removed. - A C11 compiler is required for building now. - The validity of the config file is checked more stricly now, including: - Appearance of options in unexpected places - The capitalization of INBOX - The new TLSv1.3 flag must be added to SSLVersions if the option is used, unless disabling that version is desired (which is unlikely). - Removed support for the obsolete/insecure SSL v3. - The use of Master/Slave terminology has been deprecated. Bugfixes: - All bugfixes up to 1.3.4 are included. - IMAP protocol errors are handled more robustly now. - Fixed support for SASL's built-in EXTERNAL mechanism. - Improved reliability of synchronization when resuming interrupted runs. - Fixed MaxSize being ignored under certain circumstances when only one of New and ReNew was requested. - Fixed a network inefficiency occurring with server-side mailboxes that receive new messages only via mbsync. To generate a diff of this commit: cvs rdiff -u -r1.50 -r1.51 pkgsrc/mail/isync/Makefile cvs rdiff -u -r1.6 -r1.7 pkgsrc/mail/isync/PLIST cvs rdiff -u -r1.20 -r1.21 pkgsrc/mail/isync/distinfo cvs rdiff -u -r1.6 -r1.7 pkgsrc/mail/isync/patches/patch-ae cvs rdiff -u -r1.2 -r0 pkgsrc/mail/isync/patches/patch-src_compat_Makefile.in cvs rdiff -u -r1.1 -r1.2 pkgsrc/mail/isync/patches/patch-src_drv__imap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_1613574611138180 Content-Disposition: inline Content-Length: 7916 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/mail/isync/Makefile diff -u pkgsrc/mail/isync/Makefile:1.50 pkgsrc/mail/isync/Makefile:1.51 --- pkgsrc/mail/isync/Makefile:1.50 Mon Aug 31 18:09:56 2020 +++ pkgsrc/mail/isync/Makefile Wed Feb 17 15:10:11 2021 @@ -1,7 +1,6 @@ -# $NetBSD: Makefile,v 1.50 2020/08/31 18:09:56 wiz Exp $ +# $NetBSD: Makefile,v 1.51 2021/02/17 15:10:11 ryoon Exp $ -DISTNAME= isync-1.3.1 -PKGREVISION= 3 +DISTNAME= isync-1.4.0 CATEGORIES= mail net MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=isync/} Index: pkgsrc/mail/isync/PLIST diff -u pkgsrc/mail/isync/PLIST:1.6 pkgsrc/mail/isync/PLIST:1.7 --- pkgsrc/mail/isync/PLIST:1.6 Wed Sep 19 13:08:14 2018 +++ pkgsrc/mail/isync/PLIST Wed Feb 17 15:10:11 2021 @@ -1,9 +1,7 @@ -@comment $NetBSD: PLIST,v 1.6 2018/09/19 13:08:14 schmonz Exp $ -bin/isync +@comment $NetBSD: PLIST,v 1.7 2021/02/17 15:10:11 ryoon Exp $ bin/mbsync bin/mbsync-get-cert bin/mdconvert -man/man1/isync.1 man/man1/mbsync.1 man/man1/mdconvert.1 share/doc/isync/AUTHORS @@ -11,5 +9,4 @@ share/doc/isync/ChangeLog share/doc/isync/NEWS share/doc/isync/README share/doc/isync/TODO -share/examples/isync/isyncrc.sample share/examples/isync/mbsyncrc.sample Index: pkgsrc/mail/isync/distinfo diff -u pkgsrc/mail/isync/distinfo:1.20 pkgsrc/mail/isync/distinfo:1.21 --- pkgsrc/mail/isync/distinfo:1.20 Fri Jun 12 13:46:22 2020 +++ pkgsrc/mail/isync/distinfo Wed Feb 17 15:10:11 2021 @@ -1,10 +1,9 @@ -$NetBSD: distinfo,v 1.20 2020/06/12 13:46:22 ryoon Exp $ +$NetBSD: distinfo,v 1.21 2021/02/17 15:10:11 ryoon Exp $ -SHA1 (isync-1.3.1.tar.gz) = 6806fbe99537c119d2c4e40b9189d4d05f870bda -RMD160 (isync-1.3.1.tar.gz) = 65ce1693e2eec5619fc9648e6c568eb4bf9679be -SHA512 (isync-1.3.1.tar.gz) = 59d702d41d4a4e72f03cb282b414d0bb859593171763e845bc24d116a74f807a79e5be61f1dd1f59a9ece492322bceac156b08958a246cbfbe7f230fab4cdda2 -Size (isync-1.3.1.tar.gz) = 311868 bytes -SHA1 (patch-ae) = e1a1badcb99fe6089a15a259985933aceedfc110 +SHA1 (isync-1.4.0.tar.gz) = ccd641b0f08de6f68378fac60f01cc13f1fe718c +RMD160 (isync-1.4.0.tar.gz) = 58e71c09c8757bb31b3bdbc5ecd4c9ca0e287e6c +SHA512 (isync-1.4.0.tar.gz) = 6520bcfd9dc5d7c1d51d048c1814104815a3f76a3258ed79c06b22af07d4648340b1c4314175dc448bb109187c3af56565362c58fc744741b1806894e62374f5 +Size (isync-1.4.0.tar.gz) = 334991 bytes +SHA1 (patch-ae) = a3bdbdd05e32474bf76f8110561bdcea9b72b0c3 SHA1 (patch-src_Makefile.in) = b989a7627dbb7c989dd26c3e20beeceb000a7a47 -SHA1 (patch-src_compat_Makefile.in) = ffaba182c6b6b5c50fe82104d508438a3b62ecfd -SHA1 (patch-src_drv__imap.c) = bfb7c6a91eb32b98d082bc6c2b183bf5f1a4561d +SHA1 (patch-src_drv__imap.c) = d27230038c7442c6a0f63ccbb566b67cb1812632 Index: pkgsrc/mail/isync/patches/patch-ae diff -u pkgsrc/mail/isync/patches/patch-ae:1.6 pkgsrc/mail/isync/patches/patch-ae:1.7 --- pkgsrc/mail/isync/patches/patch-ae:1.6 Thu Apr 24 14:48:44 2014 +++ pkgsrc/mail/isync/patches/patch-ae Wed Feb 17 15:10:11 2021 @@ -1,11 +1,11 @@ -$NetBSD: patch-ae,v 1.6 2014/04/24 14:48:44 schmonz Exp $ +$NetBSD: patch-ae,v 1.7 2021/02/17 15:10:11 ryoon Exp $ Avoid segfault when parsing configuration file under NetBSD. ---- src/config.c.orig 2013-12-13 17:54:37.000000000 +0000 +--- src/config.c.orig 2021-01-01 13:46:36.000000000 +0000 +++ src/config.c -@@ -316,7 +316,7 @@ int - load_config( const char *where, int pseudo ) +@@ -320,7 +320,7 @@ int + load_config( const char *where ) { conffile_t cfile; - store_conf_t *store, **storeapp = &stores; Index: pkgsrc/mail/isync/patches/patch-src_drv__imap.c diff -u pkgsrc/mail/isync/patches/patch-src_drv__imap.c:1.1 pkgsrc/mail/isync/patches/patch-src_drv__imap.c:1.2 --- pkgsrc/mail/isync/patches/patch-src_drv__imap.c:1.1 Fri Jun 12 13:46:22 2020 +++ pkgsrc/mail/isync/patches/patch-src_drv__imap.c Wed Feb 17 15:10:11 2021 @@ -1,15 +1,103 @@ -$NetBSD: patch-src_drv__imap.c,v 1.1 2020/06/12 13:46:22 ryoon Exp $ +$NetBSD: patch-src_drv__imap.c,v 1.2 2021/02/17 15:10:11 ryoon Exp $ -* Google's Gmail access token is longer than 80 bytes. +* Fix some runtime errors. + From upstream Git: 9e3041de9367113f3b2d7d7543d2eae4c78e2c67 to 95a83c8220861185906df5b38eed589984847bfb ---- src/drv_imap.c.orig 2019-03-10 10:27:55.000000000 +0000 +--- src/drv_imap.c +++ src/drv_imap.c -@@ -1867,7 +1867,7 @@ ensure_password( imap_server_conf_t *srv - if (cmd) { - FILE *fp; - int ret; -- char buffer[80]; -+ char buffer[1024]; +@@ -924,6 +924,7 @@ parse_imap_list( imap_store_t *ctx, char **sp, parse_list_state_t *sts ) + } + bail: + free_list( sts->head ); ++ sts->level = 0; + return LIST_BAD; + } - if (*cmd == '+') { - flushn(); +@@ -1181,7 +1182,8 @@ parse_fetch_rsp( imap_store_t *ctx, list_t *list, char *s ATTR_UNUSED ) + for (cmdp = ctx->in_progress; cmdp; cmdp = cmdp->next) + if (cmdp->param.uid == uid) + goto gotuid; +- goto badrsp; ++ error( "IMAP error: unexpected FETCH response with BODY (UID %u)\n", uid ); ++ return LIST_BAD; + gotuid: + msgdata = ((imap_cmd_fetch_msg_t *)cmdp)->msg_data; + msgdata->data = body->val; +@@ -1208,9 +1210,8 @@ parse_fetch_rsp( imap_store_t *ctx, list_t *list, char *s ATTR_UNUSED ) + memcpy( cur->tuid, tuid, TUIDL ); + status &= ~(M_FLAGS | M_RECENT | M_SIZE | M_HEADER); + } else { +- badrsp: +- error( "IMAP error: unexpected FETCH response (UID %u)\n", uid ); +- return LIST_BAD; ++ // These may come in as a result of STORE FLAGS despite .SILENT. ++ status &= ~(M_FLAGS | M_RECENT); + } + + if (status) { +@@ -1252,48 +1253,53 @@ parse_response_code( imap_store_t *ctx, imap_cmd_t *cmd, char *s ) + if (!s || *s != '[') + return RESP_OK; /* no response code */ + s++; +- if (!(p = strchr( s, ']' ))) { +- bad_resp: ++ if (!(arg = next_arg( &s ))) { + error( "IMAP error: malformed response code\n" ); + return RESP_CANCEL; + } +- *p++ = 0; +- if (!(arg = next_arg( &s ))) +- goto bad_resp; + if (!strcmp( "UIDVALIDITY", arg )) { + if (!(arg = next_arg( &s )) || +- (ctx->uidvalidity = strtoul( arg, &earg, 10 ), *earg)) ++ (ctx->uidvalidity = strtoul( arg, &earg, 10 ), *earg != ']')) + { + error( "IMAP error: malformed UIDVALIDITY status\n" ); + return RESP_CANCEL; + } + } else if (!strcmp( "UIDNEXT", arg )) { + if (!(arg = next_arg( &s )) || +- (ctx->uidnext = strtoul( arg, &earg, 10 ), *earg)) ++ (ctx->uidnext = strtoul( arg, &earg, 10 ), *earg != ']')) + { + error( "IMAP error: malformed UIDNEXT status\n" ); + return RESP_CANCEL; + } + } else if (!strcmp( "CAPABILITY", arg )) { ++ if (!(p = strchr( s, ']' ))) { ++ error( "IMAP error: malformed CAPABILITY status\n" ); ++ return RESP_CANCEL; ++ } ++ *p = 0; + parse_capability( ctx, s ); +- } else if (!strcmp( "ALERT", arg )) { ++ } else if (!strcmp( "ALERT]", arg )) { + /* RFC2060 says that these messages MUST be displayed + * to the user + */ +- for (; isspace( (uchar)*p ); p++); +- error( "*** IMAP ALERT *** %s\n", p ); ++ if (!s) { ++ error( "IMAP error: malformed ALERT status\n" ); ++ return RESP_CANCEL; ++ } ++ for (; isspace( (uchar)*s ); s++); ++ error( "*** IMAP ALERT *** %s\n", s ); + } else if (cmd && !strcmp( "APPENDUID", arg )) { + if (!(arg = next_arg( &s )) || + (ctx->uidvalidity = strtoul( arg, &earg, 10 ), *earg) || + !(arg = next_arg( &s )) || +- (((imap_cmd_out_uid_t *)cmd)->out_uid = strtoul( arg, &earg, 10 ), *earg)) ++ (((imap_cmd_out_uid_t *)cmd)->out_uid = strtoul( arg, &earg, 10 ), *earg != ']')) + { + error( "IMAP error: malformed APPENDUID status\n" ); + return RESP_CANCEL; + } + } else if (!strcmp( "PERMANENTFLAGS", arg )) { + parse_list_init( &ctx->parse_list_sts ); +- if (parse_imap_list( NULL, &s, &ctx->parse_list_sts ) != LIST_OK) { ++ if (parse_imap_list( NULL, &s, &ctx->parse_list_sts ) != LIST_OK || *s != ']') { + error( "IMAP error: malformed PERMANENTFLAGS status\n" ); + return RESP_CANCEL; + } --_----------=_1613574611138180--