Accepting request 38154 from home:coolo:branches:openSUSE:Factory

Copy from home:coolo:branches:openSUSE:Factory/neon via accept of submit request 38154 revision 2.
Request was accepted with message:
Reviewed ok

OBS-URL: https://build.opensuse.org/request/show/38154
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/neon?expand=0&rev=9
This commit is contained in:
Stephan Kulow
2010-04-18 19:47:21 +00:00
committed by Git OBS Bridge
parent a951c55c9c
commit 5e57b7e8fd
3 changed files with 91 additions and 18 deletions

83
neon-openssl.patch Normal file
View File

@@ -0,0 +1,83 @@
Author: joe
Date: Sat Sep 12 13:03:49 2009
New Revision: 1724
Modified:
neon/trunk/macros/neon.m4
neon/trunk/src/ne_openssl.c
neon/trunk/src/ne_socket.c
Log:
* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Require inet_pton for
getaddrinfo support.
* src/ne_socket.c (ne_sock_accept_ssl): Add debug log output if
session is resumed.
* macros/neon.m4 (NEON_SSL): Check for SSL_SESSION_cmp.
Modified: neon/trunk/macros/neon.m4
==============================================================================
--- neon/trunk/macros/neon.m4 (original)
+++ neon/trunk/macros/neon.m4 Sat Sep 12 13:03:49 2009
@@ -923,7 +923,7 @@
if test "$ne_cv_lib_ssl097" = "yes"; then
AC_MSG_NOTICE([OpenSSL >= 0.9.7; EGD support not needed in neon])
NE_ENABLE_SUPPORT(SSL, [SSL support enabled, using OpenSSL (0.9.7 or later)])
- NE_CHECK_FUNCS(CRYPTO_set_idptr_callback)
+ NE_CHECK_FUNCS(CRYPTO_set_idptr_callback SSL_SESSION_cmp)
else
# Fail if OpenSSL is older than 0.9.6
NE_CHECK_OPENSSLVER(ne_cv_lib_ssl096, 0.9.6, 0x00906000L)
Modified: neon/trunk/src/ne_openssl.c
==============================================================================
--- neon/trunk/src/ne_openssl.c (original)
+++ neon/trunk/src/ne_openssl.c Sat Sep 12 13:03:49 2009
@@ -34,6 +34,7 @@
#include <openssl/pkcs12.h>
#include <openssl/x509v3.h>
#include <openssl/rand.h>
+#include <openssl/opensslv.h>
#ifdef NE_HAVE_TS_SSL
#include <stdlib.h> /* for abort() */
@@ -632,6 +633,19 @@
ne_free(ctx);
}
+#if !defined(HAVE_SSL_SESSION_CMP) && !defined(SSL_SESSION_cmp) \
+ && defined(OPENSSL_VERSION_NUMBER) \
+ && OPENSSL_VERSION_NUMBER > 0x10000000L
+/* OpenSSL 1.0 removed SSL_SESSION_cmp for no apparent reason - hoping
+ * it is reasonable to assume that comparing the session IDs is
+ * sufficient. */
+static int SSL_SESSION_cmp(SSL_SESSION *a, SSL_SESSION *b)
+{
+ return a->session_id_length == b->session_id_length
+ && memcmp(a->session_id, b->session_id, a->session_id_length) == 0;
+}
+#endif
+
/* For internal use only. */
int ne__negotiate_ssl(ne_session *sess)
{
Modified: neon/trunk/src/ne_socket.c
==============================================================================
--- neon/trunk/src/ne_socket.c (original)
+++ neon/trunk/src/ne_socket.c Sat Sep 12 13:03:49 2009
@@ -1639,6 +1639,10 @@
if (ret != 1) {
return error_ossl(sock, ret);
}
+
+ if (SSL_session_reused(ssl)) {
+ NE_DEBUG(NE_DBG_SSL, "ssl: Server reused session.\n");
+ }
#elif defined(HAVE_GNUTLS)
gnutls_init(&ssl, GNUTLS_SERVER);
gnutls_credentials_set(ssl, GNUTLS_CRD_CERTIFICATE, ctx->cred);

View File

@@ -1,3 +1,8 @@
-------------------------------------------------------------------
Sun Apr 18 19:23:22 UTC 2010 - coolo@novell.com
- take patch from upstream to fix openssl linkage
-------------------------------------------------------------------
Mon Feb 1 12:06:17 UTC 2010 - jengelh@medozas.de

View File

@@ -36,6 +36,8 @@ Source: http://www.webdav.org/neon/neon-%{version}.tar.bz2
Source2: baselibs.conf
Patch0: %{name}-0.28.4-bloat.patch
Patch1: %{name}-0.28.4-CVE-2009-2473,2474.patch
# http://lists.manyfish.co.uk/pipermail/neon-commits/2009-September/000827.html
Patch2: %{name}-openssl.patch
%description
neon is an HTTP and WebDAV client library with a C interface.
@@ -63,12 +65,6 @@ neon is an HTTP and WebDAV client library with a C interface.
* WebDAV metadata support: set and remove properties, query any set of
properties (PROPPATCH/PROPFIND)
Authors:
--------
Joe Orton <joe@manyfish.co.uk>
%package -n libneon27
License: GPLv2+
Summary: An HTTP and WebDAV Client Library
@@ -106,12 +102,6 @@ neon is an HTTP and WebDAV client library with a C interface.
* WebDAV metadata support: set and remove properties, query any set of
properties (PROPPATCH/PROPFIND)
Authors:
--------
Joe Orton <joe@manyfish.co.uk>
%package -n libneon-devel
License: GPLv2+
Summary: An HTTP and WebDAV Client Library
@@ -152,16 +142,11 @@ neon is an HTTP and WebDAV client library with a C interface.
* WebDAV metadata support: set and remove properties, query any set of
properties (PROPPATCH/PROPFIND)
Authors:
--------
Joe Orton <joe@manyfish.co.uk>
%prep
%setup -q
%patch0
%patch1
%patch2 -p2
%build
rm -f aclocal.m4 ltmain.sh