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

Reply via email to