Date: Saturday, December 10, 2022 @ 20:01:49
Author: freswa
Revision: 1358077
archrelease: copy trunk to community-staging-x86_64
Added:
isync/repos/community-staging-x86_64/
isync/repos/community-staging-x86_64/PKGBUILD
(from rev 1358075, isync/trunk/PKGBUILD)
isync/repos/community-staging-x86_64/keys/
isync/repos/community-staging-x86_64/openssl3-fix-b6c36624.patch
(from rev 1358075, isync/trunk/openssl3-fix-b6c36624.patch)
-----------------------------+
PKGBUILD | 41 +++++++++++++++++++++++++
openssl3-fix-b6c36624.patch | 68 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 109 insertions(+)
Copied: isync/repos/community-staging-x86_64/PKGBUILD (from rev 1358075,
isync/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2022-12-10 20:01:49 UTC (rev 1358077)
@@ -0,0 +1,41 @@
+# Maintainer: Jonathan Steel <jsteel at archlinux.org>
+# Contributor: Mark Pustjens <[email protected]>
+# Contributor: Geoffroy Carrier <[email protected]>
+# Contributor: Giorgio Lando <[email protected]>
+# Contributor: Leslie P. Polzer <[email protected]>
+
+pkgname=isync
+pkgver=1.4.4
+pkgrel=3
+pkgdesc="IMAP and MailDir mailbox synchronizer"
+arch=('x86_64')
+url="https://isync.sourceforge.io/"
+license=('GPL2')
+depends=('libsasl' 'zlib')
+source=(https://downloads.sourceforge.net/sourceforge/isync/$pkgname-$pkgver.tar.gz
+ openssl3-fix-b6c36624.patch
+
https://downloads.sourceforge.net/sourceforge/isync/$pkgname-$pkgver.tar.gz.asc)
+sha256sums=('7c3273894f22e98330a330051e9d942fd9ffbc02b91952c2f1896a5c37e700ff'
+ '28cdd879c971488e91d9fc424dfeae04f030aa1d9549e1c469cbd5ec7dddbb83'
+ 'SKIP')
+validpgpkeys=('96DD32BFBF9FAB04B0D95305AA283E0B2F1BB1D1'
+ '63BFD037CAD71E8DFF3AEA3AC17714F08D1BDBBA')
+
+prepare() {
+ cd $pkgname-$pkgver
+ patch -N -p1 -i ../openssl3-fix-b6c36624.patch
+}
+
+build() {
+ cd $pkgname-$pkgver
+
+ ./configure --prefix=/usr
+
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+}
Copied: isync/repos/community-staging-x86_64/openssl3-fix-b6c36624.patch (from
rev 1358075, isync/trunk/openssl3-fix-b6c36624.patch)
===================================================================
--- community-staging-x86_64/openssl3-fix-b6c36624.patch
(rev 0)
+++ community-staging-x86_64/openssl3-fix-b6c36624.patch 2022-12-10
20:01:49 UTC (rev 1358077)
@@ -0,0 +1,68 @@
+commit b6c36624f04cd388873785c0631df3f2f9ac4bf0
+Author: Oswald Buddenhagen <[email protected]>
+Date: Mon Jun 6 11:55:37 2022 +0200
+
+ work around "unexpected EOF" error messages at end of SSL connections
+
+ gmail apparently doesn't send a close notification (SSL_shutdown())
+ before closing the TCP socket.
+
+diff --git a/src/drv_imap.c b/src/drv_imap.c
+index fb8d165..6286045 100644
+--- a/src/drv_imap.c
++++ b/src/drv_imap.c
+@@ -1620,6 +1620,7 @@ imap_socket_read( void *aux )
+ error( "IMAP error: unexpected BYE
response: %s\n", cmd );
+ /* We just wait for the server to close
the connection now. */
+ ctx->expectEOF = 1;
++ socket_expect_eof( &ctx->conn );
+ } else {
+ /* We still need to wait for the
LOGOUT's tagged OK. */
+ }
+@@ -1882,10 +1883,12 @@ static void
+ imap_cleanup_p2( imap_store_t *ctx,
+ imap_cmd_t *cmd ATTR_UNUSED, int response )
+ {
+- if (response == RESP_NO)
++ if (response == RESP_NO) {
+ imap_cancel_store( &ctx->gen );
+- else if (response == RESP_OK)
++ } else if (response == RESP_OK) {
+ ctx->expectEOF = 1;
++ socket_expect_eof( &ctx->conn );
++ }
+ }
+
+ /******************* imap_open_store *******************/
+diff --git a/src/socket.c b/src/socket.c
+index ac3c847..892cece 100644
+--- a/src/socket.c
++++ b/src/socket.c
+@@ -810,6 +810,15 @@ socket_expect_activity( conn_t *conn, int expect )
+ conf_wakeup( &conn->fd_timeout, expect ? conn->conf->timeout :
-1 );
+ }
+
++void
++socket_expect_eof( conn_t *sock )
++{
++#ifdef SSL_OP_IGNORE_UNEXPECTED_EOF // implies HAVE_LIBSSL
++ if (sock->ssl)
++ SSL_set_options( sock->ssl, SSL_OP_IGNORE_UNEXPECTED_EOF );
++#endif
++}
++
+ int
+ socket_read( conn_t *conn, char *buf, uint len )
+ {
+diff --git a/src/socket.h b/src/socket.h
+index 5b1edd0..af679aa 100644
+--- a/src/socket.h
++++ b/src/socket.h
+@@ -142,6 +142,7 @@ void socket_start_tls(conn_t *conn, void (*cb)( int ok,
void *aux ) );
+ void socket_start_deflate( conn_t *conn );
+ void socket_close( conn_t *sock );
+ void socket_expect_activity( conn_t *sock, int expect );
++void socket_expect_eof( conn_t *sock );
+ int socket_read( conn_t *sock, char *buf, uint len ); /* never waits */
+ char *socket_read_line( conn_t *sock ); /* don't free return value; never
waits */
+ typedef enum { KeepOwn = 0, GiveOwn } ownership_t;