From 840249ba3faadfc68fbda1433331a08b9842e904 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Thu, 13 Mar 2025 13:52:48 +0000 Subject: [PATCH] import CS httpcomponents-client-4.5.14-21.module_el9+1171+eb38a622 --- .gitignore | 2 +- .httpcomponents-client.metadata | 2 +- ...stem-copy-of-effective_tld_names.dat.patch | 8 +- SOURCES/0002-Port-to-mockito-2.patch | 16 +- ...ng-of-malformed-authority-component-.patch | 126 ------ SOURCES/0003-Port-to-Mockito-5.patch | 374 ++++++++++++++++++ SPECS/httpcomponents-client.spec | 167 ++++++-- 7 files changed, 513 insertions(+), 182 deletions(-) delete mode 100644 SOURCES/0003-Incorrect-handling-of-malformed-authority-component-.patch create mode 100644 SOURCES/0003-Port-to-Mockito-5.patch diff --git a/.gitignore b/.gitignore index f2c833d..13df5ed 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/httpcomponents-client-4.5.10-src.tar.gz +SOURCES/httpcomponents-client-4.5.14-source-release.zip diff --git a/.httpcomponents-client.metadata b/.httpcomponents-client.metadata index 29c41e4..0187b2a 100644 --- a/.httpcomponents-client.metadata +++ b/.httpcomponents-client.metadata @@ -1 +1 @@ -c3e525345e474f457b85d074a96865eaf5d397ad SOURCES/httpcomponents-client-4.5.10-src.tar.gz +13e3aded12730f659750acae2c24c1a1b49584eb SOURCES/httpcomponents-client-4.5.14-source-release.zip diff --git a/SOURCES/0001-Use-system-copy-of-effective_tld_names.dat.patch b/SOURCES/0001-Use-system-copy-of-effective_tld_names.dat.patch index aa8d09f..e4e0f7c 100644 --- a/SOURCES/0001-Use-system-copy-of-effective_tld_names.dat.patch +++ b/SOURCES/0001-Use-system-copy-of-effective_tld_names.dat.patch @@ -1,14 +1,14 @@ -From e1c756ba18432e60600c57370076761bf4774ee7 Mon Sep 17 00:00:00 2001 +From d9f08c36a39b035ec70a37cb6aac5f980cc57054 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Tue, 20 Jan 2015 16:04:31 +0100 -Subject: [PATCH 1/3] Use system copy of effective_tld_names.dat +Subject: [PATCH 1/2] Use system copy of effective_tld_names.dat --- .../apache/http/conn/util/PublicSuffixMatcherLoader.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/httpclient/src/main/java/org/apache/http/conn/util/PublicSuffixMatcherLoader.java b/httpclient/src/main/java/org/apache/http/conn/util/PublicSuffixMatcherLoader.java -index 3d762c188..c7b5a7eb1 100644 +index 8783c5b..c858220 100644 --- a/httpclient/src/main/java/org/apache/http/conn/util/PublicSuffixMatcherLoader.java +++ b/httpclient/src/main/java/org/apache/http/conn/util/PublicSuffixMatcherLoader.java @@ -82,11 +82,10 @@ public final class PublicSuffixMatcherLoader { @@ -27,5 +27,5 @@ index 3d762c188..c7b5a7eb1 100644 // Should never happen final Log log = LogFactory.getLog(PublicSuffixMatcherLoader.class); -- -2.31.1 +2.19.1 diff --git a/SOURCES/0002-Port-to-mockito-2.patch b/SOURCES/0002-Port-to-mockito-2.patch index 9b8eb05..606c615 100644 --- a/SOURCES/0002-Port-to-mockito-2.patch +++ b/SOURCES/0002-Port-to-mockito-2.patch @@ -1,7 +1,7 @@ -From e089dcee616e2fd37897e1a95492f581d1f6c939 Mon Sep 17 00:00:00 2001 +From 852a31061e2d46cc4bc1b5cfa388ed023de5095d Mon Sep 17 00:00:00 2001 From: Mat Booth Date: Fri, 7 Dec 2018 18:01:27 +0000 -Subject: [PATCH 2/3] Port to mockito 2 +Subject: [PATCH 2/2] Port to mockito 2 Gets it building, but disables tests that are caused by change in behaviour of mockito that I didn't know how to fix @@ -14,7 +14,7 @@ behaviour of mockito that I didn't know how to fix 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/httpclient/src/test/java/org/apache/http/impl/client/integration/TestAbortHandling.java b/httpclient/src/test/java/org/apache/http/impl/client/integration/TestAbortHandling.java -index 67f058ded..4a8cd1ab0 100644 +index 282e11b..0411caf 100644 --- a/httpclient/src/test/java/org/apache/http/impl/client/integration/TestAbortHandling.java +++ b/httpclient/src/test/java/org/apache/http/impl/client/integration/TestAbortHandling.java @@ -288,6 +288,7 @@ public class TestAbortHandling extends LocalServerTestBase { @@ -26,7 +26,7 @@ index 67f058ded..4a8cd1ab0 100644 final HttpClientConnection conn = Mockito.mock(HttpClientConnection.class); final ConnectionRequest connrequest = Mockito.mock(ConnectionRequest.class); diff --git a/httpclient/src/test/java/org/apache/http/impl/client/integration/TestSPNegoScheme.java b/httpclient/src/test/java/org/apache/http/impl/client/integration/TestSPNegoScheme.java -index f6380313e..31799cbc1 100644 +index f638031..31799cb 100644 --- a/httpclient/src/test/java/org/apache/http/impl/client/integration/TestSPNegoScheme.java +++ b/httpclient/src/test/java/org/apache/http/impl/client/integration/TestSPNegoScheme.java @@ -150,6 +150,7 @@ public class TestSPNegoScheme extends LocalServerTestBase { @@ -46,7 +46,7 @@ index f6380313e..31799cbc1 100644 this.serverBootstrap.registerHandler("*", new PleaseNegotiateService()); final HttpHost target = start(); diff --git a/httpclient/src/test/java/org/apache/http/impl/execchain/TestMainClientExec.java b/httpclient/src/test/java/org/apache/http/impl/execchain/TestMainClientExec.java -index 7de9921e2..07b6bfccc 100644 +index 2261da8..e922155 100644 --- a/httpclient/src/test/java/org/apache/http/impl/execchain/TestMainClientExec.java +++ b/httpclient/src/test/java/org/apache/http/impl/execchain/TestMainClientExec.java @@ -402,6 +402,7 @@ public class TestMainClientExec { @@ -65,7 +65,7 @@ index 7de9921e2..07b6bfccc 100644 \ No newline at end of file +} diff --git a/httpclient/src/test/java/org/apache/http/impl/execchain/TestMinimalClientExec.java b/httpclient/src/test/java/org/apache/http/impl/execchain/TestMinimalClientExec.java -index 9a96ba686..41eb0236f 100644 +index 9a96ba6..41eb023 100644 --- a/httpclient/src/test/java/org/apache/http/impl/execchain/TestMinimalClientExec.java +++ b/httpclient/src/test/java/org/apache/http/impl/execchain/TestMinimalClientExec.java @@ -256,6 +256,7 @@ public class TestMinimalClientExec { @@ -77,7 +77,7 @@ index 9a96ba686..41eb0236f 100644 final HttpRoute route = new HttpRoute(target); final HttpClientContext context = new HttpClientContext(); diff --git a/httpclient/src/test/java/org/apache/http/impl/execchain/TestRedirectExec.java b/httpclient/src/test/java/org/apache/http/impl/execchain/TestRedirectExec.java -index a5d0591da..78b1af440 100644 +index 5621a3f..23506dc 100644 --- a/httpclient/src/test/java/org/apache/http/impl/execchain/TestRedirectExec.java +++ b/httpclient/src/test/java/org/apache/http/impl/execchain/TestRedirectExec.java @@ -349,7 +349,7 @@ public class TestRedirectExec { @@ -100,5 +100,5 @@ index a5d0591da..78b1af440 100644 } -- -2.31.1 +2.19.1 diff --git a/SOURCES/0003-Incorrect-handling-of-malformed-authority-component-.patch b/SOURCES/0003-Incorrect-handling-of-malformed-authority-component-.patch deleted file mode 100644 index b4dd426..0000000 --- a/SOURCES/0003-Incorrect-handling-of-malformed-authority-component-.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 0ac5caeaed1fa0354e02e0609f2c726b1b72eb8c Mon Sep 17 00:00:00 2001 -From: Oleg Kalnichevski -Date: Tue, 29 Sep 2020 09:37:38 +0200 -Subject: [PATCH 3/3] Incorrect handling of malformed authority component by - URIUtils#extractHost - ---- - .../apache/http/client/utils/URIUtils.java | 69 ++++++++----------- - .../http/client/utils/TestURIUtils.java | 6 +- - 2 files changed, 32 insertions(+), 43 deletions(-) - -diff --git a/httpclient/src/main/java/org/apache/http/client/utils/URIUtils.java b/httpclient/src/main/java/org/apache/http/client/utils/URIUtils.java -index 8eb7667e3..aa3431f6f 100644 ---- a/httpclient/src/main/java/org/apache/http/client/utils/URIUtils.java -+++ b/httpclient/src/main/java/org/apache/http/client/utils/URIUtils.java -@@ -419,56 +419,43 @@ public class URIUtils { - if (uri == null) { - return null; - } -- HttpHost target = null; - if (uri.isAbsolute()) { -- int port = uri.getPort(); // may be overridden later -- String host = uri.getHost(); -- if (host == null) { // normal parse failed; let's do it ourselves -+ if (uri.getHost() == null) { // normal parse failed; let's do it ourselves - // authority does not seem to care about the valid character-set for host names -- host = uri.getAuthority(); -- if (host != null) { -+ if (uri.getAuthority() != null) { -+ String content = uri.getAuthority(); - // Strip off any leading user credentials -- final int at = host.indexOf('@'); -- if (at >= 0) { -- if (host.length() > at+1 ) { -- host = host.substring(at+1); -- } else { -- host = null; // @ on its own -- } -+ int at = content.indexOf('@'); -+ if (at != -1) { -+ content = content.substring(at + 1); - } -- // Extract the port suffix, if present -- if (host != null) { -- final int colon = host.indexOf(':'); -- if (colon >= 0) { -- final int pos = colon + 1; -- int len = 0; -- for (int i = pos; i < host.length(); i++) { -- if (Character.isDigit(host.charAt(i))) { -- len++; -- } else { -- break; -- } -- } -- if (len > 0) { -- try { -- port = Integer.parseInt(host.substring(pos, pos + len)); -- } catch (final NumberFormatException ex) { -- } -- } -- host = host.substring(0, colon); -+ final String scheme = uri.getScheme(); -+ final String hostname; -+ final int port; -+ at = content.indexOf(":"); -+ if (at != -1) { -+ hostname = content.substring(0, at); -+ try { -+ final String portText = content.substring(at + 1); -+ port = !TextUtils.isEmpty(portText) ? Integer.parseInt(portText) : -1; -+ } catch (final NumberFormatException ex) { -+ return null; - } -+ } else { -+ hostname = content; -+ port = -1; -+ } -+ try { -+ return new HttpHost(hostname, port, scheme); -+ } catch (final IllegalArgumentException ex) { -+ return null; - } - } -- } -- final String scheme = uri.getScheme(); -- if (!TextUtils.isBlank(host)) { -- try { -- target = new HttpHost(host, port, scheme); -- } catch (final IllegalArgumentException ignore) { -- } -+ } else { -+ return new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()); - } - } -- return target; -+ return null; - } - - /** -diff --git a/httpclient/src/test/java/org/apache/http/client/utils/TestURIUtils.java b/httpclient/src/test/java/org/apache/http/client/utils/TestURIUtils.java -index 189966635..98a44bc1c 100644 ---- a/httpclient/src/test/java/org/apache/http/client/utils/TestURIUtils.java -+++ b/httpclient/src/test/java/org/apache/http/client/utils/TestURIUtils.java -@@ -273,14 +273,16 @@ public class TestURIUtils { - - Assert.assertEquals(new HttpHost("localhost",8080), - URIUtils.extractHost(new URI("http://localhost:8080/;sessionid=stuff/abcd"))); -- Assert.assertEquals(new HttpHost("localhost",8080), -+ Assert.assertEquals(null, - URIUtils.extractHost(new URI("http://localhost:8080;sessionid=stuff/abcd"))); -- Assert.assertEquals(new HttpHost("localhost",-1), -+ Assert.assertEquals(null, - URIUtils.extractHost(new URI("http://localhost:;sessionid=stuff/abcd"))); - Assert.assertEquals(null, - URIUtils.extractHost(new URI("http://:80/robots.txt"))); - Assert.assertEquals(null, - URIUtils.extractHost(new URI("http://some%20domain:80/robots.txt"))); -+ Assert.assertEquals(null, -+ URIUtils.extractHost(new URI("http://blah@goggle.com:80@google.com/"))); - } - - @Test --- -2.31.1 - diff --git a/SOURCES/0003-Port-to-Mockito-5.patch b/SOURCES/0003-Port-to-Mockito-5.patch new file mode 100644 index 0000000..44c519d --- /dev/null +++ b/SOURCES/0003-Port-to-Mockito-5.patch @@ -0,0 +1,374 @@ +From 919dd0b1be2ff0bb9532131c18eafcd68d6196d6 Mon Sep 17 00:00:00 2001 +From: Marian Koncek +Date: Tue, 12 Dec 2023 12:13:58 +0100 +Subject: [PATCH] Port to Mockito 5 + +Generated by running: +find -name '*.java' -exec sed -i \ + -e 's/org\.mockito\.Matchers/org.mockito.ArgumentMatchers/g' \ + -e 's/\([^[:alnum:]]\)Matchers\([^[:alnum:]]\)/\1ArgumentMatchers\2/g' \ + -e 's/Mockito\.anyObject()/Mockito\.any()/g' \ +{} + +--- + .../client/cache/TestAsynchronousValidator.java | 2 +- + .../cache/TestCachedHttpResponseGenerator.java | 4 ++-- + .../client/cache/TestHttpCacheJiraNumber1147.java | 14 +++++++------- + .../cache/ehcache/TestEhcacheHttpCacheStorage.java | 4 ++-- + .../org/apache/http/client/entity/TestGZip.java | 4 ++-- + .../client/protocol/TestRequestAddCookies.java | 4 ++-- + .../impl/client/TestIdleConnectionEvictor.java | 4 ++-- + .../impl/client/integration/TestSPNegoScheme.java | 10 +++++----- + .../TestPoolingHttpClientConnectionManager.java | 2 +- + .../impl/conn/TestSystemDefaultRoutePlanner.java | 4 ++-- + .../http/impl/cookie/TestRFC6265CookieSpec.java | 14 +++++++------- + .../http/impl/execchain/TestConnectionHolder.java | 8 ++++---- + .../http/impl/execchain/TestRedirectExec.java | 4 ++-- + 13 files changed, 39 insertions(+), 39 deletions(-) + +diff --git a/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/TestAsynchronousValidator.java b/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/TestAsynchronousValidator.java +index 58ecef1..6932fc4 100644 +--- a/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/TestAsynchronousValidator.java ++++ b/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/TestAsynchronousValidator.java +@@ -26,7 +26,7 @@ + */ + package org.apache.http.impl.client.cache; + +-import static org.mockito.Matchers.isA; ++import static org.mockito.ArgumentMatchers.isA; + import static org.mockito.Mockito.doThrow; + import static org.mockito.Mockito.mock; + import static org.mockito.Mockito.times; +diff --git a/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/TestCachedHttpResponseGenerator.java b/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/TestCachedHttpResponseGenerator.java +index 3fc12f6..84bd347 100644 +--- a/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/TestCachedHttpResponseGenerator.java ++++ b/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/TestCachedHttpResponseGenerator.java +@@ -26,8 +26,8 @@ + */ + package org.apache.http.impl.client.cache; + +-import static org.mockito.Matchers.isA; +-import static org.mockito.Matchers.same; ++import static org.mockito.ArgumentMatchers.isA; ++import static org.mockito.ArgumentMatchers.same; + import static org.mockito.Mockito.mock; + import static org.mockito.Mockito.verify; + import static org.mockito.Mockito.when; +diff --git a/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/TestHttpCacheJiraNumber1147.java b/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/TestHttpCacheJiraNumber1147.java +index ceb8f71..674bccd 100644 +--- a/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/TestHttpCacheJiraNumber1147.java ++++ b/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/TestHttpCacheJiraNumber1147.java +@@ -26,8 +26,8 @@ + */ + package org.apache.http.impl.client.cache; + +-import static org.mockito.Matchers.eq; +-import static org.mockito.Matchers.isA; ++import static org.mockito.ArgumentMatchers.eq; ++import static org.mockito.ArgumentMatchers.isA; + import static org.mockito.Mockito.mock; + import static org.mockito.Mockito.reset; + import static org.mockito.Mockito.verify; +@@ -53,7 +53,7 @@ import org.junit.After; + import org.junit.Assert; + import org.junit.Before; + import org.junit.Test; +-import org.mockito.Matchers; ++import org.mockito.ArgumentMatchers; + + public class TestHttpCacheJiraNumber1147 { + +@@ -116,7 +116,7 @@ public class TestHttpCacheJiraNumber1147 { + eq(route), + isA(HttpRequestWrapper.class), + isA(HttpClientContext.class), +- (HttpExecutionAware) Matchers.isNull())).thenReturn(Proxies.enhanceResponse(response)); ++ (HttpExecutionAware) ArgumentMatchers.isNull())).thenReturn(Proxies.enhanceResponse(response)); + + final BasicHttpCache cache = new BasicHttpCache(resourceFactory, httpCacheStorage, cacheConfig); + final ClientExecChain t = createCachingExecChain(backend, cache, cacheConfig); +@@ -129,7 +129,7 @@ public class TestHttpCacheJiraNumber1147 { + eq(route), + isA(HttpRequestWrapper.class), + isA(HttpClientContext.class), +- (HttpExecutionAware) Matchers.isNull()); ++ (HttpExecutionAware) ArgumentMatchers.isNull()); + + removeCache(); + +@@ -138,7 +138,7 @@ public class TestHttpCacheJiraNumber1147 { + eq(route), + isA(HttpRequestWrapper.class), + isA(HttpClientContext.class), +- (HttpExecutionAware) Matchers.isNull())).thenReturn(Proxies.enhanceResponse(response)); ++ (HttpExecutionAware) ArgumentMatchers.isNull())).thenReturn(Proxies.enhanceResponse(response)); + + final HttpResponse response2 = t.execute(route, get, context, null); + Assert.assertEquals(200, response2.getStatusLine().getStatusCode()); +@@ -148,7 +148,7 @@ public class TestHttpCacheJiraNumber1147 { + eq(route), + isA(HttpRequestWrapper.class), + isA(HttpClientContext.class), +- (HttpExecutionAware) Matchers.isNull()); ++ (HttpExecutionAware) ArgumentMatchers.isNull()); + } + + protected ClientExecChain createCachingExecChain(final ClientExecChain backend, +diff --git a/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/ehcache/TestEhcacheHttpCacheStorage.java b/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/ehcache/TestEhcacheHttpCacheStorage.java +index a1366e8..30b40bf 100644 +--- a/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/ehcache/TestEhcacheHttpCacheStorage.java ++++ b/httpclient-cache/src/test/java/org/apache/http/impl/client/cache/ehcache/TestEhcacheHttpCacheStorage.java +@@ -26,8 +26,8 @@ + */ + package org.apache.http.impl.client.cache.ehcache; + +-import static org.mockito.Matchers.isA; +-import static org.mockito.Matchers.same; ++import static org.mockito.ArgumentMatchers.isA; ++import static org.mockito.ArgumentMatchers.same; + import static org.mockito.Mockito.mock; + import static org.mockito.Mockito.times; + import static org.mockito.Mockito.verify; +diff --git a/httpclient/src/test/java/org/apache/http/client/entity/TestGZip.java b/httpclient/src/test/java/org/apache/http/client/entity/TestGZip.java +index 516299d..76472c6 100644 +--- a/httpclient/src/test/java/org/apache/http/client/entity/TestGZip.java ++++ b/httpclient/src/test/java/org/apache/http/client/entity/TestGZip.java +@@ -41,7 +41,7 @@ import org.apache.http.entity.StringEntity; + import org.apache.http.util.EntityUtils; + import org.junit.Assert; + import org.junit.Test; +-import org.mockito.Matchers; ++import org.mockito.ArgumentMatchers; + import org.mockito.Mockito; + + public class TestGZip { +@@ -72,7 +72,7 @@ public class TestGZip { + @Test + public void testCompressionIOExceptionLeavesOutputStreamOpen() throws Exception { + final HttpEntity in = Mockito.mock(HttpEntity.class); +- Mockito.doThrow(new IOException("Ooopsie")).when(in).writeTo(Matchers.any()); ++ Mockito.doThrow(new IOException("Ooopsie")).when(in).writeTo(ArgumentMatchers.any()); + final GzipCompressingEntity gzipe = new GzipCompressingEntity(in); + final OutputStream out = Mockito.mock(OutputStream.class); + try { +diff --git a/httpclient/src/test/java/org/apache/http/client/protocol/TestRequestAddCookies.java b/httpclient/src/test/java/org/apache/http/client/protocol/TestRequestAddCookies.java +index 4854f52..5968542 100644 +--- a/httpclient/src/test/java/org/apache/http/client/protocol/TestRequestAddCookies.java ++++ b/httpclient/src/test/java/org/apache/http/client/protocol/TestRequestAddCookies.java +@@ -57,7 +57,7 @@ import org.apache.http.protocol.HttpCoreContext; + import org.junit.Assert; + import org.junit.Before; + import org.junit.Test; +-import org.mockito.Matchers; ++import org.mockito.ArgumentMatchers; + import org.mockito.Mockito; + + public class TestRequestAddCookies { +@@ -403,7 +403,7 @@ public class TestRequestAddCookies { + Assert.assertNotNull(headers2); + Assert.assertEquals(0, headers2.length); + +- Mockito.verify(this.cookieStore, Mockito.times(1)).clearExpired(Matchers.any()); ++ Mockito.verify(this.cookieStore, Mockito.times(1)).clearExpired(ArgumentMatchers.any()); + } + + @Test +diff --git a/httpclient/src/test/java/org/apache/http/impl/client/TestIdleConnectionEvictor.java b/httpclient/src/test/java/org/apache/http/impl/client/TestIdleConnectionEvictor.java +index da0d9bd..07b34da 100644 +--- a/httpclient/src/test/java/org/apache/http/impl/client/TestIdleConnectionEvictor.java ++++ b/httpclient/src/test/java/org/apache/http/impl/client/TestIdleConnectionEvictor.java +@@ -32,7 +32,7 @@ import java.util.concurrent.TimeUnit; + import org.apache.http.conn.HttpClientConnectionManager; + import org.junit.Assert; + import org.junit.Test; +-import org.mockito.Matchers; ++import org.mockito.ArgumentMatchers; + import org.mockito.Mockito; + + /** +@@ -69,7 +69,7 @@ public class TestIdleConnectionEvictor { + Thread.sleep(1000); + + Mockito.verify(cm, Mockito.atLeast(1)).closeExpiredConnections(); +- Mockito.verify(cm, Mockito.never()).closeIdleConnections(Matchers.anyLong(), Matchers.any()); ++ Mockito.verify(cm, Mockito.never()).closeIdleConnections(ArgumentMatchers.anyLong(), ArgumentMatchers.any()); + + Assert.assertTrue(connectionEvictor.isRunning()); + +diff --git a/httpclient/src/test/java/org/apache/http/impl/client/integration/TestSPNegoScheme.java b/httpclient/src/test/java/org/apache/http/impl/client/integration/TestSPNegoScheme.java +index 31799cb..91806c4 100644 +--- a/httpclient/src/test/java/org/apache/http/impl/client/integration/TestSPNegoScheme.java ++++ b/httpclient/src/test/java/org/apache/http/impl/client/integration/TestSPNegoScheme.java +@@ -59,7 +59,7 @@ import org.ietf.jgss.GSSName; + import org.ietf.jgss.Oid; + import org.junit.Assert; + import org.junit.Test; +-import org.mockito.Matchers; ++import org.mockito.ArgumentMatchers; + import org.mockito.Mockito; + + /** +@@ -98,14 +98,14 @@ public class TestSPNegoScheme extends LocalServerTestBase { + NegotiateSchemeWithMockGssManager() throws Exception { + super(true); + Mockito.when(context.initSecContext( +- Matchers.any(byte[].class), Matchers.anyInt(), Matchers.anyInt())) ++ ArgumentMatchers.any(byte[].class), ArgumentMatchers.anyInt(), ArgumentMatchers.anyInt())) + .thenReturn("12345678".getBytes()); + Mockito.when(manager.createName( +- Matchers.any(String.class), Matchers.any(Oid.class))) ++ ArgumentMatchers.any(String.class), ArgumentMatchers.any(Oid.class))) + .thenReturn(name); + Mockito.when(manager.createContext( +- Matchers.any(GSSName.class), Matchers.any(Oid.class), +- Matchers.any(GSSCredential.class), Matchers.anyInt())) ++ ArgumentMatchers.any(GSSName.class), ArgumentMatchers.any(Oid.class), ++ ArgumentMatchers.any(GSSCredential.class), ArgumentMatchers.anyInt())) + .thenReturn(context); + } + +diff --git a/httpclient/src/test/java/org/apache/http/impl/conn/TestPoolingHttpClientConnectionManager.java b/httpclient/src/test/java/org/apache/http/impl/conn/TestPoolingHttpClientConnectionManager.java +index 51bc2ef..02c375b 100644 +--- a/httpclient/src/test/java/org/apache/http/impl/conn/TestPoolingHttpClientConnectionManager.java ++++ b/httpclient/src/test/java/org/apache/http/impl/conn/TestPoolingHttpClientConnectionManager.java +@@ -226,7 +226,7 @@ public class TestPoolingHttpClientConnectionManager { + mgr.releaseConnection(conn1, "some state", 0, TimeUnit.MILLISECONDS); + + Mockito.verify(pool).release(entry, false); +- Mockito.verify(entry, Mockito.never()).setState(Mockito.anyObject()); ++ Mockito.verify(entry, Mockito.never()).setState(Mockito.any()); + Mockito.verify(entry, Mockito.never()).updateExpiry(Mockito.anyLong(), Mockito.eq(TimeUnit.MILLISECONDS)); + } + +diff --git a/httpclient/src/test/java/org/apache/http/impl/conn/TestSystemDefaultRoutePlanner.java b/httpclient/src/test/java/org/apache/http/impl/conn/TestSystemDefaultRoutePlanner.java +index 38920ba..690f2b5 100644 +--- a/httpclient/src/test/java/org/apache/http/impl/conn/TestSystemDefaultRoutePlanner.java ++++ b/httpclient/src/test/java/org/apache/http/impl/conn/TestSystemDefaultRoutePlanner.java +@@ -46,7 +46,7 @@ import org.apache.http.protocol.HttpContext; + import org.junit.Assert; + import org.junit.Before; + import org.junit.Test; +-import org.mockito.Matchers; ++import org.mockito.ArgumentMatchers; + import org.mockito.Mockito; + + /** +@@ -77,7 +77,7 @@ public class TestSystemDefaultRoutePlanner { + Assert.assertEquals(target, route.getTargetHost()); + Assert.assertEquals(1, route.getHopCount()); + Assert.assertFalse(route.isSecure()); +- Mockito.verify(schemePortResolver, Mockito.never()).resolve(Matchers.any()); ++ Mockito.verify(schemePortResolver, Mockito.never()).resolve(ArgumentMatchers.any()); + } + + @Test +diff --git a/httpclient/src/test/java/org/apache/http/impl/cookie/TestRFC6265CookieSpec.java b/httpclient/src/test/java/org/apache/http/impl/cookie/TestRFC6265CookieSpec.java +index 35753fd..bdf4ecd 100644 +--- a/httpclient/src/test/java/org/apache/http/impl/cookie/TestRFC6265CookieSpec.java ++++ b/httpclient/src/test/java/org/apache/http/impl/cookie/TestRFC6265CookieSpec.java +@@ -40,7 +40,7 @@ import org.apache.http.cookie.SetCookie; + import org.apache.http.message.BasicHeader; + import org.junit.Assert; + import org.junit.Test; +-import org.mockito.Matchers; ++import org.mockito.ArgumentMatchers; + import org.mockito.Mockito; + + public class TestRFC6265CookieSpec { +@@ -69,8 +69,8 @@ public class TestRFC6265CookieSpec { + Assert.assertEquals("stuff", clientCookie.getAttribute("this")); + Assert.assertEquals(null, clientCookie.getAttribute("that")); + +- Mockito.verify(h1).parse(Matchers.any(), Matchers.eq("stuff")); +- Mockito.verify(h2, Mockito.never()).parse(Matchers.any(), Matchers.anyString()); ++ Mockito.verify(h1).parse(ArgumentMatchers.any(), ArgumentMatchers.eq("stuff")); ++ Mockito.verify(h2, Mockito.never()).parse(ArgumentMatchers.any(), ArgumentMatchers.anyString()); + } + + @Test +@@ -316,8 +316,8 @@ public class TestRFC6265CookieSpec { + final CookieOrigin origin = new CookieOrigin("host", 80, "/path/", true); + cookiespec.parse(header, origin); + +- Mockito.verify(h1).parse(Matchers.any(), Matchers.eq("morestuff")); +- Mockito.verify(h1, Mockito.times(1)).parse(Matchers.any(), Matchers.anyString()); ++ Mockito.verify(h1).parse(ArgumentMatchers.any(), ArgumentMatchers.eq("morestuff")); ++ Mockito.verify(h1, Mockito.times(1)).parse(ArgumentMatchers.any(), ArgumentMatchers.anyString()); + } + + @Test +@@ -333,8 +333,8 @@ public class TestRFC6265CookieSpec { + final CookieOrigin origin = new CookieOrigin("host", 80, "/path/", true); + cookiespec.parse(header, origin); + +- Mockito.verify(h1, Mockito.never()).parse(Matchers.any(), Matchers.anyString()); +- Mockito.verify(h2).parse(Matchers.any(), Matchers.eq("otherstuff")); ++ Mockito.verify(h1, Mockito.never()).parse(ArgumentMatchers.any(), ArgumentMatchers.anyString()); ++ Mockito.verify(h2).parse(ArgumentMatchers.any(), ArgumentMatchers.eq("otherstuff")); + } + + } +diff --git a/httpclient/src/test/java/org/apache/http/impl/execchain/TestConnectionHolder.java b/httpclient/src/test/java/org/apache/http/impl/execchain/TestConnectionHolder.java +index a908141..8f1c8f7 100644 +--- a/httpclient/src/test/java/org/apache/http/impl/execchain/TestConnectionHolder.java ++++ b/httpclient/src/test/java/org/apache/http/impl/execchain/TestConnectionHolder.java +@@ -67,7 +67,7 @@ public class TestConnectionHolder { + Mockito.verify(conn, Mockito.times(1)).shutdown(); + Mockito.verify(mgr, Mockito.times(1)).releaseConnection( + Mockito.any(), +- Mockito.anyObject(), ++ Mockito.any(), + Mockito.anyLong(), + Mockito.any()); + } +@@ -98,7 +98,7 @@ public class TestConnectionHolder { + Mockito.verify(conn, Mockito.times(1)).shutdown(); + Mockito.verify(mgr, Mockito.times(1)).releaseConnection( + Mockito.any(), +- Mockito.anyObject(), ++ Mockito.any(), + Mockito.anyLong(), + Mockito.any()); + } +@@ -120,7 +120,7 @@ public class TestConnectionHolder { + + Mockito.verify(mgr, Mockito.times(1)).releaseConnection( + Mockito.any(), +- Mockito.anyObject(), ++ Mockito.any(), + Mockito.anyLong(), + Mockito.any()); + } +@@ -142,7 +142,7 @@ public class TestConnectionHolder { + + Mockito.verify(mgr, Mockito.times(1)).releaseConnection( + Mockito.any(), +- Mockito.anyObject(), ++ Mockito.any(), + Mockito.anyLong(), + Mockito.any()); + } +diff --git a/httpclient/src/test/java/org/apache/http/impl/execchain/TestRedirectExec.java b/httpclient/src/test/java/org/apache/http/impl/execchain/TestRedirectExec.java +index 78b1af4..da34722 100644 +--- a/httpclient/src/test/java/org/apache/http/impl/execchain/TestRedirectExec.java ++++ b/httpclient/src/test/java/org/apache/http/impl/execchain/TestRedirectExec.java +@@ -55,7 +55,7 @@ import org.junit.Before; + import org.junit.Test; + import org.mockito.ArgumentCaptor; + import org.mockito.ArgumentMatcher; +-import org.mockito.Matchers; ++import org.mockito.ArgumentMatchers; + import org.mockito.Mock; + import org.mockito.Mockito; + import org.mockito.MockitoAnnotations; +@@ -363,7 +363,7 @@ public class TestRedirectExec { + } + + static HttpRequestWrapper same(final HttpRequest original) { +- return Matchers.argThat(new HttpRequestWrapperMatcher(original)); ++ return ArgumentMatchers.argThat(new HttpRequestWrapperMatcher(original)); + } + + } +-- +2.43.0 + diff --git a/SPECS/httpcomponents-client.spec b/SPECS/httpcomponents-client.spec index 10c7cee..9eebc06 100644 --- a/SPECS/httpcomponents-client.spec +++ b/SPECS/httpcomponents-client.spec @@ -1,38 +1,37 @@ -Name: httpcomponents-client -Summary: HTTP agent implementation based on httpcomponents HttpCore -Version: 4.5.10 -Release: 4%{?dist} -License: ASL 2.0 -URL: http://hc.apache.org/ -Source0: http://www.apache.org/dist/httpcomponents/httpclient/source/%{name}-%{version}-src.tar.gz -BuildArch: noarch +%bcond_with bootstrap -Patch0: 0001-Use-system-copy-of-effective_tld_names.dat.patch -Patch1: 0002-Port-to-mockito-2.patch -Patch2: 0003-Incorrect-handling-of-malformed-authority-component-.patch +Name: httpcomponents-client +Version: 4.5.14 +Release: 21%{?dist} +Summary: HTTP agent implementation based on httpcomponents HttpCore +License: Apache-2.0 +URL: http://hc.apache.org/ +BuildArch: noarch +ExclusiveArch: %{java_arches} noarch -BuildRequires: maven-local-openjdk8 -BuildRequires: %{?module_prefix}mvn(commons-codec:commons-codec) -BuildRequires: mvn(commons-logging:commons-logging) -BuildRequires: mvn(junit:junit) -BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) -BuildRequires: mvn(org.apache.httpcomponents:httpcomponents-parent:pom:) -BuildRequires: %{?module_prefix}mvn(org.apache.httpcomponents:httpcore) -BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) -BuildRequires: mvn(org.mockito:mockito-core) +Source0: https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcomponents-client/%{version}/httpcomponents-client-%{version}-source-release.zip -%if 0%{?module_prefix:1} -%package -n %{module_prefix}%{name} -Summary: %{summary} +Patch: 0001-Use-system-copy-of-effective_tld_names.dat.patch +Patch: 0002-Port-to-mockito-2.patch +Patch: 0003-Port-to-Mockito-5.patch + +%if %{with bootstrap} +BuildRequires: javapackages-bootstrap +%else +BuildRequires: maven-local +BuildRequires: mvn(commons-codec:commons-codec) +BuildRequires: mvn(commons-logging:commons-logging) +BuildRequires: mvn(junit:junit) +BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) +BuildRequires: mvn(org.apache.httpcomponents:httpcomponents-parent:pom:) +BuildRequires: mvn(org.apache.httpcomponents:httpcore) +BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) +BuildRequires: mvn(org.mockito:mockito-core) %endif - -BuildRequires: publicsuffix-list -Requires: publicsuffix-list - -%if 0%{?module_prefix:1} -%description -n %{module_prefix}%{name} -%{summary}. +%if %{without bootstrap} +BuildRequires: publicsuffix-list %endif +Requires: publicsuffix-list %description HttpClient is a HTTP/1.1 compliant HTTP agent implementation based on @@ -42,13 +41,14 @@ management. HttpComponents Client is a successor of and replacement for Commons HttpClient 3.x. Users of Commons HttpClient are strongly encouraged to upgrade. -%{?javadoc_package} +%package javadoc +Summary: API documentation for %{name} + +%description javadoc +API documentation for %{name}. %prep -%setup -q -n %{name}-%{version} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 +%autosetup -p1 -n %{name}-%{version} %mvn_package :::tests: __noinstall @@ -118,32 +118,115 @@ rm httpclient/src/test/java/org/apache/http/client/config/TestRequestConfig.java %build %mvn_file ":{*}" httpcomponents/@1 -%mvn_build +%mvn_build -- -Dmaven.compiler.release=8 %install %mvn_install -%files -n %{?module_prefix}%{name} -f .mfiles +%files -f .mfiles %license LICENSE.txt NOTICE.txt %doc README.txt RELEASE_NOTES.txt -%changelog -* Sat Sep 25 2021 Mikolaj Izdebski - 4.5.10-4 -- Fix incorrect handling of malformed authority component in request URIs -- Resolves: CVE-2020-13956 +%files javadoc -f .mfiles-javadoc -* Sat Jan 25 2020 Mikolaj Izdebski - 4.5.10-3 +%changelog +* Fri Nov 29 2024 Mikolaj Izdebski - 4.5.14-18 +- Update javapackages test plan to f42 + +* Thu Jul 18 2024 Fedora Release Engineering - 4.5.14-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Feb 27 2024 Jiri Vanek - 4.5.14-8 +- Rebuilt for java-21-openjdk as system jdk + +* Fri Feb 23 2024 Jiri Vanek - 4.5.14-7 +- bump of release for for java-21-openjdk as system jdk + +* Wed Jan 24 2024 Fedora Release Engineering - 4.5.14-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 4.5.14-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Dec 12 2023 Marian Koncek - 4.5.14-4 +- Port to Mockito 5 + +* Wed Sep 20 2023 Mikolaj Izdebski - 4.5.14-3 +- Rebuild to regenerate auto-Requires on java + +* Fri Sep 01 2023 Mikolaj Izdebski - 4.5.14-2 +- Convert License tag to SPDX format + +* Wed Aug 16 2023 Mikolaj Izdebski - 4.5.14-1 +- Update to upstream version 4.5.14 + +* Tue Aug 15 2023 Mikolaj Izdebski - 4.5.13-8 +- Build with default JDK 17 + +* Thu Jul 20 2023 Fedora Release Engineering - 4.5.13-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 4.5.13-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 4.5.13-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Feb 05 2022 Jiri Vanek - 4.5.13-4 +- Rebuilt for java-17-openjdk as system jdk + +* Thu Jan 20 2022 Fedora Release Engineering - 4.5.13-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 4.5.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jun 23 2021 Marian Koncek - 4.5.13-1 +- Update to upstream version 4.5.13 + +* Mon May 17 2021 Mikolaj Izdebski - 4.5.11-3 +- Bootstrap build +- Non-bootstrap build + +* Wed Feb 17 2021 Fabio Valentini - 4.5.10-6 +- Build with -release 8 for better OpenJDK 8 compatibility. + +* Tue Jan 26 2021 Fedora Release Engineering - 4.5.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 4.5.10-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 10 2020 Jiri Vanek - 4.5.10-3 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Wed Jan 29 2020 Fedora Release Engineering - 4.5.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jan 25 2020 Mikolaj Izdebski - 4.5.11-2 - Build with OpenJDK 8 +* Wed Jan 22 2020 Marian Koncek - 4.5.11-1 +- Update to upstream version 4.5.11 + * Tue Nov 05 2019 Mikolaj Izdebski - 4.5.10-2 - Mass rebuild for javapackages-tools 201902 * Mon Sep 16 2019 Marian Koncek - 4.5.10-1 - Update to upstream version 4.5.10 +* Mon Sep 16 2019 Marian Koncek - 4.5.10-1 +- Update to upstream version 4.5.10 + +* Thu Aug 29 2019 Fabio Valentini - 4.5.7-3 +- Disable memcached and ehcache support. + * Mon Jul 29 2019 Marian Koncek - 4.5.9-1 - Update to upstream version 4.5.9 +* Thu Jul 25 2019 Fedora Release Engineering - 4.5.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Fri May 24 2019 Mikolaj Izdebski - 4.5.8-2 - Mass rebuild for javapackages-tools 201901