[Pkg-openldap-devel] [openldap] 11/13: Import gnutls_handshake EAGAIN patch (#861838)

Ryan Tandy rtandy-guest at moszumanska.debian.org
Fri Jul 28 03:20:51 UTC 2017


This is an automated email from the git hooks/post-receive script.

rtandy-guest pushed a commit to branch master
in repository openldap.

commit 0a8071ca3a720f9bdb2a1c417ea35ca4a0d3bb17
Author: Ryan Tandy <ryan at nardis.ca>
Date:   Thu Jul 27 17:57:38 2017 -0700

    Import gnutls_handshake EAGAIN patch (#861838)
---
 debian/changelog                                   |  4 ++++
 ...try-gnutls_handshake-after-GNUTLS_E_AGAIN.patch | 27 ++++++++++++++++++++++
 debian/patches/series                              |  1 +
 3 files changed, 32 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 8cbf702..2072aa0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -31,6 +31,10 @@ openldap (2.4.45+dfsg-1) UNRELEASED; urgency=medium
   * Remove retired developer, Roland Bauerschmidt, from Uploaders.
     (Closes: #856422)
   * Remove Timo Aaltonen from Uploaders, with his agreement.
+  * debian/patches/ITS8650-retry-gnutls_handshake-after-GNUTLS_E_AGAIN.patch: 
+    If gnutls_handshake() returns EAGAIN, call it again. Fixes TLS handshake 
+    failures when the ServerHello message exceeds 16K.
+    (ITS#8650) (Closes: #861838)
 
  -- Ryan Tandy <ryan at nardis.ca>  Mon, 17 Jul 2017 20:30:07 -0700
 
diff --git a/debian/patches/ITS8650-retry-gnutls_handshake-after-GNUTLS_E_AGAIN.patch b/debian/patches/ITS8650-retry-gnutls_handshake-after-GNUTLS_E_AGAIN.patch
new file mode 100644
index 0000000..62e458b
--- /dev/null
+++ b/debian/patches/ITS8650-retry-gnutls_handshake-after-GNUTLS_E_AGAIN.patch
@@ -0,0 +1,27 @@
+From 7b5181da8cdd47a13041f9ee36fa9590a0fa6e48 Mon Sep 17 00:00:00 2001
+From: Ryan Tandy <ryan at nardis.ca>
+Date: Sat, 6 May 2017 22:50:13 +0000
+Subject: [PATCH] ITS#8650 retry gnutls_handshake after GNUTLS_E_AGAIN
+
+---
+ libraries/libldap/tls_g.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/libraries/libldap/tls_g.c b/libraries/libldap/tls_g.c
+index 02f71b05f..0df32a8e4 100644
+--- a/libraries/libldap/tls_g.c
++++ b/libraries/libldap/tls_g.c
+@@ -388,7 +388,9 @@ tlsg_session_accept( tls_session *session )
+ 	tlsg_session *s = (tlsg_session *)session;
+ 	int rc;
+ 
+-	rc = gnutls_handshake( s->session );
++	for ( rc = gnutls_handshake ( s->session );
++	      rc == GNUTLS_E_INTERRUPTED || rc == GNUTLS_E_AGAIN;
++	      rc = gnutls_handshake ( s->session ) );
+ 	if ( rc == 0 && s->ctx->reqcert != LDAP_OPT_X_TLS_NEVER ) {
+ 		const gnutls_datum_t *peer_cert_list;
+ 		unsigned int list_size;
+-- 
+2.11.0
+
diff --git a/debian/patches/series b/debian/patches/series
index 49adda9..8db1412 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -23,3 +23,4 @@ switch-to-lt_dlopenadvise-to-get-RTLD_GLOBAL-set.diff
 no-bdb-ABI-second-guessing
 ITS6035-olcauthzregex-needs-restart.patch
 set-maintainer-name
+ITS8650-retry-gnutls_handshake-after-GNUTLS_E_AGAIN.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-openldap/openldap.git



More information about the Pkg-openldap-devel mailing list