From 3a430da97a860979e44178957b26df7fa5f2fd53 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Sun, 16 Feb 2014 17:44:43 -0600
Subject: curl: 7.34

---
 ...-all-addresses-in-first-connection-attemp.patch | 47 ++++++++++++++++++++++
 abs/core/curl/PKGBUILD                             | 43 +++++++++++---------
 2 files changed, 72 insertions(+), 18 deletions(-)
 create mode 100644 abs/core/curl/0001-connect-Try-all-addresses-in-first-connection-attemp.patch

diff --git a/abs/core/curl/0001-connect-Try-all-addresses-in-first-connection-attemp.patch b/abs/core/curl/0001-connect-Try-all-addresses-in-first-connection-attemp.patch
new file mode 100644
index 0000000..f3428c7
--- /dev/null
+++ b/abs/core/curl/0001-connect-Try-all-addresses-in-first-connection-attemp.patch
@@ -0,0 +1,47 @@
+From 4e1ece2e44f432c2614f2090155c0aaf2226ea80 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B6rn=20Stenberg?= <bjorn@haxx.se>
+Date: Sat, 28 Dec 2013 13:42:57 +0100
+Subject: [PATCH] connect: Try all addresses in first connection attempt
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes a bug when all addresses in the first family fail immediately, due
+to "Network unreachable" for example, curl would hang and never try the
+next address family.
+
+Iterate through all address families when to trying establish the first
+connection attempt.
+
+Bug: http://curl.haxx.se/bug/view.cgi?id=1315
+Reported-by: Michal Górny and Anthony G. Basile
+---
+ lib/connect.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/lib/connect.c b/lib/connect.c
+index 4b6ee00..588ac28 100644
+--- a/lib/connect.c
++++ b/lib/connect.c
+@@ -1104,12 +1104,12 @@ CURLcode Curl_connecthost(struct connectdata *conn,  /* context */
+     conn->tempaddr[0]->ai_next == NULL ? timeout_ms : timeout_ms / 2;
+ 
+   /* start connecting to first IP */
+-  res = singleipconnect(conn, conn->tempaddr[0], &(conn->tempsock[0]));
+-  while(res != CURLE_OK &&
+-        conn->tempaddr[0] &&
+-        conn->tempaddr[0]->ai_next &&
+-        conn->tempsock[0] == CURL_SOCKET_BAD)
+-    res = trynextip(conn, FIRSTSOCKET, 0);
++  while(conn->tempaddr[0]) {
++    res = singleipconnect(conn, conn->tempaddr[0], &(conn->tempsock[0]));
++    if(res == CURLE_OK)
++        break;
++    conn->tempaddr[0] = conn->tempaddr[0]->ai_next;
++  }
+ 
+   if(conn->tempsock[0] == CURL_SOCKET_BAD)
+     return res;
+-- 
+1.8.5.2
+
diff --git a/abs/core/curl/PKGBUILD b/abs/core/curl/PKGBUILD
index f318660..d2f7f52 100644
--- a/abs/core/curl/PKGBUILD
+++ b/abs/core/curl/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 160000 2012-05-27 15:59:46Z dreisner $
+# $Id: PKGBUILD 203041 2014-01-02 14:43:46Z dreisner $
 # Maintainer: Dave Reisner <dreisner@archlinux.org>
 # Contributor: Angel Velasquez <angvp@archlinux.org>
 # Contributor: Eric Belanger <eric@archlinux.org>
@@ -6,28 +6,24 @@
 # Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
 
 pkgname=curl
-pkgver=7.26.0
-pkgrel=1
-pkgdesc="An URL retrival utility and library"
+pkgver=7.34.0
+pkgrel=2
+pkgdesc="An URL retrieval utility and library"
 arch=('i686' 'x86_64')
 url="http://curl.haxx.se"
 license=('MIT')
 depends=('ca-certificates' 'libssh2' 'openssl' 'zlib')
-options=('!libtool')
+provides=('libcurl.so')
+options=('strip' 'debug')
 source=("http://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc}
+        0001-connect-Try-all-addresses-in-first-connection-attemp.patch
         curlbuild.h)
-md5sums=('3fa4d5236f2a36ca5c3af6715e837691'
-         '61b594830d5acba3c99e4af0ba39a14e'
-         '751bd433ede935c8fae727377625a8ae')
 
-ptrsize=$(cpp <<<'__SIZEOF_POINTER__' | sed '/^#/d')
-case $ptrsize in
-  8) _curlbuild=curlbuild-64.h ;;
-  4) _curlbuild=curlbuild-32.h ;;
-  *) error "unknown pointer size for architecture: %s bytes" "$ptrsize"
-    exit 1
-    ;;
-esac
+prepare() {
+  cd "$pkgname-$pkgver"
+
+  patch -Np1 <"$srcdir"/0001-connect-Try-all-addresses-in-first-connection-attemp.patch
+}
 
 build() {
   cd "$pkgname-$pkgver"
@@ -35,7 +31,6 @@ build() {
   ./configure \
       --prefix=/usr \
       --mandir=/usr/share/man \
-      --disable-dependency-tracking \
       --disable-ldap \
       --disable-ldaps \
       --enable-ipv6 \
@@ -54,11 +49,23 @@ package() {
 
   make DESTDIR="$pkgdir" install
 
+  local ptrsize=$(cpp <<<'__SIZEOF_POINTER__' | sed '/^#/d')
+  case $ptrsize in
+    8) _curlbuild=curlbuild-64.h ;;
+    4) _curlbuild=curlbuild-32.h ;;
+    *) error "unknown pointer size for architecture: %s bytes" "$ptrsize"
+      exit 1
+      ;;
+  esac
+
   # license
   install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
 
   # devel
-  install -Dm644 docs/libcurl/libcurl.m4 "$pkgdir/usr/share/aclocal/libcurl.m4"
   mv "$pkgdir/usr/include/curl/curlbuild.h" "$pkgdir/usr/include/curl/$_curlbuild"
   install -m644 "$srcdir/curlbuild.h" "$pkgdir/usr/include/curl/curlbuild.h"
 }
+md5sums=('d5b7edccbd1793e3549842e01331da20'
+         'SKIP'
+         'ee755b0e886207fc1e8154e426c46ca7'
+         '751bd433ede935c8fae727377625a8ae')
-- 
cgit v0.12

