fix regression in http2 implementation
... introduced in the last release
This commit is contained in:
		
							parent
							
								
									f97c73e9d7
								
							
						
					
					
						commit
						e2155b2695
					
				
							
								
								
									
										53
									
								
								0002-curl-7.79.0-http2-fixup.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								0002-curl-7.79.0-http2-fixup.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,53 @@
 | 
			
		||||
From 130f84913b372f27e8db065a614cd34beda3ba14 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Daniel Stenberg <daniel@haxx.se>
 | 
			
		||||
Date: Thu, 16 Sep 2021 08:50:54 +0200
 | 
			
		||||
Subject: [PATCH] Curl_http2_setup: don't change connection data on repeat
 | 
			
		||||
 invokes
 | 
			
		||||
 | 
			
		||||
Regression from 3cb8a748670ab88c (releasde in 7.79.0). That change moved
 | 
			
		||||
transfer oriented inits to before the check but also erroneously moved a
 | 
			
		||||
few connection oriented ones, which causes problems.
 | 
			
		||||
 | 
			
		||||
Reported-by: Evangelos Foutras
 | 
			
		||||
Fixes #7730
 | 
			
		||||
Closes #7731
 | 
			
		||||
 | 
			
		||||
Upstream-commit: 901804ef95777b8e735a55b77f8dd630a58c575b
 | 
			
		||||
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
 | 
			
		||||
---
 | 
			
		||||
 lib/http2.c | 12 ++++++------
 | 
			
		||||
 1 file changed, 6 insertions(+), 6 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/lib/http2.c b/lib/http2.c
 | 
			
		||||
index a3de607c7..6d63f4363 100644
 | 
			
		||||
--- a/lib/http2.c
 | 
			
		||||
+++ b/lib/http2.c
 | 
			
		||||
@@ -2221,12 +2221,6 @@ CURLcode Curl_http2_setup(struct Curl_easy *data,
 | 
			
		||||
   stream->mem = data->state.buffer;
 | 
			
		||||
   stream->len = data->set.buffer_size;
 | 
			
		||||
 
 | 
			
		||||
-  httpc->inbuflen = 0;
 | 
			
		||||
-  httpc->nread_inbuf = 0;
 | 
			
		||||
-
 | 
			
		||||
-  httpc->pause_stream_id = 0;
 | 
			
		||||
-  httpc->drain_total = 0;
 | 
			
		||||
-
 | 
			
		||||
   multi_connchanged(data->multi);
 | 
			
		||||
   /* below this point only connection related inits are done, which only needs
 | 
			
		||||
      to be done once per connection */
 | 
			
		||||
@@ -2252,6 +2246,12 @@ CURLcode Curl_http2_setup(struct Curl_easy *data,
 | 
			
		||||
   conn->httpversion = 20;
 | 
			
		||||
   conn->bundle->multiuse = BUNDLE_MULTIPLEX;
 | 
			
		||||
 
 | 
			
		||||
+  httpc->inbuflen = 0;
 | 
			
		||||
+  httpc->nread_inbuf = 0;
 | 
			
		||||
+
 | 
			
		||||
+  httpc->pause_stream_id = 0;
 | 
			
		||||
+  httpc->drain_total = 0;
 | 
			
		||||
+
 | 
			
		||||
   infof(data, "Connection state changed (HTTP/2 confirmed)");
 | 
			
		||||
 
 | 
			
		||||
   return CURLE_OK;
 | 
			
		||||
-- 
 | 
			
		||||
2.31.1
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
 | 
			
		||||
Name: curl
 | 
			
		||||
Version: 7.79.0
 | 
			
		||||
Release: 3%{?dist}
 | 
			
		||||
Release: 4%{?dist}
 | 
			
		||||
License: MIT
 | 
			
		||||
Source0: https://curl.se/download/%{name}-%{version}.tar.xz
 | 
			
		||||
Source1: https://curl.se/download/%{name}-%{version}.tar.xz.asc
 | 
			
		||||
@ -13,6 +13,9 @@ Source2: mykey.asc
 | 
			
		||||
# make SCP/SFTP tests work with openssh-8.7p1
 | 
			
		||||
Patch1:   0001-curl-7.79.0-ssh-tests.patch
 | 
			
		||||
 | 
			
		||||
# fix regression in http2 implementation introduced in the last release
 | 
			
		||||
Patch2:   0002-curl-7.79.0-http2-fixup.patch
 | 
			
		||||
 | 
			
		||||
# patch making libcurl multilib ready
 | 
			
		||||
Patch101: 0101-curl-7.32.0-multilib.patch
 | 
			
		||||
 | 
			
		||||
@ -187,6 +190,7 @@ be installed.
 | 
			
		||||
 | 
			
		||||
# upstream patches
 | 
			
		||||
%patch1 -p1
 | 
			
		||||
%patch2 -p1
 | 
			
		||||
 | 
			
		||||
# Fedora patches
 | 
			
		||||
%patch101 -p1
 | 
			
		||||
@ -372,6 +376,9 @@ rm -f ${RPM_BUILD_ROOT}%{_libdir}/libcurl.la
 | 
			
		||||
%{_libdir}/libcurl.so.4.[0-9].[0-9].minimal
 | 
			
		||||
 | 
			
		||||
%changelog
 | 
			
		||||
* Thu Sep 16 2021 Kamil Dudka <kdudka@redhat.com> - 7.79.0-4
 | 
			
		||||
- fix regression in http2 implementation introduced in the last release
 | 
			
		||||
 | 
			
		||||
* Thu Sep 16 2021 Sahana Prasad <sahana@redhat.com> - 7.79.0-3
 | 
			
		||||
- Rebuilt with OpenSSL 3.0.0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user