Hello community, here is the log from the commit of package libserf for openSUSE:Factory checked in at 2013-12-10 17:43:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libserf (Old) and /work/SRC/openSUSE:Factory/.libserf.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libserf" Changes: -------- --- /work/SRC/openSUSE:Factory/libserf/libserf.changes 2013-10-06 14:27:53.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libserf.new/libserf.changes 2013-12-10 17:43:41.000000000 +0100 @@ -1,0 +2,13 @@ +Mon Dec 9 23:04:30 UTC 2013 - andreas.stie...@gmx.de + +- update to 1.3.3 + This is a small patch release containing a fix to solve a problem + connecting to multi-homed servers (e.g. ipv4/ipv6) and some + improvements in the use of error codes during ssl certificate + validation and handling of timed out connections. + * Try more addresses of multihomed servers + * Handle X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE correctly + * Return APR_TIMEUP from poll() to enable detecting connection + timeouts + +------------------------------------------------------------------- Old: ---- serf-1.3.2.tar.bz2 New: ---- serf-1.3.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libserf.spec ++++++ --- /var/tmp/diff_new_pack.bpFJWR/_old 2013-12-10 17:43:41.000000000 +0100 +++ /var/tmp/diff_new_pack.bpFJWR/_new 2013-12-10 17:43:41.000000000 +0100 @@ -24,7 +24,7 @@ %define major 1 %define minor 3 %define SHLIBVER %major.%minor.0 -Version: 1.3.2 +Version: 1.3.3 Release: 0 Summary: High-Performance Asynchronous HTTP Client Library License: Apache-2.0 ++++++ serf-1.3.2.tar.bz2 -> serf-1.3.3.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/serf-1.3.2/CHANGES new/serf-1.3.3/CHANGES --- old/serf-1.3.2/CHANGES 2013-10-04 20:33:48.000000000 +0200 +++ new/serf-1.3.3/CHANGES 2013-12-09 20:43:10.000000000 +0100 @@ -1,4 +1,10 @@ -Serf 1.3.2 [2013-10-04, from /tags/1.3.2, r????] +Serf 1.3.3 [2013-12-09, from /tags/1.3.3, r????] + Fix issue 129: Try more addresses of multihomed servers + Handle X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE correctly (r2225) + Return APR_TIMEUP from poll() to enable detecting connection timeouts (r2183) + + +Serf 1.3.2 [2013-10-04, from /tags/1.3.2, r2195] Fix issue 130: HTTP headers should be treated case-insensitively Fix issue 126: Compilation breaks with Codewarrior compiler Fix crash during cleanup of SSL buckets in apr_terminate() (r2145) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/serf-1.3.2/buckets/ssl_buckets.c new/serf-1.3.3/buckets/ssl_buckets.c --- old/serf-1.3.2/buckets/ssl_buckets.c 2013-09-29 08:37:46.000000000 +0200 +++ new/serf-1.3.3/buckets/ssl_buckets.c 2013-11-29 22:22:42.000000000 +0100 @@ -463,6 +463,7 @@ case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: case X509_V_ERR_CERT_UNTRUSTED: case X509_V_ERR_INVALID_CA: + case X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: failures |= SERF_SSL_CERT_UNKNOWNCA; break; case X509_V_ERR_CERT_REVOKED: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/serf-1.3.2/context.c new/serf-1.3.3/context.c --- old/serf-1.3.2/context.c 2013-07-21 16:21:27.000000000 +0200 +++ new/serf-1.3.3/context.c 2013-11-29 22:57:23.000000000 +0100 @@ -285,6 +285,12 @@ ### look at the potential return codes. map to our defined ### return values? ... */ + + /* Use the strict documented error for poll timeouts, to allow proper + handling of the other timeout types when returned from + serf_event_trigger */ + if (APR_STATUS_IS_TIMEUP(status)) + return APR_TIMEUP; /* Return the documented error */ return status; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/serf-1.3.2/outgoing.c new/serf-1.3.3/outgoing.c --- old/serf-1.3.2/outgoing.c 2013-09-29 08:37:46.000000000 +0200 +++ new/serf-1.3.3/outgoing.c 2013-11-29 21:56:28.000000000 +0100 @@ -1285,8 +1285,29 @@ int error; apr_socklen_t l = sizeof(error); - if (!getsockopt(osskt, SOL_SOCKET, SO_ERROR, (char*)&error, &l)) - return APR_FROM_OS_ERROR(error); + if (!getsockopt(osskt, SOL_SOCKET, SO_ERROR, (char*)&error, + &l)) { + status = APR_FROM_OS_ERROR(error); + + /* Handle fallback for multi-homed servers. + + ### Improve algorithm to find better than just 'next'? + + Current Windows versions already handle re-ordering for + api users by using statistics on the recently failed + connections to order the list of addresses. */ + if (conn->completed_requests == 0 + && conn->address->next != NULL + && (APR_STATUS_IS_ECONNREFUSED(status) + || APR_STATUS_IS_TIMEUP(status) + || APR_STATUS_IS_ENETUNREACH(status))) { + + conn->address = conn->address->next; + return reset_connection(conn, 1); + } + + return status; + } } } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/serf-1.3.2/serf.h new/serf-1.3.3/serf.h --- old/serf-1.3.2/serf.h 2013-08-15 22:07:26.000000000 +0200 +++ new/serf-1.3.3/serf.h 2013-11-29 21:36:01.000000000 +0100 @@ -1062,7 +1062,7 @@ /* Version info */ #define SERF_MAJOR_VERSION 1 #define SERF_MINOR_VERSION 3 -#define SERF_PATCH_VERSION 2 +#define SERF_PATCH_VERSION 3 /* Version number string */ #define SERF_VERSION_STRING APR_STRINGIFY(SERF_MAJOR_VERSION) "." \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/serf-1.3.2/test/test_context.c new/serf-1.3.3/test/test_context.c --- old/serf-1.3.2/test/test_context.c 2013-09-29 08:37:46.000000000 +0200 +++ new/serf-1.3.3/test/test_context.c 2013-11-29 22:22:42.000000000 +0100 @@ -1180,8 +1180,7 @@ /* This unknown failures is X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE, meaning the chain has only the server cert. A good candidate for its own failure code. */ - expected_failures = SERF_SSL_CERT_UNKNOWNCA | - SERF_SSL_CERT_UNKNOWN_FAILURE; + expected_failures = SERF_SSL_CERT_UNKNOWNCA; tb->user_baton = &expected_failures; create_new_request(tb, &handler_ctx[0], "GET", "/", 1); -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org