Hello community,

here is the log from the commit of package curl for openSUSE:Factory checked in 
at 2016-05-12 09:33:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/curl (Old)
 and      /work/SRC/openSUSE:Factory/.curl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "curl"

Changes:
--------
--- /work/SRC/openSUSE:Factory/curl/curl.changes        2016-04-06 
11:50:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.curl.new/curl.changes   2016-05-12 
09:33:02.000000000 +0200
@@ -1,0 +2,9 @@
+Thu May  5 18:53:47 UTC 2016 - [email protected]
+
+- Add 0001-Fix-invalid-Network-is-unreachable-errors.patch.
+  Fixes "Network is unreachable" errors in valid situations when ipv6
+  is not available but ipv4 is working fine. This also fixes the same
+  error from happening in applications using libcurl4 (like zypper).
+  (bsc#915846)
+
+-------------------------------------------------------------------

New:
----
  0001-Fix-invalid-Network-is-unreachable-errors.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ curl.spec ++++++
--- /var/tmp/diff_new_pack.jZtAVM/_old  2016-05-12 09:33:03.000000000 +0200
+++ /var/tmp/diff_new_pack.jZtAVM/_new  2016-05-12 09:33:03.000000000 +0200
@@ -33,6 +33,8 @@
 Patch0:         libcurl-ocloexec.patch
 Patch1:         dont-mess-with-rpmoptflags.diff
 Patch3:         curl-secure-getenv.patch
+# PATCH-FIX-UPSTREAM 0001-Fix-invalid-Network-is-unreachable-errors.patch -- 
Fixes "network is unreachable" errors in valid situations when ipv6 is not 
working but ipv4 is
+Patch4:         0001-Fix-invalid-Network-is-unreachable-errors.patch
 BuildRequires:  groff
 BuildRequires:  krb5-mini-devel
 BuildRequires:  libtool
@@ -97,6 +99,7 @@
 %patch0
 %patch1
 %patch3
+%patch4 -p1
 
 %build
 # curl complains if macro definition is contained in CFLAGS

++++++ 0001-Fix-invalid-Network-is-unreachable-errors.patch ++++++
>From 7781f212206ab3e7e26a73132c604b2dbb2498a1 Mon Sep 17 00:00:00 2001
From: Antonio Larrosa <[email protected]>
Date: Thu, 5 May 2016 19:50:15 +0200
Subject: [PATCH] Fix invalid "Network is unreachable" errors

Sometimes, in systems with both ipv4 and ipv6 addresses but where the
network doesn't support ipv6, Curl_is_connected returns an error
(intermittently) even if the ipv4 socket connects successfully.

This happens because there's a for-loop that iterates on the sockets
but the error variable is not resetted when the ipv4 is checked and
is ok.

This patch fixes this problem by setting error to 0 when checking the
second socket and not having a result yet.
---
 lib/connect.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/connect.c b/lib/connect.c
index 8dfe9e2..ac2f268 100644
--- a/lib/connect.c
+++ b/lib/connect.c
@@ -764,6 +764,7 @@ CURLcode Curl_is_connected(struct connectdata *conn,
     rc = Curl_socket_ready(CURL_SOCKET_BAD, conn->tempsock[i], 0);
 
     if(rc == 0) { /* no connection yet */
+      error = 0;
       if(curlx_tvdiff(now, conn->connecttime) >= conn->timeoutms_per_addr) {
         infof(data, "After %ldms connect time, move on!\n",
               conn->timeoutms_per_addr);
-- 
2.8.1




Reply via email to