- more patching for internal errors regression (#629858)

patch by Vivek Dasmohapatra
This commit is contained in:
Tomas Mraz 2010-09-23 18:35:42 +02:00
parent a1c5baab16
commit 5994244288
2 changed files with 35 additions and 1 deletions

View File

@ -0,0 +1,28 @@
From e6cc32d6af7749826807badd258224ec1bfa31ae Mon Sep 17 00:00:00 2001
From: Vivek Dasmohapatra <vivek@collabora.co.uk>
Date: Thu, 23 Sep 2010 16:43:12 +0100
Subject: [PATCH] IMED_RET macro should not clear session hash data if we are returning EAGAIN
GNUTLS_E_AGAIN implies we haven't finished the operation in question,
and therefore should not be clearing the cached hash data.
---
lib/gnutls_handshake.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c
index 84e6773..6e397b2 100644
--- a/lib/gnutls_handshake.c
+++ b/lib/gnutls_handshake.c
@@ -2736,7 +2736,8 @@ gnutls_handshake (gnutls_session_t session)
if (check_fatal != 0 && gnutls_error_is_fatal(ret)==0) return ret; \
gnutls_assert(); \
ERR( str, ret); \
- _gnutls_handshake_hash_buffers_clear(session); \
+ if (ret != GNUTLS_E_AGAIN) \
+ _gnutls_handshake_hash_buffers_clear(session); \
return ret; \
} } while (0)
--
1.7.0

View File

@ -1,7 +1,7 @@
Summary: A TLS protocol implementation
Name: gnutls
Version: 2.10.1
Release: 2%{?dist}
Release: 3%{?dist}
# The libgnutls library is LGPLv2+, utilities and remaining libraries are GPLv3+
License: GPLv3+ and LGPLv2+
Group: System Environment/Libraries
@ -21,6 +21,7 @@ Patch2: gnutls-2.8.6-link-libgcrypt.patch
Patch3: gnutls-2.10.1-nosrp.patch
# Backport from upstream git
Patch4: gnutls-2.10.1-handshake-errors.patch
Patch5: gnutls-2.10.1-imed-ret.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: libgcrypt >= 1.2.2
@ -77,6 +78,7 @@ This package contains Guile bindings for the library.
%patch2 -p1 -b .link
%patch3 -p1 -b .nosrp
%patch4 -p1 -b .errors
%patch5 -p1 -b .imed-ret
for i in auth_srp_rsa.c auth_srp_sb64.c auth_srp_passwd.c auth_srp.c gnutls_srp.c ext_srp.c; do
touch lib/$i
@ -160,6 +162,10 @@ fi
%{_datadir}/guile/site/gnutls.scm
%changelog
* Thu Sep 23 2010 Tomas Mraz <tmraz@redhat.com> 2.10.1-3
- more patching for internal errors regression (#629858)
patch by Vivek Dasmohapatra
* Tue Sep 21 2010 Tomas Mraz <tmraz@redhat.com> 2.10.1-2
- backported patch from upstream git hopefully fixing internal errors
(#629858)