From bfaeb9dd10811fe213b674b0c2c9ceef334d0a4a Mon Sep 17 00:00:00 2001 From: Kamil Dudka Date: Wed, 12 Aug 2015 12:04:39 +0200 Subject: [PATCH] new upstream release - 7.44.0 --- 0001-curl-7.43.0-f7dcc7c1.patch | 111 -------------------------------- 0102-curl-7.36.0-debug.patch | 2 +- curl-7.43.0.tar.lzma.asc | 7 -- curl-7.44.0.tar.lzma.asc | 7 ++ curl.spec | 11 ++-- sources | 2 +- 6 files changed, 14 insertions(+), 126 deletions(-) delete mode 100644 0001-curl-7.43.0-f7dcc7c1.patch delete mode 100644 curl-7.43.0.tar.lzma.asc create mode 100644 curl-7.44.0.tar.lzma.asc diff --git a/0001-curl-7.43.0-f7dcc7c1.patch b/0001-curl-7.43.0-f7dcc7c1.patch deleted file mode 100644 index ab2a62f..0000000 --- a/0001-curl-7.43.0-f7dcc7c1.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 2f8154c11e2cc139067973e47f1ffe5a302fb89d Mon Sep 17 00:00:00 2001 -From: Kamil Dudka -Date: Thu, 30 Jul 2015 12:01:20 +0200 -Subject: [PATCH] http: move HTTP/2 cleanup code off http_disconnect() - -Otherwise it would never be called for an HTTP/2 connection, which has -its own disconnect handler. - -I spotted this while debugging -where the http_disconnect() handler was called on an FTP session handle -causing 'dnf' to crash. conn->data->req.protop of type (struct FTP *) -was reinterpreted as type (struct HTTP *) which resulted in SIGSEGV in -Curl_add_buffer_free() after printing the "Connection cache is full, -closing the oldest one." message. - -A previously working version of libcurl started to crash after it was -recompiled with the HTTP/2 support despite the HTTP/2 protocol was not -actually used. This commit makes it work again although I suspect the -root cause (reinterpreting session handle data of incompatible protocol) -still has to be fixed. Otherwise the same will happen when mixing FTP -and HTTP/2 connections and exceeding the connection cache limit. - -Reported-by: Tomas Tomecek -Bug: https://bugzilla.redhat.com/1248389 - -Upstream-commit: f7dcc7c11817f6eaee61b1cd84ffc1b2b1fcac43 -Signed-off-by: Kamil Dudka ---- - lib/http.c | 25 ++----------------------- - lib/http2.c | 11 +++++++++++ - 2 files changed, 13 insertions(+), 23 deletions(-) - -diff --git a/lib/http.c b/lib/http.c -index a1eef81..8d5b9a4 100644 ---- a/lib/http.c -+++ b/lib/http.c -@@ -86,7 +86,6 @@ - * Forward declarations. - */ - --static CURLcode http_disconnect(struct connectdata *conn, bool dead); - static int http_getsock_do(struct connectdata *conn, - curl_socket_t *socks, - int numsocks); -@@ -117,7 +116,7 @@ const struct Curl_handler Curl_handler_http = { - http_getsock_do, /* doing_getsock */ - ZERO_NULL, /* domore_getsock */ - ZERO_NULL, /* perform_getsock */ -- http_disconnect, /* disconnect */ -+ ZERO_NULL, /* disconnect */ - ZERO_NULL, /* readwrite */ - PORT_HTTP, /* defport */ - CURLPROTO_HTTP, /* protocol */ -@@ -141,7 +140,7 @@ const struct Curl_handler Curl_handler_https = { - http_getsock_do, /* doing_getsock */ - ZERO_NULL, /* domore_getsock */ - ZERO_NULL, /* perform_getsock */ -- http_disconnect, /* disconnect */ -+ ZERO_NULL, /* disconnect */ - ZERO_NULL, /* readwrite */ - PORT_HTTPS, /* defport */ - CURLPROTO_HTTPS, /* protocol */ -@@ -168,21 +167,6 @@ CURLcode Curl_http_setup_conn(struct connectdata *conn) - return CURLE_OK; - } - --static CURLcode http_disconnect(struct connectdata *conn, bool dead_connection) --{ --#ifdef USE_NGHTTP2 -- struct HTTP *http = conn->data->req.protop; -- if(http) { -- Curl_add_buffer_free(http->header_recvbuf); -- http->header_recvbuf = NULL; /* clear the pointer */ -- } --#else -- (void)conn; --#endif -- (void)dead_connection; -- return CURLE_OK; --} -- - /* - * checkheaders() checks the linked list of custom HTTP headers for a - * particular header (prefix). -diff --git a/lib/http2.c b/lib/http2.c -index 1a2c486..eec0c9f 100644 ---- a/lib/http2.c -+++ b/lib/http2.c -@@ -79,6 +79,7 @@ static int http2_getsock(struct connectdata *conn, - static CURLcode http2_disconnect(struct connectdata *conn, - bool dead_connection) - { -+ struct HTTP *http = conn->data->req.protop; - struct http_conn *c = &conn->proto.httpc; - (void)dead_connection; - -@@ -88,6 +89,11 @@ static CURLcode http2_disconnect(struct connectdata *conn, - Curl_safefree(c->inbuf); - Curl_hash_destroy(&c->streamsh); - -+ if(http) { -+ Curl_add_buffer_free(http->header_recvbuf); -+ http->header_recvbuf = NULL; /* clear the pointer */ -+ } -+ - DEBUGF(infof(conn->data, "HTTP/2 DISCONNECT done\n")); - - return CURLE_OK; --- -2.4.6 - diff --git a/0102-curl-7.36.0-debug.patch b/0102-curl-7.36.0-debug.patch index 7232a68..311ebb0 100644 --- a/0102-curl-7.36.0-debug.patch +++ b/0102-curl-7.36.0-debug.patch @@ -12,7 +12,7 @@ diff --git a/configure b/configure index 8f079a3..53b4774 100755 --- a/configure +++ b/configure -@@ -16075,18 +16075,11 @@ $as_echo "yes" >&6; } +@@ -16109,18 +16109,11 @@ $as_echo "yes" >&6; } gccvhi=`echo $gccver | cut -d . -f1` gccvlo=`echo $gccver | cut -d . -f2` compiler_num=`(expr $gccvhi "*" 100 + $gccvlo) 2>/dev/null` diff --git a/curl-7.43.0.tar.lzma.asc b/curl-7.43.0.tar.lzma.asc deleted file mode 100644 index 0898e26..0000000 --- a/curl-7.43.0.tar.lzma.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1 - -iEYEABECAAYFAlWBDEMACgkQeOEcayedXJEmEACfRhRhpQINTGbbdK2u/p97qMzq -EBsAn1SxVVYoOudPZ0SOZ+10cau0b0sC -=Zuc9 ------END PGP SIGNATURE----- diff --git a/curl-7.44.0.tar.lzma.asc b/curl-7.44.0.tar.lzma.asc new file mode 100644 index 0000000..a7b22e4 --- /dev/null +++ b/curl-7.44.0.tar.lzma.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iEYEABECAAYFAlXK47IACgkQeOEcayedXJEpMgCg8hUSyXOqdU+6oSo5j+FCQVy1 +kaUAoLxHC7qRuXCP3ZCsL+VvsiOqDc/E +=JM7A +-----END PGP SIGNATURE----- diff --git a/curl.spec b/curl.spec index 5548d7c..4b0a408 100644 --- a/curl.spec +++ b/curl.spec @@ -1,15 +1,12 @@ Summary: A utility for getting files from remote servers (FTP, HTTP, and others) Name: curl -Version: 7.43.0 -Release: 3%{?dist} +Version: 7.44.0 +Release: 1%{?dist} License: MIT Group: Applications/Internet Source: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma Source2: curlbuild.h -# prevent dnf from crashing when using both FTP and HTTP (#1248389) -Patch1: 0001-curl-7.43.0-f7dcc7c1.patch - # patch making libcurl multilib ready Patch101: 0101-curl-7.32.0-multilib.patch @@ -115,7 +112,6 @@ documentation of the library, too. %setup -q # upstream patches -%patch1 -p1 # Fedora patches %patch101 -p1 @@ -235,6 +231,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/aclocal/libcurl.m4 %changelog +* Wed Aug 12 2015 Kamil Dudka 7.44.0-1 +- new upstream release + * Thu Jul 30 2015 Kamil Dudka 7.43.0-3 - prevent dnf from crashing when using both FTP and HTTP (#1248389) diff --git a/sources b/sources index cd9c54c..50d8b76 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -95df6d1ce9c970289d2997e603d6fd79 curl-7.43.0.tar.lzma +2f924c80bb7124dff1b39f54ffda3781 curl-7.44.0.tar.lzma