From 8e9673d773dde40c3f15ec58c614dfc37724624f Mon Sep 17 00:00:00 2001 From: Dan Powell Date: Wed, 8 May 2019 15:30:21 -0400 Subject: [PATCH 001/973] Upgrade Netty to 4.1.36.Final --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2e57b237..bfe46d42 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.34.Final + 4.1.36.Final 1.7.26 1.8 From 94b26db78ade8c4a1bf19e807e8ffd426cb59999 Mon Sep 17 00:00:00 2001 From: Dan Powell Date: Wed, 8 May 2019 15:30:38 -0400 Subject: [PATCH 002/973] TLS 1.3 handshake failure handling bugfix In TLS 1.3 client receives FINISHED signal before authentication and considers it as successful handshake. As a result ConnectionFlow's steps are executed successfully, connection is considered successful and ConnectionFlow#fail is never called. Add disconnection with sending 'bad gateway' to client logic in server->proxy error handling callback so that client is disconnected properly event if error appears after 'connection' phase. --- .../java/org/littleshoot/proxy/impl/ProxyToServerConnection.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java index 480efa7b..95d3788d 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java @@ -468,6 +468,7 @@ protected void exceptionCaught(Throwable cause) { if (!is(DISCONNECTED)) { LOG.info("Disconnecting open connection to server"); disconnect(); + this.clientConnection.serverConnectionFailed(this, getCurrentState(), cause); } } // This can happen if we couldn't make the initial connection due From 643b9f09068bfc07fe81e4fb7c3f6d459ae236ac Mon Sep 17 00:00:00 2001 From: Dan Powell Date: Wed, 8 May 2019 15:38:14 -0400 Subject: [PATCH 003/973] Test against OpenJDK 11 as well --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 45201c81..6b6c6f53 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,6 +3,7 @@ sudo: false language: java jdk: - oraclejdk8 + - openjdk11 cache: directories: From 17512069fdb6b69c25bee358dc94c5cff82af7a0 Mon Sep 17 00:00:00 2001 From: James Baldassari Date: Sun, 8 Dec 2019 23:46:02 -0500 Subject: [PATCH 004/973] Check for either SSLProtocolException or SSLHandshakeException when applying SNI workaround --- .../org/littleshoot/proxy/impl/ProxyToServerConnection.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java index 480efa7b..34c3541d 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java @@ -54,6 +54,7 @@ import org.littleshoot.proxy.*; import org.littleshoot.proxy.extras.HAProxyMessageEncoder; +import javax.net.ssl.SSLHandshakeException; import javax.net.ssl.SSLProtocolException; import javax.net.ssl.SSLSession; import java.io.IOException; @@ -956,7 +957,7 @@ protected boolean connectionFailed(Throwable cause) // sends back a valid certificate for the expected host. we can retry the connection without SNI to allow the proxy // to connect to these misconfigured hosts. we should only retry the connection without SNI if the connection // failure happened when SNI was enabled, to prevent never-ending connection attempts due to SNI warnings. - if (!disableSni && cause instanceof SSLProtocolException) { + if (!disableSni && (cause instanceof SSLProtocolException) || (cause instanceof SSLHandshakeException)) { // unfortunately java does not expose the specific TLS alert number (112), so we have to look for the // unrecognized_name string in the exception's message if (cause.getMessage() != null && cause.getMessage().contains("unrecognized_name")) { From 5d4db68a9970d710e949c5e52f13d785a2f4825b Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Thu, 19 Nov 2020 19:34:16 +0200 Subject: [PATCH 005/973] upgrade to latest Netty 4.1.54.Final ... and other dependencies --- pom.xml | 58 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/pom.xml b/pom.xml index f46b2e48..d21e48df 100644 --- a/pom.xml +++ b/pom.xml @@ -14,8 +14,8 @@ UTF-8 UTF-8 github - 4.1.41.Final - 1.7.28 + 4.1.54.Final + 1.7.30 1.8 @@ -147,7 +147,7 @@ com.google.guava guava - 27.1-jre + 30.0-jre @@ -161,48 +161,48 @@ org.apache.commons commons-lang3 - 3.8.1 + 3.11 junit junit - 4.12 + 4.13.1 test org.hamcrest hamcrest-core - 2.1 + 2.2 test org.hamcrest hamcrest-library - 2.1 + 2.2 test org.eclipse.jetty jetty-server - 9.4.20.v20190813 + 9.4.34.v20201102 test org.mockito mockito-core - 2.25.1 + 3.6.0 test org.mock-server mockserver-netty - 5.6.1 + 5.11.2 test @@ -228,14 +228,14 @@ org.apache.logging.log4j log4j-core - 2.11.2 + 2.14.0 true org.apache.httpcomponents httpclient - 4.5.8 + 4.5.13 test @@ -271,7 +271,7 @@ dnsjava dnsjava - 2.1.8 + 3.3.1 true @@ -398,7 +398,7 @@ com.fasterxml.jackson.core jackson-databind - 2.9.9.3 + 2.11.3 @@ -409,13 +409,13 @@ org.apache.maven.plugins maven-enforcer-plugin - 3.0.0-M2 + 3.0.0-M3 org.apache.maven.plugins maven-site-plugin - 3.8.2 + 3.9.1 @@ -427,7 +427,7 @@ org.apache.maven.plugins maven-dependency-plugin - 3.1.1 + 3.1.2 @@ -445,7 +445,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.0 + 3.8.1 ${java.version} ${java.version} @@ -462,25 +462,25 @@ org.apache.maven.plugins maven-jar-plugin - 3.1.1 + 3.2.0 org.apache.maven.plugins maven-resources-plugin - 3.1.0 + 3.2.0 org.apache.maven.plugins maven-source-plugin - 3.0.1 + 3.2.1 org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.2.0 all,-missing private @@ -494,7 +494,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.1 + 2.22.2 @@ -534,7 +534,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.1 + 3.2.4 package @@ -621,7 +621,7 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 3.0.0 + 3.1.1 @@ -632,7 +632,7 @@ org.apache.maven.plugins maven-surefire-report-plugin - 3.0.0-M3 + 3.0.0-M5 false @@ -641,7 +641,7 @@ org.apache.maven.plugins maven-checkstyle-plugin - 3.0.0 + 3.0.1 @@ -681,7 +681,7 @@ org.apache.maven.plugins maven-pmd-plugin - 3.11.0 + 3.13.0 true utf-8 @@ -693,7 +693,7 @@ org.codehaus.mojo versions-maven-plugin - 2.7 + 2.8.1 From f1f4c98415712d3311c8e5db6df6105845f64d73 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 20 Nov 2020 01:32:00 +0200 Subject: [PATCH 006/973] downgrade to Netty 4.1.52.Final it seems to fix some of broken tests - I don't know why See Netty 4.1.53 changelog: https://netty.io/news/2020/10/13/4-1-53-Final.html --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d21e48df..4a78e682 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.54.Final + 4.1.52.Final 1.7.30 1.8 From 1aaaf37412fcaaf946782d7e6bfc461db3160a4d Mon Sep 17 00:00:00 2001 From: mrog Date: Sat, 21 Nov 2020 10:41:55 -0700 Subject: [PATCH 007/973] Update RELEASE_NOTES.md Updated release notes --- RELEASE_NOTES.md | 46 +++++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index e286bc81..85367aba 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,30 @@ # Release Notes +- 2.0.1 + - Removed beta tag from version + - Updated various dependency versions + - Re-ordered the release notes so the newest stuff is at the top + +- 2.0.0-beta-6 + - Cleaned up old code to conform with newer version of Netty + - Deprecated UDT support because it's deprecated in Netty + - Removed performance test code because it seems to be confusing GitHub into thinking that this is a PHP project + +- 2.0.0-beta-5 + - Treat an upstream SOCKS proxy as if it is the origin server + - Fixed memoryLeak in ClientToProxyConnection + +- 2.0.0-beta-4 + - Allow users to set their own sesrvergroup within the bootstrap helper + - Added support for chained SOCKS proxies + +- 2.0.0-beta-3 + - Upgraded Netty, guava, Hamcrest, Jetty, Selenium, Apache commons cli and lang3 + - Upgrade Maven plugins to the latest versions + +- 2.0.0-beta-2 + - Added support for proxy protocol. See https://www.haproxy.com/blog/haproxy/proxy-protocol/ and https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt for protocol details. + - 2.0.0-beta-1 - New Maven coordinates - Moved from Java 7 to 8 @@ -7,24 +32,3 @@ - **Breaking change:** Made client details available to ChainedProxyManager - Refactored MITM manager to accept engine with user-defined parameters - Added ability to load keystore from classpath - -- 2.0.0-beta-2 - - Added support for proxy protocol. See https://www.haproxy.com/blog/haproxy/proxy-protocol/ and https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt for protocol details. - -- 2.0.0-beta-3 - - Upgraded Netty, guava, Hamcrest, Jetty, Selenium, Apache commons cli and lang3 - - Upgrade Maven plugins to the latest versions - -- 2.0.0-beta-4 - - Allow users to set their own sesrvergroup within the bootstrap helper - - Added support for chained SOCKS proxies - -- 2.0.0-beta-5 - - Treat an upstream SOCKS proxy as if it is the origin server - - Fixed memoryLeak in ClientToProxyConnection - -- 2.0.0-beta-6 - - Cleaned up old code to conform with newer version of Netty - - Deprecated UDT support because it's deprecated in Netty - - Removed performance test code because it seems to be confusing GitHub into thinking that this is a PHP project. - \ No newline at end of file From 6b53b082a6a53b7cfc6034fb43e67d8858a11ac2 Mon Sep 17 00:00:00 2001 From: mrog Date: Sat, 21 Nov 2020 10:43:41 -0700 Subject: [PATCH 008/973] Update pom.xml Updated project version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4a78e682..b7d29664 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.0-beta-6-SNAPSHOT + 2.0.1-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From ff6682c9e33408922191823fb971af562fb52435 Mon Sep 17 00:00:00 2001 From: mrog Date: Sat, 21 Nov 2020 10:45:32 -0700 Subject: [PATCH 009/973] Update README.md Updated project version --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6e0eb4e5..31efb797 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.0-beta-5 + 2.0.1 ``` Or with Gradle like this -`compile "xyz.rogfam:littleproxy:2.0.0-beta-5"` +`compile "xyz.rogfam:littleproxy:2.0.1"` Once you've included LittleProxy, you can start the server with the following: From ed48e99f5101b47552bf6bf84732f8f4d43f5a87 Mon Sep 17 00:00:00 2001 From: mrogers Date: Mon, 23 Nov 2020 11:30:29 -0700 Subject: [PATCH 010/973] Updated version to next snapshot version --- littleproxy_cert | Bin 1233 -> 1233 bytes pom.xml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/littleproxy_cert b/littleproxy_cert index d31898a2dce61d8886717eb4f8775b79a9f1ea84..9144f2855017c683ae2071e9d05640cc7aa1d83f 100644 GIT binary patch delta 1153 zcmV-{1b+L`3DF4?FoFclFoFWLpaTK{0s;g#c_bW>6Du7uFflPQGch+aI5RL>7!NWr zGB7bPGcYkXGdMFaky|={u3@#Cvku&+X%UhVmD5}gR&rL#&`Svl{R4H^~eFAlv3`EHG~iYhM|`#T58}Pu<9Ww!aPVcD@|dR|HFk zK7!of(UrNBJW;)WBB0PJ-j;wq2X|nVlK~P#WQ>vd2>YaR%rt}$R4jnGH{=xe8sxb{ zy}VPxTkV`5le%yu;QS!*Y_)OM{F8iDSJ=gaoa&E@xZGA21yT163Uk1QrAoGu(*;98nlCXkRetrs0|HRqCzr zFbxI?Duzgg_YDC73k3iJf&u{m7U<{hNgqo>kYQY2s7H@a?nOP@U?h-JW7zVF>`&O$ zvY#jU$Oq0(RGM+8$(VT^cM&dJDntR^Z;5qIKO_L~B!)0orfqn^sxY&96W&Ivc5^M5 z5^8K5uc8=KT2z$SWj}8*qHk}5YH}G76<{JFRAsZsfg=N9lh)JtPeL;X7G?&#td}U- zJ#@c+vRq;Ul7;8V7$TB4_HRa!T($|%ODQ%kU!F@pJIa}hCtlslh`Kgn;x?!o3vHaX zyW-bRsub+(XEB*6Kt`GJm76|HG2hcQ1xWsx4FwZFoo4@YjPUA{oOjp?$8X(`G)4UW z09sRUcZluK0(TO<9yB;2OJL;Mz# delta 1153 zcmV-{1b+L`3DF4?FoFclFoFWLpaTK{0s;gP(dOZi6Du7tIWRIYI59XiFflk<7!NWr zF*z_XGBq(cH83$aky|={%uRtvKQxLPUr+l|9B&>g?wB(au$HO5jA*f7DKsy0*+1{I zEPLXx^k_%RFThWT`pr4;sH-0xz(&+`qUTwNwFf)6yhxQ75Hp^x6A;vz){0oWq%Rv! z+Y7}PF+}8##*xLFL@;6g4{Uxq4=$2G`?~RgzPK0T{cGZb*K5^(Kl9!kQnWncHE-2( z+-)zfe4~_JA9&Tdqnf3s`Zhr?p=$x@h7HT2c%=RDoywSUM%kSLX<>M*Qf0~h+zK2V zB!wxuW%iEWk!BzQVOR>oW8Uy&01qTWy=0H1I}B>T$mn000+vsIkbs3GvfT&+~)lhTqQ5d(XYT zE8+QoPozSBZyVwb0s{d60iz)>A21yT163Uk1QrAofjGAH(WoA(KIqb0($yWP{6SJG zFbxI?Duzgg_YDC73k3iJf&u{m84(XwyWmpR1OU>_0_TjZ$=e=DK_4x4v6ji^1i5|B z56QSCy$?I7)2!HY4;0UJn*?uLMXuA|E^3fq^F6J9TBg)`MpwRFcq92`96rfTxs!^W z*uEZa!`!4wOUhuh%kCGN-Y#le8wIVwOU4wiv>|>KIHBwLLaS}L;fhw#VB=52hu_(T zRHEsB|8t`hzfzK!WpgsBd#87i6s^QCw|pJop0e1^C~0qi>~!0K`?WiJu}zod4#)B- zTPf;)eZf)8|18M>z;_ny<|`!5lhbzl!DsXYnzMGUl@b8Jr}{H&-=DpdI7p1A%u!8) zNIUw&h|ce_Pt2iGWd~USea&zLvBKQ(+(VVgdN5MB=&neTXx75Sewo_0hlWO9pdC+t z3!DU|!0FhJ(@Na+jLE{0KPPHYZpvxyz.rogfam littleproxy jar - 2.0.1-SNAPSHOT + 2.0.2-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 2ac5d30c5d8459eb607fda28d9a45275e8da4da1 Mon Sep 17 00:00:00 2001 From: James Baldassari Date: Sat, 23 Jan 2021 19:15:30 -0500 Subject: [PATCH 011/973] Support for WebSockets with MITM in transparent mode --- .../proxy/impl/ClientToProxyConnection.java | 42 +++- .../impl/ProxyConnectionPipeHandler.java | 29 +++ .../proxy/impl/ProxyToServerConnection.java | 32 ++- .../littleshoot/proxy/impl/ProxyUtils.java | 15 +- .../proxy/websockets/WebSocketClient.java | 198 ++++++++++++++++++ .../websockets/WebSocketClientServerTest.java | 132 ++++++++++++ .../proxy/websockets/WebSocketServer.java | 113 ++++++++++ 7 files changed, 546 insertions(+), 15 deletions(-) create mode 100644 src/main/java/org/littleshoot/proxy/impl/ProxyConnectionPipeHandler.java create mode 100644 src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java create mode 100644 src/test/java/org/littleshoot/proxy/websockets/WebSocketClientServerTest.java create mode 100644 src/test/java/org/littleshoot/proxy/websockets/WebSocketServer.java diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index 6397e7e9..37c4a11b 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -56,10 +56,18 @@ public class ClientToProxyConnection extends ProxyConnection { private static final HttpResponseStatus CONNECTION_ESTABLISHED = new HttpResponseStatus( 200, "Connection established"); + // Pipeline handler names: + private static final String HTTP_ENCODER_NAME = "encoder"; + private static final String HTTP_DECODER_NAME = "decoder"; + private static final String HTTP_PROXY_DECODER_NAME = "proxy-protocol-decoder"; + private static final String HTTP_REQUEST_READ_MONITOR_NAME = "requestReadMonitor"; + private static final String HTTP_RESPONSE_WRITTEN_MONITOR_NAME = "responseWrittenMonitor"; + private static final String MAIN_HANDLER_NAME = "handler"; + /** * Used for case-insensitive comparisons when checking direct proxy request. */ - private static final Pattern HTTP_SCHEME = Pattern.compile("^http://.*", Pattern.CASE_INSENSITIVE); + private static final Pattern ABSOLUTE_URI_PATTERN = Pattern.compile("^(http|ws)://.*", Pattern.CASE_INSENSITIVE); /** * Keep track of all ProxyToServerConnections by host+port. @@ -363,7 +371,7 @@ private boolean isRequestToOriginServer(HttpRequest httpRequest) { // direct requests to the proxy have the path only without a scheme String uri = httpRequest.uri(); - return !HTTP_SCHEME.matcher(uri).matches(); + return !ABSOLUTE_URI_PATTERN.matcher(uri).matches(); } @Override @@ -414,9 +422,12 @@ void respond(ProxyToServerConnection serverConnection, HttpFilters filters, return; } + boolean isSwithchingToWebSocketProtocol = false; if (httpObject instanceof HttpResponse) { HttpResponse httpResponse = (HttpResponse) httpObject; + isSwithchingToWebSocketProtocol = ProxyUtils.isSwitchingToWebSocketProtocol(httpResponse); + // if this HttpResponse does not have any means of signaling the end of the message body other than closing // the connection, convert the message to a "Transfer-Encoding: chunked" HTTP response. This avoids the need // to close the client connection to indicate the end of the message. (Responses to HEAD requests "must be" empty.) @@ -453,11 +464,26 @@ void respond(ProxyToServerConnection serverConnection, HttpFilters filters, if (ProxyUtils.isLastChunk(httpObject)) { writeEmptyBuffer(); } + else if (isSwithchingToWebSocketProtocol) { + switchToWebSocketProtocol(serverConnection); + } closeConnectionsAfterWriteIfNecessary(serverConnection, currentHttpRequest, currentHttpResponse, httpObject); } + private void switchToWebSocketProtocol(final ProxyToServerConnection serverConnection) { + final List orderedHandlersToRemove = Arrays.asList(HTTP_REQUEST_READ_MONITOR_NAME, + HTTP_RESPONSE_WRITTEN_MONITOR_NAME, HTTP_PROXY_DECODER_NAME, HTTP_ENCODER_NAME, HTTP_DECODER_NAME); + this.channel.pipeline().replace(MAIN_HANDLER_NAME, "pipe-to-server", + new ProxyConnectionPipeHandler(serverConnection)); + orderedHandlersToRemove.stream() + .map(handlerName -> this.channel.pipeline().get(handlerName)) + .filter(Objects::nonNull) + .forEach(handler -> this.channel.pipeline().remove(handler)); + serverConnection.switchToWebSocketProtocol(); + } + /* ************************************************************************* * Connection Lifecycle **************************************************************************/ @@ -746,13 +772,13 @@ private void initChannelPipeline(ChannelPipeline pipeline) { pipeline.addLast("bytesReadMonitor", bytesReadMonitor); pipeline.addLast("bytesWrittenMonitor", bytesWrittenMonitor); - pipeline.addLast("encoder", new HttpResponseEncoder()); + pipeline.addLast(HTTP_ENCODER_NAME, new HttpResponseEncoder()); if (isAcceptProxyProtocol()) { - pipeline.addLast("proxy-protocol-decoder", new HAProxyMessageDecoder()); + pipeline.addLast(HTTP_PROXY_DECODER_NAME, new HAProxyMessageDecoder()); } // We want to allow longer request lines, headers, and chunks // respectively. - pipeline.addLast("decoder", new HttpRequestDecoder( + pipeline.addLast(HTTP_DECODER_NAME, new HttpRequestDecoder( proxyServer.getMaxInitialLineLength(), proxyServer.getMaxHeaderSize(), proxyServer.getMaxChunkSize())); @@ -764,15 +790,15 @@ private void initChannelPipeline(ChannelPipeline pipeline) { aggregateContentForFiltering(pipeline, numberOfBytesToBuffer); } - pipeline.addLast("requestReadMonitor", requestReadMonitor); - pipeline.addLast("responseWrittenMonitor", responseWrittenMonitor); + pipeline.addLast(HTTP_REQUEST_READ_MONITOR_NAME, requestReadMonitor); + pipeline.addLast(HTTP_RESPONSE_WRITTEN_MONITOR_NAME, responseWrittenMonitor); pipeline.addLast( "idle", new IdleStateHandler(0, 0, proxyServer .getIdleConnectionTimeout())); - pipeline.addLast("handler", this); + pipeline.addLast(MAIN_HANDLER_NAME, this); } /** diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyConnectionPipeHandler.java b/src/main/java/org/littleshoot/proxy/impl/ProxyConnectionPipeHandler.java new file mode 100644 index 00000000..85433228 --- /dev/null +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyConnectionPipeHandler.java @@ -0,0 +1,29 @@ +package org.littleshoot.proxy.impl; + +import com.google.common.base.Preconditions; + +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInboundHandler; +import io.netty.channel.ChannelInboundHandlerAdapter; + +/** + * A {@link ChannelInboundHandler} that writes all incoming data to the + * specified proxy connection. + */ +public class ProxyConnectionPipeHandler extends ChannelInboundHandlerAdapter { + private final ProxyConnection sink; + + public ProxyConnectionPipeHandler(final ProxyConnection sink) { + this.sink = Preconditions.checkNotNull(sink); + } + + @Override + public void channelRead(final ChannelHandlerContext ctx, final Object msg) { + sink.channel.writeAndFlush(msg); + } + + @Override + public void channelInactive(final ChannelHandlerContext ctx) { + sink.disconnect(); + } +} diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java index 943c1ead..d05bb566 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java @@ -75,7 +75,9 @@ import java.net.InetSocketAddress; import java.net.UnknownHostException; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.Objects; import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.RejectedExecutionException; @@ -105,8 +107,15 @@ */ @Sharable public class ProxyToServerConnection extends ProxyConnection { + // Pipeline handler names: + private static final String HTTP_ENCODER_NAME = "encoder"; + private static final String HTTP_DECODER_NAME = "decoder"; + private static final String HTTP_PROXY_ENCODER_NAME = "proxy-protocol-encoder"; + private static final String HTTP_REQUEST_WRITTEN_MONITOR_NAME = "requestWrittenMonitor"; + private static final String HTTP_RESPONSE_READ_MONITOR_NAME = "responseReadMonitor"; private static final String SOCKS_ENCODER_NAME = "socksEncoder"; private static final String SOCKS_DECODER_NAME = "socksDecoder"; + private static final String MAIN_HANDLER_NAME = "handler"; private final ClientToProxyConnection clientConnection; private final ProxyToServerConnection serverConnection = this; private volatile TransportProtocol transportProtocol; @@ -1092,10 +1101,10 @@ private void initChannelPipeline(ChannelPipeline pipeline, HttpRequest httpReque pipeline.addLast("bytesWrittenMonitor", bytesWrittenMonitor); if ( proxyServer.isSendProxyProtocol()) { - pipeline.addLast("proxy-protocol-encoder", new HAProxyMessageEncoder()); + pipeline.addLast(HTTP_PROXY_ENCODER_NAME, new HAProxyMessageEncoder()); } - pipeline.addLast("encoder", new HttpRequestEncoder()); - pipeline.addLast("decoder", new HeadAwareHttpResponseDecoder( + pipeline.addLast(HTTP_ENCODER_NAME, new HttpRequestEncoder()); + pipeline.addLast(HTTP_DECODER_NAME, new HeadAwareHttpResponseDecoder( proxyServer.getMaxInitialLineLength(), proxyServer.getMaxHeaderSize(), proxyServer.getMaxChunkSize())); @@ -1107,8 +1116,8 @@ private void initChannelPipeline(ChannelPipeline pipeline, HttpRequest httpReque aggregateContentForFiltering(pipeline, numberOfBytesToBuffer); } - pipeline.addLast("responseReadMonitor", responseReadMonitor); - pipeline.addLast("requestWrittenMonitor", requestWrittenMonitor); + pipeline.addLast(HTTP_RESPONSE_READ_MONITOR_NAME, responseReadMonitor); + pipeline.addLast(HTTP_REQUEST_WRITTEN_MONITOR_NAME, requestWrittenMonitor); // Set idle timeout pipeline.addLast( @@ -1116,7 +1125,7 @@ private void initChannelPipeline(ChannelPipeline pipeline, HttpRequest httpReque new IdleStateHandler(0, 0, proxyServer .getIdleConnectionTimeout())); - pipeline.addLast("handler", this); + pipeline.addLast(MAIN_HANDLER_NAME, this); } /** @@ -1195,6 +1204,17 @@ private static InetSocketAddress unresolvedAddressFor(String hostAndPort) { return InetSocketAddress.createUnresolved(host, port); } + void switchToWebSocketProtocol() { + final List orderedHandlersToRemove = Arrays.asList(HTTP_REQUEST_WRITTEN_MONITOR_NAME, + HTTP_RESPONSE_READ_MONITOR_NAME, HTTP_PROXY_ENCODER_NAME, HTTP_ENCODER_NAME, HTTP_DECODER_NAME); + this.channel.pipeline().replace(MAIN_HANDLER_NAME, "pipe-to-client", + new ProxyConnectionPipeHandler(clientConnection)); + orderedHandlersToRemove.stream() + .map(handlerName -> this.channel.pipeline().get(handlerName)) + .filter(Objects::nonNull) + .forEach(handler -> this.channel.pipeline().remove(handler)); + } + /* ************************************************************************* * Activity Tracking/Statistics * diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java index 1c0df1a9..52f133f3 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java @@ -60,7 +60,7 @@ public class ProxyUtils { // Schemes are case-insensitive: // http://tools.ietf.org/html/rfc3986#section-3.1 - private static Pattern HTTP_PREFIX = Pattern.compile("^https?://.*", + private static Pattern HTTP_PREFIX = Pattern.compile("^(http|ws)s?://.*", Pattern.CASE_INSENSITIVE); /** @@ -627,4 +627,17 @@ public static void removeSdchEncoding(HttpHeaders headers) { } } } + + /** + * Tests whether the given response indicates that the connection is switching + * to the WebSocket protocol. + * + * @param response the response to check. + * @return true if switching to the WebSocket protocol; false otherwise; + */ + public static boolean isSwitchingToWebSocketProtocol(HttpResponse response) { + return (response.status() == HttpResponseStatus.SWITCHING_PROTOCOLS) + && response.headers().contains(HttpHeaderNames.CONNECTION, HttpHeaderNames.UPGRADE, true) + && response.headers().contains(HttpHeaderNames.UPGRADE, "websocket", true); + } } diff --git a/src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java b/src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java new file mode 100644 index 00000000..fb221189 --- /dev/null +++ b/src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java @@ -0,0 +1,198 @@ +package org.littleshoot.proxy.websockets; + +import java.io.IOException; +import java.net.InetSocketAddress; +import java.net.URI; +import java.time.Duration; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.concurrent.locks.ReadWriteLock; +import java.util.concurrent.locks.ReentrantReadWriteLock; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.common.base.Preconditions; + +import io.netty.bootstrap.Bootstrap; +import io.netty.channel.Channel; +import io.netty.channel.ChannelFuture; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInitializer; +import io.netty.channel.ChannelOption; +import io.netty.channel.ChannelPipeline; +import io.netty.channel.EventLoopGroup; +import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.socket.SocketChannel; +import io.netty.channel.socket.nio.NioSocketChannel; +import io.netty.example.http.websocketx.client.WebSocketClientHandler; +import io.netty.handler.codec.http.EmptyHttpHeaders; +import io.netty.handler.codec.http.HttpClientCodec; +import io.netty.handler.codec.http.HttpObjectAggregator; +import io.netty.handler.codec.http.websocketx.CloseWebSocketFrame; +import io.netty.handler.codec.http.websocketx.TextWebSocketFrame; +import io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker; +import io.netty.handler.codec.http.websocketx.WebSocketClientHandshakerFactory; +import io.netty.handler.codec.http.websocketx.WebSocketVersion; +import io.netty.handler.logging.LogLevel; +import io.netty.handler.logging.LoggingHandler; +import io.netty.handler.proxy.HttpProxyHandler; +import io.netty.handler.ssl.SslContext; +import io.netty.handler.ssl.SslContextBuilder; +import io.netty.handler.ssl.SslHandler; +import io.netty.handler.ssl.util.InsecureTrustManagerFactory; + +/** + * Simple WebSocket client for use in unit tests that sends and receives text + * frames. + */ +public class WebSocketClient { + private static final Duration CONNECT_TIMEOUT = Duration.ofSeconds(5); + private static final int MAX_AGGREGATOR_CONTENT_LENGTH = 65536; + private static final int MAX_PAYLOAD_FRAME_LENGTH = 1280000; + private static final Logger logger = LoggerFactory.getLogger(WebSocketClient.class); + + // According to RFC-6455 (https://tools.ietf.org/html/rfc6455#section-3) + // only the ws and wss schemes should be used, but some applications incorrectly + // use http/https anyway, so we allow both for testing those edge cases + private static final Set SECURE_SCHEMES = Collections + .unmodifiableSet(new HashSet<>(Arrays.asList("wss", "https"))); + + private final ReadWriteLock lock = new ReentrantReadWriteLock(); + private final BlockingQueue receivedMessages = new LinkedBlockingQueue<>(); + private Channel channel; + private EventLoopGroup group; + + public void open(final URI uri, final Duration connectTimeout, final Optional httpProxy) throws TimeoutException { + logger.info("{} connecting to {} via proxy {}", getClass().getSimpleName(), uri, httpProxy.map(Object::toString).orElse("(none)")); + final boolean isSecure = SECURE_SCHEMES.contains(uri.getScheme()); + boolean connectionComplete = false; + lock.writeLock().lock(); + try { + if (channel != null) { + throw new IllegalStateException("Client already open"); + } + + group = new NioEventLoopGroup(); + + final WebSocketFrameReader handler = new WebSocketFrameReader( + WebSocketClientHandshakerFactory.newHandshaker(uri, WebSocketVersion.V13, null, false, + EmptyHttpHeaders.INSTANCE, MAX_PAYLOAD_FRAME_LENGTH, true, false, -1, + httpProxy.isPresent())); + + final Bootstrap bootstrap = new Bootstrap().group(group).channel(NioSocketChannel.class) + .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, (int) CONNECT_TIMEOUT.toMillis()) + .handler(new WebSocketClientChannelInitializer(handler, uri, httpProxy)); + + /* + * If using a proxy we connect directly to the proxy for non-secure schemes. For + * secure schemes we add a proxy handler that uses HTTP CONNECT, so the + * bootstrap just needs to connect as if it's communicating directly with the + * origin server. + */ + final ChannelFuture connectFuture; + if (httpProxy.isPresent() && !isSecure) { + connectFuture = bootstrap.connect(httpProxy.get().getHostString(), httpProxy.get().getPort()); + } else { + connectFuture = bootstrap.connect(uri.getHost(), uri.getPort()); + } + + if (!connectFuture.awaitUninterruptibly(connectTimeout.toMillis())) { + throw new TimeoutException("Connection timed out after " + connectTimeout); + } + channel = connectFuture.channel(); + if (!handler.handshakeFuture().awaitUninterruptibly(connectTimeout.toMillis())) { + throw new TimeoutException("Handshake timed out after " + connectTimeout); + } + connectionComplete = true; + } finally { + if (!connectionComplete) { + close(); + } + lock.writeLock().unlock(); + } + } + + public void send(final String value) throws IOException { + lock.readLock().lock(); + try { + channel.writeAndFlush(new TextWebSocketFrame(value)); + } finally { + lock.readLock().unlock(); + } + } + + public String waitForResponse(final Duration timeout) throws InterruptedException { + return Optional.ofNullable(receivedMessages.poll(timeout.toMillis(), TimeUnit.MILLISECONDS)) + .orElse(null); + } + + public void close() { + lock.writeLock().lock(); + try { + if (channel == null) { + return; + } + channel.writeAndFlush(new CloseWebSocketFrame()); + channel.close(); + group.shutdownGracefully(); + channel = null; + group = null; + } finally { + lock.writeLock().unlock(); + } + } + + private class WebSocketClientChannelInitializer extends ChannelInitializer { + private final WebSocketClientHandler handler; + private final URI uri; + private final Optional httpProxy; + + public WebSocketClientChannelInitializer(final WebSocketClientHandler handler, final URI uri, + final Optional httpProxy) { + this.handler = Preconditions.checkNotNull(handler); + this.uri = Preconditions.checkNotNull(uri); + this.httpProxy = Preconditions.checkNotNull(httpProxy); + } + + @Override + public void initChannel(final SocketChannel ch) throws Exception { + ChannelPipeline pipeline = ch.pipeline(); + if (SECURE_SCHEMES.contains(uri.getScheme())) { + httpProxy.ifPresent(proxyAddress -> pipeline.addFirst(new HttpProxyHandler(proxyAddress))); + final SslContext sslContext = SslContextBuilder.forClient() + .trustManager(InsecureTrustManagerFactory.INSTANCE).build(); + final SslHandler sslHandler = sslContext.newHandler(ch.alloc(), uri.getHost(), uri.getPort()); + sslHandler.setHandshakeTimeoutMillis(CONNECT_TIMEOUT.toMillis()); + pipeline.addLast("ssl-handler", sslHandler); + } + pipeline.addLast("logging", new LoggingHandler(LogLevel.DEBUG)); + pipeline.addLast("http-codec", new HttpClientCodec()); + pipeline.addLast("http-aggregator", new HttpObjectAggregator(MAX_AGGREGATOR_CONTENT_LENGTH)); + pipeline.addLast("ws-handler", handler); + } + } + + private class WebSocketFrameReader extends WebSocketClientHandler { + + public WebSocketFrameReader(final WebSocketClientHandshaker handshaker) { + super(handshaker); + } + + @Override + public void channelRead0(final ChannelHandlerContext ctx, final Object msg) throws Exception { + if (msg instanceof TextWebSocketFrame) { + final TextWebSocketFrame textFrame = (TextWebSocketFrame) msg; + receivedMessages.offer(textFrame.text()); + } + super.channelRead0(ctx, msg); + } + } +} diff --git a/src/test/java/org/littleshoot/proxy/websockets/WebSocketClientServerTest.java b/src/test/java/org/littleshoot/proxy/websockets/WebSocketClientServerTest.java new file mode 100644 index 00000000..dd11e630 --- /dev/null +++ b/src/test/java/org/littleshoot/proxy/websockets/WebSocketClientServerTest.java @@ -0,0 +1,132 @@ +package org.littleshoot.proxy.websockets; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +import java.net.InetSocketAddress; +import java.net.URI; +import java.time.Duration; +import java.util.Optional; +import java.util.concurrent.TimeoutException; + +import org.junit.After; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.littleshoot.proxy.HttpProxyServer; +import org.littleshoot.proxy.HttpProxyServerBootstrap; +import org.littleshoot.proxy.extras.SelfSignedMitmManager; +import org.littleshoot.proxy.impl.DefaultHttpProxyServer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class WebSocketClientServerTest { + private static final Duration CONNECT_TIMEOUT = Duration.ofSeconds(1); + private static final int MAX_CONNECTION_ATTEMPTS = 3; + private static final long TEST_TIMEOUT_MILLIS = 10000L; + private static final Logger logger = LoggerFactory.getLogger(WebSocketClientServerTest.class); + private HttpProxyServer proxy; + private WebSocketServer server; + private WebSocketClient client; + + @Before + public void setUp() { + server = new WebSocketServer(); + client = new WebSocketClient(); + } + + @After + public void tearDown() throws Exception { + if (client != null) { + client.close(); + client = null; + } + if (server != null) { + server.stop(); + server = null; + } + if (proxy != null) { + proxy.abort(); + proxy = null; + } + } + + private void startProxy(final boolean withSsl) { + final HttpProxyServerBootstrap bootstrap = DefaultHttpProxyServer.bootstrap().withTransparent(true).withPort(0); + if (withSsl) { + bootstrap.withManInTheMiddle(new SelfSignedMitmManager()); + } + proxy = bootstrap.start(); + } + + @Ignore // Only useful for debugging issues with the proxy tests + @Test(timeout=TEST_TIMEOUT_MILLIS) + public void directInsecureConnection() throws Exception { + testIntegration(false, false); + } + + @Ignore // Only useful for debugging issues with the proxy tests + @Test(timeout=TEST_TIMEOUT_MILLIS) + public void directSecureConnection() throws Exception { + testIntegration(true, false); + } + + @Test(timeout=TEST_TIMEOUT_MILLIS) + public void proxiedInsecureConnectionWsScheme() throws Exception { + testIntegration(false, true, "ws"); + } + + @Test(timeout=TEST_TIMEOUT_MILLIS) + public void proxiedInsecureConnectionHttpScheme() throws Exception { + testIntegration(false, true, "http"); + } + + @Test(timeout=TEST_TIMEOUT_MILLIS) + public void proxiedSecureConnectionWssScheme() throws Exception { + testIntegration(true, true, "wss"); + } + + @Test(timeout=TEST_TIMEOUT_MILLIS) + public void proxiedSecureConnectionHttpsScheme() throws Exception { + testIntegration(true, true, "https"); + } + + private void testIntegration(final boolean withSsl, final boolean withProxy) throws Exception { + testIntegration(withSsl, withProxy, withSsl ? "wss" : "ws"); + } + + private void testIntegration(final boolean withSsl, final boolean withProxy, final String scheme) throws Exception { + final InetSocketAddress serverAddress = server.start(withSsl); + if (withProxy) { + startProxy(withSsl); + } + + final URI serverUri = URI.create(scheme + "://" + serverAddress.getHostString() + ":" + serverAddress.getPort() + + WebSocketServer.WEBSOCKET_PATH); + + openClient(serverUri, withProxy); + + final String request = "test"; + client.send(request); + final String response = client.waitForResponse(Duration.ofSeconds(5)); + assertEquals(request.toUpperCase(), response); + } + + private void openClient(final URI uri, final boolean withProxy) throws InterruptedException { + final Optional proxyAddress = Optional.ofNullable(proxy).filter(httpProxy -> withProxy).map(HttpProxyServer::getListenAddress); + int connectionAttempt = 0; + boolean connected = false; + while (!connected && connectionAttempt++ < MAX_CONNECTION_ATTEMPTS) { + try { + client.open(uri, CONNECT_TIMEOUT, proxyAddress); + connected = true; + } catch (TimeoutException e) { + logger.warn("Connection attempt {} of {} timed out after {}", connectionAttempt, MAX_CONNECTION_ATTEMPTS, CONNECT_TIMEOUT); + Thread.sleep(CONNECT_TIMEOUT.toMillis() / 2); + } + } + if (!connected) { + fail("Connection timed out after " + MAX_CONNECTION_ATTEMPTS + " attempts"); + } + } +} diff --git a/src/test/java/org/littleshoot/proxy/websockets/WebSocketServer.java b/src/test/java/org/littleshoot/proxy/websockets/WebSocketServer.java new file mode 100644 index 00000000..83c7a6f2 --- /dev/null +++ b/src/test/java/org/littleshoot/proxy/websockets/WebSocketServer.java @@ -0,0 +1,113 @@ +package org.littleshoot.proxy.websockets; + +import java.net.InetSocketAddress; +import java.security.cert.CertificateException; +import java.util.Optional; +import java.util.concurrent.locks.Lock; +import java.util.concurrent.locks.ReentrantLock; + +import javax.net.ssl.SSLException; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.common.base.Preconditions; + +import io.netty.bootstrap.ServerBootstrap; +import io.netty.channel.Channel; +import io.netty.channel.ChannelInitializer; +import io.netty.channel.ChannelPipeline; +import io.netty.channel.EventLoopGroup; +import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.socket.SocketChannel; +import io.netty.channel.socket.nio.NioServerSocketChannel; +import io.netty.example.http.websocketx.server.WebSocketFrameHandler; +import io.netty.handler.codec.http.HttpObjectAggregator; +import io.netty.handler.codec.http.HttpServerCodec; +import io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler; +import io.netty.handler.logging.LogLevel; +import io.netty.handler.logging.LoggingHandler; +import io.netty.handler.ssl.SslContext; +import io.netty.handler.ssl.SslContextBuilder; +import io.netty.handler.ssl.util.SelfSignedCertificate; + +/** + * Simple WebSocket server for use in unit tests that receives text frames and + * echoes them back after converting to upper case. + */ +public class WebSocketServer { + static final String WEBSOCKET_PATH = "/websocket"; + private static final int MAX_AGGREGATOR_CONTENT_LENGTH = 65536; + private static final Logger logger = LoggerFactory.getLogger(WebSocketServer.class); + private final Lock lock = new ReentrantLock(); + private EventLoopGroup bossGroup; + private EventLoopGroup workerGroup; + private Channel channel; + + public InetSocketAddress start(final boolean ssl) throws InterruptedException, CertificateException, SSLException { + lock.lock(); + try { + if (bossGroup != null) { + throw new IllegalStateException("Server already started"); + } + + final Optional sslCtx; + if (ssl) { + final SelfSignedCertificate ssc = new SelfSignedCertificate(); + sslCtx = Optional.of(SslContextBuilder.forServer(ssc.certificate(), ssc.privateKey()).build()); + } else { + sslCtx = Optional.empty(); + } + + bossGroup = new NioEventLoopGroup(1); + workerGroup = new NioEventLoopGroup(); + + final ServerBootstrap bootstrap = new ServerBootstrap().group(bossGroup, workerGroup) + .channel(NioServerSocketChannel.class).handler(new LoggingHandler(LogLevel.DEBUG)) + .childHandler(new WebSocketServerInitializer(sslCtx)); + + channel = bootstrap.bind("localhost", 0).sync().channel(); + final InetSocketAddress serverAddress = (InetSocketAddress) channel.localAddress(); + logger.info("{} listening on {}", getClass().getSimpleName(), serverAddress); + return serverAddress; + } finally { + lock.unlock(); + } + } + + public void stop() throws InterruptedException { + lock.lock(); + try { + if (bossGroup == null) { + return; + } + channel.close().sync(); + bossGroup.shutdownGracefully(); + workerGroup.shutdownGracefully(); + channel = null; + bossGroup = null; + workerGroup = null; + } finally { + lock.unlock(); + } + } + + private class WebSocketServerInitializer extends ChannelInitializer { + private final Optional sslCtx; + + public WebSocketServerInitializer(final Optional sslCtx) { + this.sslCtx = Preconditions.checkNotNull(sslCtx); + } + + @Override + public void initChannel(final SocketChannel channel) throws Exception { + final ChannelPipeline pipeline = channel.pipeline(); + sslCtx.map(ctx -> ctx.newHandler(channel.alloc())) + .ifPresent(handler -> pipeline.addLast("ssl", handler)); + pipeline.addLast("http-codec", new HttpServerCodec()); + pipeline.addLast("http-aggregator", new HttpObjectAggregator(MAX_AGGREGATOR_CONTENT_LENGTH)); + pipeline.addLast("ws-protocol", new WebSocketServerProtocolHandler(WEBSOCKET_PATH, null, true)); + pipeline.addLast("ws-frame", new WebSocketFrameHandler()); + } + } +} From dfde48b27965c16a4a2347d7473f1875c507d9d4 Mon Sep 17 00:00:00 2001 From: James Baldassari Date: Sun, 24 Jan 2021 18:17:16 -0500 Subject: [PATCH 012/973] Tweak WebSocket unit test timeout settings for Travis build --- .../proxy/websockets/WebSocketClient.java | 4 ++-- .../websockets/WebSocketClientServerTest.java | 18 ++++++++++-------- .../proxy/websockets/WebSocketServer.java | 11 +++++++++-- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java b/src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java index fb221189..5f10fca9 100644 --- a/src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java +++ b/src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java @@ -120,10 +120,10 @@ public void open(final URI uri, final Duration connectTimeout, final Optional Date: Mon, 25 Jan 2021 13:50:50 -0700 Subject: [PATCH 013/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 85367aba..c6931839 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,8 @@ # Release Notes +- 2.0.2 + - Support for WebSockets with MITM in transparent mode + - 2.0.1 - Removed beta tag from version - Updated various dependency versions From 3d484330439ef1a17bf352e374cae888f445c19c Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 3 Feb 2021 10:53:04 -0500 Subject: [PATCH 014/973] Allow proxy to conditionally be a man in the middle For example, allows requests to some servers to be MITM'ed and requests to other servers to be tunneled unmodified. The `boolean HttpFilters.proxyToServerAllowMitm()` method controls if the proxy should act as a middle or not. --- RELEASE_NOTES.md | 1 + littleproxy_cert | Bin 1233 -> 1233 bytes .../org/littleshoot/proxy/HttpFilters.java | 9 +++++++++ .../littleshoot/proxy/HttpFiltersAdapter.java | 5 +++++ .../proxy/impl/ProxyToServerConnection.java | 4 ++-- .../org/littleshoot/proxy/HttpFilterTest.java | 16 ++++++++++++++++ 6 files changed, 33 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index c6931839..4cf808bf 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -2,6 +2,7 @@ - 2.0.2 - Support for WebSockets with MITM in transparent mode + - Support for per request conditional MITM - 2.0.1 - Removed beta tag from version diff --git a/littleproxy_cert b/littleproxy_cert index 9144f2855017c683ae2071e9d05640cc7aa1d83f..d89e3ac397fd8a102bcd2f343e71a84bdbccced3 100644 GIT binary patch delta 1165 zcmV;81akY)3DF54FoFclFoFWLpaTK{0s;h44rWR)4F(A+hDe6@4FLfRksu!&F)%VP zGch+aFfcS)7!NWrGBGeQF)%SVGcYhTky|={lQjKwS46(=4$9zW4*~PwRXRmcPCyYT zU_`OxwQQH#Q-1ss_W9I$Ni>?m7V%Bb zVgMQ+#ZNzDb0K}jZXQ5uU>SpOgl@B9v7ghZkR~S; z82VDB2k7;cgz)`GQEc@%g4Y>mM4igi;SQ+vd&>8UmI7a;X`|=i&X+IZ0e_ofNR#D1 zxzr5CuR&0OG-jU`$q^z%*@pPz-I0`k zz{&FyZnuG?RU+_f)hHV4q^Fh|(=tw{Bh!{u<%(Uv=U_j8Z}@Hi&`U#wfcW;ON4^o2ii}%e$WsHrdG+6QN&ZOY}l{b-AnJgvdR0;NxBun7t0pArptr zQD|*@UP;(>`$|84#@_Yt=_c@hXH8(C0s{d60iz)>A21yT163Uk1QrAoOke%J$KQdv zP7QI({YJLzah2+hFbxI?Duzgg_YDC73THAazIfP_PXV`+bJ=RD|#w+-YNfl7Gk<)gU4B zGS4$tEBU2WbuKtxtGCcLW%9YFZ!mS9CA(Jb@a*bgS5j0=;URkNbHUl6@K0Y*YNUG{@p~Zdk}w%Q6(&&^&Ut zCk2r)FSR|21LyPsx9=W5(X>1#uPR-g#{0#hN%$n?d?+ zZ>lV0s&B;sW@KK)sbp6*QM-+V{C(q%2wS!(#yDkS>)2&SAnzMydloi!DuR(*|1X~0 zB&=5ZYWYVg&OP#EneVUBO{NY|M5O4v-Ht(~4<=9v#pQNUp*2l^Qr3LiE`?epSW25; z1JKZ5-h@+oIyoFsY%oj-SvkQOP^{TQO delta 1165 zcmV;81akY)3DF54FoFclFoFWLpaTK{0s;g#c_bV#4F(A+hDe6@4FLfQksu!&FflPQ zGch+aI5RL>7!NWrGB7bPGcYkXGdMFaky|={u3@#Cvku&+X%UhVmD5}gR&rL#&`Svl z{R4H^~eFAlv3`EHG~iYhM|`#T58}Pu<9W zw!aPVcD@|dR|HFkK7!of(UrNBJW;)WBB0PJ-j;wq2X|nVlK~P#WQ>vd2>YaR%rt}$ zR4jnGH{=xe8sxb{y}VPxTkV`5le%yu;QS!*Y_)OM{F8iDSJ=gaoa&E@xZGA21yT163Uk1QrAoGu(*;98nlC zXkRetrs0|HRqCzrFbxI?Duzgg_YDC73k3iJf&u{m7U<{hNgqo>kYQY2s7H@a?nOP@ zU?h-JW7zVF>`&O$vY#jU$Oq0(RGM+8$(VT^cM&dJDntR^Z;5qIKO_L~B!)0orfqn^ zsxY&96W&Ivc5^M55^8K5uc8=KT2z$SWj}8*qHk}5YH}G76<{JFRAsZsfg=N9lh)Jt zPeL;X7G?&#td}U-J#@c+vRq;Ul7;8V7$TB4_HRa!T($|%ODQ%kU!F@pJIa}hCtlsl zh`Kgn;x?!o3vHaXyW-bRsub+(XEB*6Kt`GJm76|HG2hcQ1xWsx4FwZFoo4@YjPUA{ zoOjp?$8X(`G)4UW09sRUcZluK0(TO<9yB;2OJmtq-7 diff --git a/src/main/java/org/littleshoot/proxy/HttpFilters.java b/src/main/java/org/littleshoot/proxy/HttpFilters.java index b102d1d4..b99779eb 100644 --- a/src/main/java/org/littleshoot/proxy/HttpFilters.java +++ b/src/main/java/org/littleshoot/proxy/HttpFilters.java @@ -208,4 +208,13 @@ void proxyToServerResolutionSucceeded(String serverHostAndPort, */ void proxyToServerConnectionSucceeded(ChannelHandlerContext serverCtx); + /** + * Allow this proxy to act as an SSL man in the middle. + * + *

Has no impact if man in the middle is not enabled.

+ * + * @return true to allow mitm, false to not mitm the proxy to server connection. + */ + boolean proxyToServerAllowMitm(); + } diff --git a/src/main/java/org/littleshoot/proxy/HttpFiltersAdapter.java b/src/main/java/org/littleshoot/proxy/HttpFiltersAdapter.java index 2871364a..5e31e93d 100644 --- a/src/main/java/org/littleshoot/proxy/HttpFiltersAdapter.java +++ b/src/main/java/org/littleshoot/proxy/HttpFiltersAdapter.java @@ -103,4 +103,9 @@ public void proxyToServerConnectionFailed() { @Override public void proxyToServerConnectionSucceeded(ChannelHandlerContext serverCtx) { } + + @Override + public boolean proxyToServerAllowMitm() { + return true; + } } diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java index d05bb566..36669045 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java @@ -609,7 +609,7 @@ private void initializeConnectionFlow() { } MitmManager mitmManager = proxyServer.getMitmManager(); - boolean isMitmEnabled = mitmManager != null; + boolean isMitmEnabled = currentFilters.proxyToServerAllowMitm() && mitmManager != null; if (isMitmEnabled) { // When MITM is enabled and when chained proxy is set up, remoteAddress @@ -708,7 +708,7 @@ protected Future execute() { LOG.debug("Handling CONNECT request through Chained Proxy"); chainedProxy.filterRequest(initialRequest); MitmManager mitmManager = proxyServer.getMitmManager(); - boolean isMitmEnabled = mitmManager != null; + boolean isMitmEnabled = currentFilters.proxyToServerAllowMitm() && mitmManager != null; /* * We ignore the LastHttpContent which we read from the client * connection when we are negotiating connect (see readHttp() diff --git a/src/test/java/org/littleshoot/proxy/HttpFilterTest.java b/src/test/java/org/littleshoot/proxy/HttpFilterTest.java index f4ca7128..c77277ed 100644 --- a/src/test/java/org/littleshoot/proxy/HttpFilterTest.java +++ b/src/test/java/org/littleshoot/proxy/HttpFilterTest.java @@ -465,6 +465,7 @@ public HttpFilters filterRequest(HttpRequest originalRequest) { assertFalse("Expected filter method to not be called", filter.isProxyToServerConnectionStartedInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerRequestInvoked()); + assertFalse("Expected filter method to not be called", filter.isProxyToServerAllowMitmInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerConnectionFailedInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerConnectionSucceededInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerRequestSendingInvoked()); @@ -507,6 +508,7 @@ public HttpFilters filterRequest(HttpRequest originalRequest) { assertTrue("Expected filter method to be called", filter.isProxyToServerResolutionSucceededInvoked()); assertTrue("Expected filter method to be called", filter.isProxyToClientResponseInvoked()); + assertFalse("Expected filter method to not be called", filter.isProxyToServerAllowMitmInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerRequestSendingInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerRequestSentInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerConnectionSSLHandshakeStartedInvoked()); @@ -560,6 +562,7 @@ public InetSocketAddress getChainedProxyAddress() { assertTrue("Expected filter method to be called", filter.isProxyToServerConnectionStartedInvoked()); assertTrue("Expected filter method to be called", filter.isProxyToClientResponseInvoked()); + assertFalse("Expected filter method to not be called", filter.isProxyToServerAllowMitmInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerConnectionSSLHandshakeStartedInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerResolutionStartedInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerResolutionSucceededInvoked()); @@ -634,6 +637,7 @@ public SSLEngine newSslEngine() { assertTrue("Expected filter method to be called", filter.isProxyToClientResponseInvoked()); assertTrue("Expected filter method to be called", filter.isProxyToServerConnectionSSLHandshakeStartedInvoked()); + assertFalse("Expected filter method to not be called", filter.isProxyToServerAllowMitmInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerResolutionStartedInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerResolutionSucceededInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerRequestSendingInvoked()); @@ -695,6 +699,7 @@ public HttpFilters filterRequest(HttpRequest originalRequest) { assertTrue("Expected filter method to be called", filter.isProxyToServerConnectionSucceededInvoked()); assertTrue("Expected filter method to be called", filter.isProxyToClientResponseInvoked()); + assertFalse("Expected filter method to not be called", filter.isProxyToServerAllowMitmInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerResolutionFailedInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerConnectionFailedInvoked()); assertFalse("Expected filter method to not be called", filter.isProxyToServerConnectionSSLHandshakeStartedInvoked()); @@ -793,6 +798,7 @@ private static class HttpFiltersMethodInvokedAdapter implements HttpFilters { private final AtomicBoolean proxyToServerConnectionFailed = new AtomicBoolean(false); private final AtomicBoolean proxyToServerConnectionSucceeded = new AtomicBoolean(false); private final AtomicBoolean clientToProxyRequest = new AtomicBoolean(false); + private final AtomicBoolean proxyToServerAllowMitm = new AtomicBoolean(false); private final AtomicBoolean proxyToServerRequest = new AtomicBoolean(false); private final AtomicBoolean proxyToServerRequestSending = new AtomicBoolean(false); private final AtomicBoolean proxyToServerRequestSent = new AtomicBoolean(false); @@ -820,6 +826,10 @@ public boolean isClientToProxyRequestInvoked() { return clientToProxyRequest.get(); } + public boolean isProxyToServerAllowMitmInvoked() { + return proxyToServerAllowMitm.get(); + } + public boolean isProxyToServerRequestInvoked() { return proxyToServerRequest.get(); } @@ -965,5 +975,11 @@ public void proxyToServerConnectionStarted() { public void proxyToServerConnectionSSLHandshakeStarted() { proxyToServerConnectionSSLHandshakeStarted.set(true); } + + @Override + public boolean proxyToServerAllowMitm() { + clientToProxyRequest.set(true); + return true; + } } } From fd10456798dae9861eaf780066b90aee4143fcf9 Mon Sep 17 00:00:00 2001 From: mrogers Date: Wed, 3 Feb 2021 15:29:06 -0700 Subject: [PATCH 015/973] Releasing version 2.0.2 --- README.md | 4 ++-- pom.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 31efb797..c3e67355 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.1 + 2.0.2 ``` Or with Gradle like this -`compile "xyz.rogfam:littleproxy:2.0.1"` +`compile "xyz.rogfam:littleproxy:2.0.2"` Once you've included LittleProxy, you can start the server with the following: diff --git a/pom.xml b/pom.xml index 58fec5bd..f7e0884c 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.2-SNAPSHOT + 2.0.2 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 62199c7bd891421b9c88da03e1e838b1f126a6f3 Mon Sep 17 00:00:00 2001 From: mrogers Date: Wed, 3 Feb 2021 15:31:54 -0700 Subject: [PATCH 016/973] Next snapshot version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f7e0884c..1986c60b 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.2 + 2.0.3-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 999ca49b0ee739c0fe3bc20ee9a4f32909dcccac Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 5 Feb 2021 10:57:14 -0500 Subject: [PATCH 017/973] Upgrade guava to 30.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1986c60b..b3cac955 100644 --- a/pom.xml +++ b/pom.xml @@ -147,7 +147,7 @@ com.google.guava guava - 30.0-jre + 30.1-jre From acd32e9372ba48e6ca0dde02b1a58c37d7deb1ee Mon Sep 17 00:00:00 2001 From: mrog Date: Fri, 5 Feb 2021 17:54:32 -0700 Subject: [PATCH 018/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 4cf808bf..62e43319 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,8 @@ # Release Notes +- 2.0.3 + - Upgrade guava to 30.1 + - 2.0.2 - Support for WebSockets with MITM in transparent mode - Support for per request conditional MITM From 6de89fb55f15b4c3392dc331bb0a9bf64aa232fb Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 12 Mar 2021 10:43:07 -0500 Subject: [PATCH 019/973] Mark threads as daemon threads Threads should be daemon (not user, which is the default) threads so the JVM exits as expected when all other threads stop. --- .../org/littleshoot/proxy/impl/CategorizedThreadFactory.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/littleshoot/proxy/impl/CategorizedThreadFactory.java b/src/main/java/org/littleshoot/proxy/impl/CategorizedThreadFactory.java index 54c07ab7..18bc74c4 100644 --- a/src/main/java/org/littleshoot/proxy/impl/CategorizedThreadFactory.java +++ b/src/main/java/org/littleshoot/proxy/impl/CategorizedThreadFactory.java @@ -39,6 +39,7 @@ public CategorizedThreadFactory(String name, String category, int uniqueServerGr public Thread newThread(Runnable r) { Thread t = new Thread(r, name + "-" + uniqueServerGroupId + "-" + category + "-" + threadCount.getAndIncrement()); + t.setDaemon(true); t.setUncaughtExceptionHandler(UNCAUGHT_EXCEPTION_HANDLER); return t; From 47c2d64e6e9de4faa50d81a4de41c05cd61c3e10 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 12 Mar 2021 11:04:07 -0500 Subject: [PATCH 020/973] Stop the proxy if it fails to start During startup, the proxy initializes thread pools and starts threads. If the proxy fails to start (such as if the port it tries to run on is already in use resulting in a `BindException`), those threads need to be stopped; calling `abort()` shuts down those threads. --- .../java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java b/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java index 16253ef5..ea89fc1b 100644 --- a/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java +++ b/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java @@ -520,6 +520,7 @@ protected void initChannel(Channel ch) { Throwable cause = future.cause(); if (cause != null) { + abort(); throw new RuntimeException(cause); } From 1ec17b52b9224ab2ec6c57259b85d4ae6c034209 Mon Sep 17 00:00:00 2001 From: mrog Date: Fri, 12 Mar 2021 10:53:14 -0700 Subject: [PATCH 021/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 62e43319..fe0f9cf9 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -2,6 +2,7 @@ - 2.0.3 - Upgrade guava to 30.1 + - Threads are now set as daemon (not user, which is the default) threads so the JVM exits as expected when all other threads stop. - 2.0.2 - Support for WebSockets with MITM in transparent mode From 877ab7cefeb34a68a22f85d4fff8abbf20183a7d Mon Sep 17 00:00:00 2001 From: mrog Date: Fri, 12 Mar 2021 10:56:06 -0700 Subject: [PATCH 022/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index fe0f9cf9..384d324f 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -3,6 +3,7 @@ - 2.0.3 - Upgrade guava to 30.1 - Threads are now set as daemon (not user, which is the default) threads so the JVM exits as expected when all other threads stop. + - Close thread pool if proxy fails to start - 2.0.2 - Support for WebSockets with MITM in transparent mode From 5c3eda840256f354e81a982d145208484045f58b Mon Sep 17 00:00:00 2001 From: mrogers Date: Fri, 26 Mar 2021 12:24:55 -0600 Subject: [PATCH 023/973] Release 2.0.3 --- README.md | 4 ++-- pom.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c3e67355..29ebf19a 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.2 + 2.0.3 ``` Or with Gradle like this -`compile "xyz.rogfam:littleproxy:2.0.2"` +`compile "xyz.rogfam:littleproxy:2.0.3"` Once you've included LittleProxy, you can start the server with the following: diff --git a/pom.xml b/pom.xml index b3cac955..3d3951ee 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.3-SNAPSHOT + 2.0.3 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 9b30338b441ad14495ddd86768efda56e7ea71f1 Mon Sep 17 00:00:00 2001 From: mrogers Date: Fri, 26 Mar 2021 12:44:30 -0600 Subject: [PATCH 024/973] Changed version to next snapshot version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3d3951ee..b1bb40e5 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.3 + 2.0.4-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 6cc93c8c293fe57cae9b39240b1771367e5b0461 Mon Sep 17 00:00:00 2001 From: Karsten Ohme Date: Wed, 31 Mar 2021 04:49:32 +0200 Subject: [PATCH 025/973] catch VerifyError under Android when checking for UDT --- src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java index 52f133f3..9dfd37e1 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java @@ -540,7 +540,7 @@ public static List splitCommaSeparatedHeaderValues(String headerValue) { public static boolean isUdtAvailable() { try { return NioUdtProvider.BYTE_PROVIDER != null; - } catch (NoClassDefFoundError e) { + } catch (Throwable e) { return false; } } From 170101f86ff82440f753ea1f25c460ec506246c8 Mon Sep 17 00:00:00 2001 From: Karsten Ohme Date: Fri, 2 Apr 2021 05:16:27 +0200 Subject: [PATCH 026/973] handling Android exception in separate catch --- src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java index 9dfd37e1..e68590e9 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java @@ -540,7 +540,10 @@ public static List splitCommaSeparatedHeaderValues(String headerValue) { public static boolean isUdtAvailable() { try { return NioUdtProvider.BYTE_PROVIDER != null; - } catch (Throwable e) { + } catch (NoClassDefFoundError e) { + return false; + // necessary for Android which throws VerifyError if the field BYTE_PROVIDER is accessed of the unavailable class + } catch (VerifyError e) { return false; } } From a7d62b00df04f6465a498c449aa3a86d13cf50d6 Mon Sep 17 00:00:00 2001 From: mrog Date: Thu, 1 Apr 2021 21:38:09 -0600 Subject: [PATCH 027/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 384d324f..d4e3c5ec 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,8 @@ # Release Notes +- 2.0.4 + - Android compatibility fix + - 2.0.3 - Upgrade guava to 30.1 - Threads are now set as daemon (not user, which is the default) threads so the JVM exits as expected when all other threads stop. From dd09eef4639cb99dc6c375c3cc82de4a2985697d Mon Sep 17 00:00:00 2001 From: James Baldassari Date: Fri, 23 Apr 2021 11:24:12 -0400 Subject: [PATCH 028/973] Fix NoSuchElementException when switching protocols to WebSocket --- .../proxy/impl/ClientToProxyConnection.java | 56 +++++++++++++++---- .../proxy/impl/ProxyConnection.java | 30 ++++++---- .../proxy/impl/ProxyToServerConnection.java | 16 +++--- 3 files changed, 71 insertions(+), 31 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index 37c4a11b..edc6955b 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -7,27 +7,59 @@ import io.netty.channel.ChannelPipeline; import io.netty.handler.codec.haproxy.HAProxyMessage; import io.netty.handler.codec.haproxy.HAProxyMessageDecoder; -import io.netty.handler.codec.http.*; +import io.netty.handler.codec.http.DefaultHttpRequest; +import io.netty.handler.codec.http.FullHttpRequest; +import io.netty.handler.codec.http.FullHttpResponse; +import io.netty.handler.codec.http.HttpContent; +import io.netty.handler.codec.http.HttpHeaderNames; +import io.netty.handler.codec.http.HttpHeaderValues; +import io.netty.handler.codec.http.HttpHeaders; +import io.netty.handler.codec.http.HttpMethod; +import io.netty.handler.codec.http.HttpObject; +import io.netty.handler.codec.http.HttpObjectAggregator; +import io.netty.handler.codec.http.HttpRequest; +import io.netty.handler.codec.http.HttpRequestDecoder; +import io.netty.handler.codec.http.HttpResponse; +import io.netty.handler.codec.http.HttpResponseEncoder; +import io.netty.handler.codec.http.HttpResponseStatus; +import io.netty.handler.codec.http.HttpUtil; +import io.netty.handler.codec.http.HttpVersion; import io.netty.handler.timeout.IdleStateHandler; import io.netty.handler.traffic.GlobalTrafficShapingHandler; -import io.netty.util.concurrent.Future; import io.netty.util.ReferenceCounted; +import io.netty.util.concurrent.Future; import org.apache.commons.lang3.StringUtils; -import org.littleshoot.proxy.*; +import org.littleshoot.proxy.ActivityTracker; +import org.littleshoot.proxy.FlowContext; +import org.littleshoot.proxy.FullFlowContext; +import org.littleshoot.proxy.HttpFilters; +import org.littleshoot.proxy.HttpFiltersAdapter; +import org.littleshoot.proxy.ProxyAuthenticator; +import org.littleshoot.proxy.SslEngineSource; import javax.net.ssl.SSLSession; + import java.io.IOException; import java.net.InetSocketAddress; import java.net.UnknownHostException; import java.nio.charset.Charset; -import java.util.*; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.regex.Pattern; -import static org.littleshoot.proxy.impl.ConnectionState.*; +import static org.littleshoot.proxy.impl.ConnectionState.AWAITING_CHUNK; +import static org.littleshoot.proxy.impl.ConnectionState.AWAITING_INITIAL; +import static org.littleshoot.proxy.impl.ConnectionState.AWAITING_PROXY_AUTHENTICATION; +import static org.littleshoot.proxy.impl.ConnectionState.DISCONNECT_REQUESTED; +import static org.littleshoot.proxy.impl.ConnectionState.NEGOTIATING_CONNECT; /** *

@@ -475,12 +507,12 @@ else if (isSwithchingToWebSocketProtocol) { private void switchToWebSocketProtocol(final ProxyToServerConnection serverConnection) { final List orderedHandlersToRemove = Arrays.asList(HTTP_REQUEST_READ_MONITOR_NAME, HTTP_RESPONSE_WRITTEN_MONITOR_NAME, HTTP_PROXY_DECODER_NAME, HTTP_ENCODER_NAME, HTTP_DECODER_NAME); - this.channel.pipeline().replace(MAIN_HANDLER_NAME, "pipe-to-server", - new ProxyConnectionPipeHandler(serverConnection)); + if (this.channel.pipeline().get(MAIN_HANDLER_NAME) != null) { + this.channel.pipeline().replace(MAIN_HANDLER_NAME, "pipe-to-server", + new ProxyConnectionPipeHandler(serverConnection)); + } orderedHandlersToRemove.stream() - .map(handlerName -> this.channel.pipeline().get(handlerName)) - .filter(Objects::nonNull) - .forEach(handler -> this.channel.pipeline().remove(handler)); + .forEach(this::removeHandlerIfPresent); serverConnection.switchToWebSocketProtocol(); } @@ -800,6 +832,10 @@ private void initChannelPipeline(ChannelPipeline pipeline) { pipeline.addLast(MAIN_HANDLER_NAME, this); } + + private void removeHandlerIfPresent(String name) { + removeHandlerIfPresent(channel.pipeline(), name); + } /** * Is the proxy server set to accept a proxy protocol header diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java index 782537dc..081571a2 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java @@ -312,18 +312,10 @@ boolean shouldSuppressInitialRequest() { protected Future execute() { try { ChannelPipeline pipeline = ctx.pipeline(); - if (pipeline.get("encoder") != null) { - pipeline.remove("encoder"); - } - if (pipeline.get("responseWrittenMonitor") != null) { - pipeline.remove("responseWrittenMonitor"); - } - if (pipeline.get("decoder") != null) { - pipeline.remove("decoder"); - } - if (pipeline.get("requestReadMonitor") != null) { - pipeline.remove("requestReadMonitor"); - } + removeHandlerIfPresent(pipeline, "encoder"); + removeHandlerIfPresent(pipeline, "responseWrittenMonitor"); + removeHandlerIfPresent(pipeline, "decoder"); + removeHandlerIfPresent(pipeline, "requestReadMonitor"); tunneling = true; return channel.newSucceededFuture(); } catch (Throwable t) { @@ -432,6 +424,20 @@ protected void becameWritable() { */ protected void exceptionCaught(Throwable cause) { } + + /** + * Removes the handler with the given name if it is present in the pipeline. + * @param pipeline the pipeline from which to remove the handler. + * @param handlerName the name of the handler to remove. + * @return true if the handler was found and removed; false otherwise. + */ + protected boolean removeHandlerIfPresent(ChannelPipeline pipeline, String handlerName) { + if (pipeline.get(handlerName) != null) { + pipeline.remove(handlerName); + return true; + } + return false; + } /* ************************************************************************* * State/Management diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java index 36669045..8796ea68 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java @@ -71,13 +71,13 @@ import javax.net.ssl.SSLHandshakeException; import javax.net.ssl.SSLProtocolException; import javax.net.ssl.SSLSession; + import java.io.IOException; import java.net.InetSocketAddress; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.Objects; import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.RejectedExecutionException; @@ -648,9 +648,7 @@ private void addFirstOrReplaceHandler(String name, ChannelHandler handler) { } private void removeHandlerIfPresent(String name) { - if (channel.pipeline().context(name) != null) { - channel.pipeline().remove(name); - } + removeHandlerIfPresent(channel.pipeline(), name); } /** @@ -1207,12 +1205,12 @@ private static InetSocketAddress unresolvedAddressFor(String hostAndPort) { void switchToWebSocketProtocol() { final List orderedHandlersToRemove = Arrays.asList(HTTP_REQUEST_WRITTEN_MONITOR_NAME, HTTP_RESPONSE_READ_MONITOR_NAME, HTTP_PROXY_ENCODER_NAME, HTTP_ENCODER_NAME, HTTP_DECODER_NAME); - this.channel.pipeline().replace(MAIN_HANDLER_NAME, "pipe-to-client", - new ProxyConnectionPipeHandler(clientConnection)); + if (this.channel.pipeline().get(MAIN_HANDLER_NAME) != null) { + this.channel.pipeline().replace(MAIN_HANDLER_NAME, "pipe-to-client", + new ProxyConnectionPipeHandler(clientConnection)); + } orderedHandlersToRemove.stream() - .map(handlerName -> this.channel.pipeline().get(handlerName)) - .filter(Objects::nonNull) - .forEach(handler -> this.channel.pipeline().remove(handler)); + .forEach(this::removeHandlerIfPresent); } /* ************************************************************************* From e65c33d3660d7dc3ed5cd4d6615175dea02e3900 Mon Sep 17 00:00:00 2001 From: James Baldassari Date: Mon, 26 Apr 2021 15:14:00 -0400 Subject: [PATCH 029/973] Prevent NullPointerException in ProxyUtils::isHEAD --- src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java index e68590e9..6cc56b05 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java @@ -313,7 +313,7 @@ public static boolean isCONNECT(HttpObject httpObject) { * @return true if request is a HEAD, otherwise false */ public static boolean isHEAD(HttpRequest httpRequest) { - return HttpMethod.HEAD.equals(httpRequest.method()); + return httpRequest != null && HttpMethod.HEAD.equals(httpRequest.method()); } private static boolean checkTrueOrFalse(final String val, From cc38d2d9e08f953904e1f6b15219a09bc2aaebec Mon Sep 17 00:00:00 2001 From: mrog Date: Tue, 27 Apr 2021 11:17:28 -0600 Subject: [PATCH 030/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index d4e3c5ec..cb9e91e0 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,8 @@ # Release Notes - 2.0.4 - - Android compatibility fix + - Android compatibility fix (Issue #76) + - Fix NoSuchElementException when switching protocols to WebSocket (Issue #78) - 2.0.3 - Upgrade guava to 30.1 From 75396fa88acd5502a5d29b8251989d3c69b65760 Mon Sep 17 00:00:00 2001 From: mrog Date: Tue, 27 Apr 2021 11:18:58 -0600 Subject: [PATCH 031/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index cb9e91e0..dab5f291 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -3,6 +3,7 @@ - 2.0.4 - Android compatibility fix (Issue #76) - Fix NoSuchElementException when switching protocols to WebSocket (Issue #78) + - Prevent NullPointerException in ProxyUtils::isHEAD (Issue #79) - 2.0.3 - Upgrade guava to 30.1 From 071060a38cde5a9ad7193390f371e1f5bcb1fc34 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 28 Apr 2021 17:15:37 -0400 Subject: [PATCH 032/973] Close resources in ThrottlingTest --- .../org/littleshoot/proxy/ThrottlingTest.java | 284 ++++++++++-------- 1 file changed, 153 insertions(+), 131 deletions(-) diff --git a/src/test/java/org/littleshoot/proxy/ThrottlingTest.java b/src/test/java/org/littleshoot/proxy/ThrottlingTest.java index 8233ccaf..880cdc73 100644 --- a/src/test/java/org/littleshoot/proxy/ThrottlingTest.java +++ b/src/test/java/org/littleshoot/proxy/ThrottlingTest.java @@ -15,6 +15,7 @@ import org.junit.runners.MethodSorters; import org.littleshoot.proxy.impl.DefaultHttpProxyServer; +import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.both; import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.lessThan; @@ -23,6 +24,7 @@ @FixMethodOrder(MethodSorters.JVM) public class ThrottlingTest { + private static final int LARGE_DATA_SIZE = 100000; private static final long THROTTLED_READ_BYTES_PER_SECOND = 25000L; private static final long THROTTLED_WRITE_BYTES_PER_SECOND = 25000L; @@ -31,6 +33,7 @@ public class ThrottlingTest { // is broken it should take much less time than expected. private static final double ALLOWABLE_VARIATION = 0.30; + private HttpProxyServer proxyServer; private Server writeWebServer; private Server readWebServer; @@ -48,7 +51,7 @@ public class ThrottlingTest { @Before public void setUp() { // Set up some large data - largeData = new byte[100000]; + largeData = new byte[LARGE_DATA_SIZE]; for (int i = 0; i < largeData.length; i++) { largeData[i] = 1 % 256; } @@ -66,12 +69,18 @@ public void setUp() { @After public void tearDown() throws Exception { try { - if (writeWebServer != null) { - writeWebServer.stop(); + if (proxyServer != null) { + proxyServer.abort(); } } finally { - if (readWebServer != null) { - readWebServer.stop(); + try { + if (writeWebServer != null) { + writeWebServer.stop(); + } + } finally { + if (readWebServer != null) { + readWebServer.stop(); + } } } } @@ -81,7 +90,7 @@ public void aWarmUpTest() throws Exception { // a "warm-up" test so the first test's results are not skewed due to classloading, etc. guaranteed to run // first with the @FixMethodOrder(MethodSorters.NAME_ASCENDING) annotation on the class. - HttpProxyServer proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .withThrottling(0, THROTTLED_WRITE_BYTES_PER_SECOND) .start(); @@ -89,16 +98,17 @@ public void aWarmUpTest() throws Exception { int proxyPort = proxyServer.getListenAddress().getPort(); HttpGet request = createHttpGet(); - CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyPort); + try(CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyPort)){ - EntityUtils.consumeQuietly(httpClient.execute(new HttpHost("127.0.0.1", writeWebServerPort), request).getEntity()); + EntityUtils.consumeQuietly(httpClient.execute(new HttpHost("127.0.0.1", writeWebServerPort), request).getEntity()); - EntityUtils.consumeQuietly(httpClient.execute(new HttpHost("127.0.0.1", readWebServerPort), request).getEntity()); + EntityUtils.consumeQuietly(httpClient.execute(new HttpHost("127.0.0.1", readWebServerPort), request).getEntity()); + } } @Test public void testThrottledWrite() throws Exception { - HttpProxyServer proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .withThrottling(0, THROTTLED_WRITE_BYTES_PER_SECOND) .start(); @@ -107,27 +117,26 @@ public void testThrottledWrite() throws Exception { final HttpPost request = createHttpPost(); - CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyPort); - - long start = System.currentTimeMillis(); - final org.apache.http.HttpResponse response = httpClient.execute( - new HttpHost("127.0.0.1", - writeWebServerPort), request); - long finish = System.currentTimeMillis(); + try(CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyPort)) { - assertEquals("Received " + largeData.length + " bytes\n", - EntityUtils.toString(response.getEntity())); + long start = System.currentTimeMillis(); + final org.apache.http.HttpResponse response = httpClient.execute( + new HttpHost("127.0.0.1", + writeWebServerPort), request); + long finish = System.currentTimeMillis(); - assertThat("Expected throttled write to complete in approximately " + msToWriteThrottled + "ms" + " but took " + (finish - start) + "ms", - (double)(finish - start), both(greaterThan(msToWriteThrottled * (1 - ALLOWABLE_VARIATION))).and( - lessThan(msToWriteThrottled * (1 + ALLOWABLE_VARIATION)))); + assertEquals("Received " + largeData.length + " bytes\n", + EntityUtils.toString(response.getEntity())); - proxyServer.abort(); + assertThat("Expected throttled write to complete in approximately " + msToWriteThrottled + "ms" + " but took " + (finish - start) + "ms", + (double)(finish - start), both(greaterThan(msToWriteThrottled * (1 - ALLOWABLE_VARIATION))).and( + lessThan(msToWriteThrottled * (1 + ALLOWABLE_VARIATION)))); + } } @Test public void testUnthrottledWrite() throws Exception { - HttpProxyServer proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .start(); @@ -135,26 +144,25 @@ public void testUnthrottledWrite() throws Exception { final HttpPost request = createHttpPost(); - CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyPort); + try(CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyPort)) { - long start = System.currentTimeMillis(); - final org.apache.http.HttpResponse response = httpClient.execute( - new HttpHost("127.0.0.1", - writeWebServerPort), request); - long finish = System.currentTimeMillis(); + long start = System.currentTimeMillis(); + final org.apache.http.HttpResponse response = httpClient.execute( + new HttpHost("127.0.0.1", + writeWebServerPort), request); + long finish = System.currentTimeMillis(); - assertEquals("Received " + largeData.length + " bytes\n", - EntityUtils.toString(response.getEntity())); + assertEquals("Received " + largeData.length + " bytes\n", + EntityUtils.toString(response.getEntity())); - assertThat("Unthrottled write took " + (finish - start) + "ms, but expected to complete in " + UNTRHOTTLED_REQUEST_TIME_MS + "ms", - finish - start, lessThan((long) UNTRHOTTLED_REQUEST_TIME_MS)); - - proxyServer.abort(); + assertThat("Unthrottled write took " + (finish - start) + "ms, but expected to complete in " + UNTRHOTTLED_REQUEST_TIME_MS + "ms", + finish - start, lessThan((long) UNTRHOTTLED_REQUEST_TIME_MS)); + } } @Test public void testThrottledRead() throws Exception { - HttpProxyServer proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .withThrottling(THROTTLED_READ_BYTES_PER_SECOND, 0) .start(); @@ -163,32 +171,34 @@ public void testThrottledRead() throws Exception { final HttpGet request = createHttpGet(); - CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyPort); + try(CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyPort)) { - long start = System.currentTimeMillis(); - final org.apache.http.HttpResponse response = httpClient.execute( - new HttpHost("127.0.0.1", - readWebServerPort), request); - byte[] readContent = new byte[100000]; + long start = System.currentTimeMillis(); + final org.apache.http.HttpResponse response = httpClient.execute( + new HttpHost("127.0.0.1", + readWebServerPort), request); + byte[] readContent = new byte[LARGE_DATA_SIZE]; - int bytesRead = 0; - while (bytesRead < largeData.length) { - int read = response.getEntity().getContent().read(readContent, bytesRead, largeData.length - bytesRead); - bytesRead += read; - } + int bytesRead = 0; + while (bytesRead < largeData.length) { + int read = response.getEntity().getContent().read(readContent, bytesRead, largeData.length - bytesRead); + bytesRead += read; + } - long finish = System.currentTimeMillis(); + long finish = System.currentTimeMillis(); - assertThat("Expected throttled read to complete in approximately " + msToReadThrottled + "ms" + " but took " + (finish - start) + "ms", - (double)(finish - start), both(greaterThan(msToReadThrottled * (1 - ALLOWABLE_VARIATION))) - .and(lessThan(msToReadThrottled * (1 + ALLOWABLE_VARIATION)))); + assertThat("Expected to read " + LARGE_DATA_SIZE + " bytes but actually read " + bytesRead + "bytes", + bytesRead, equalTo(LARGE_DATA_SIZE)); - proxyServer.abort(); + assertThat("Expected throttled read to complete in approximately " + msToReadThrottled + "ms" + " but took " + (finish - start) + "ms", + (double)(finish - start), both(greaterThan(msToReadThrottled * (1 - ALLOWABLE_VARIATION))) + .and(lessThan(msToReadThrottled * (1 + ALLOWABLE_VARIATION)))); + } } @Test public void testUnthrottledRead() throws Exception { - HttpProxyServer proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .start(); @@ -196,31 +206,33 @@ public void testUnthrottledRead() throws Exception { final HttpGet request = createHttpGet(); - CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyPort); + try(CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyPort)) { - long start = System.currentTimeMillis(); - final org.apache.http.HttpResponse response = httpClient.execute( - new HttpHost("127.0.0.1", - readWebServerPort), request); + long start = System.currentTimeMillis(); + final org.apache.http.HttpResponse response = httpClient.execute( + new HttpHost("127.0.0.1", + readWebServerPort), request); - byte[] readContent = new byte[100000]; - int bytesRead = 0; - while (bytesRead < largeData.length) { - int read = response.getEntity().getContent().read(readContent, bytesRead, largeData.length - bytesRead); - bytesRead += read; - } + byte[] readContent = new byte[LARGE_DATA_SIZE]; + int bytesRead = 0; + while (bytesRead < largeData.length) { + int read = response.getEntity().getContent().read(readContent, bytesRead, largeData.length - bytesRead); + bytesRead += read; + } - long finish = System.currentTimeMillis(); + long finish = System.currentTimeMillis(); - assertThat("Unthrottled read took " + (finish - start) + "ms, but expected to complete in " + UNTRHOTTLED_REQUEST_TIME_MS + "ms", - finish - start, lessThan((long)UNTRHOTTLED_REQUEST_TIME_MS)); + assertThat("Expected to read " + LARGE_DATA_SIZE + " bytes but actually read " + bytesRead + "bytes", + bytesRead, equalTo(LARGE_DATA_SIZE)); - proxyServer.abort(); + assertThat("Unthrottled read took " + (finish - start) + "ms, but expected to complete in " + UNTRHOTTLED_REQUEST_TIME_MS + "ms", + finish - start, lessThan((long)UNTRHOTTLED_REQUEST_TIME_MS)); + } } @Test public void testChangeThrottling() throws Exception { - HttpProxyServer proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .withThrottling(THROTTLED_READ_BYTES_PER_SECOND, 0) .start(); @@ -229,52 +241,57 @@ public void testChangeThrottling() throws Exception { final HttpGet request = createHttpGet(); - CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyPort); + try(CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyPort)) { - long firstStart = System.currentTimeMillis(); - org.apache.http.HttpResponse response = httpClient.execute( - new HttpHost("127.0.0.1", - readWebServerPort), request); - byte[] readContent = new byte[100000]; + long firstStart = System.currentTimeMillis(); + org.apache.http.HttpResponse response = httpClient.execute( + new HttpHost("127.0.0.1", + readWebServerPort), request); + byte[] readContent = new byte[LARGE_DATA_SIZE]; - int bytesRead = 0; - while (bytesRead < largeData.length) { - int read = response.getEntity().getContent().read(readContent, bytesRead, largeData.length - bytesRead); - bytesRead += read; - } + int bytesRead = 0; + while (bytesRead < largeData.length) { + int read = response.getEntity().getContent().read(readContent, bytesRead, largeData.length - bytesRead); + bytesRead += read; + } - long firstFinish = System.currentTimeMillis(); + long firstFinish = System.currentTimeMillis(); - HttpClientUtils.closeQuietly(response); + assertThat("Expected to read " + LARGE_DATA_SIZE + " bytes but actually read " + bytesRead + "bytes", + bytesRead, equalTo(LARGE_DATA_SIZE)); - proxyServer.setThrottle(THROTTLED_READ_BYTES_PER_SECOND * 2, 0); + HttpClientUtils.closeQuietly(response); - long secondStart = System.currentTimeMillis(); - response = httpClient.execute( - new HttpHost("127.0.0.1", - readWebServerPort), request); - readContent = new byte[100000]; + proxyServer.setThrottle(THROTTLED_READ_BYTES_PER_SECOND * 2, 0); - bytesRead = 0; - while (bytesRead < largeData.length) { - int read = response.getEntity().getContent().read(readContent, bytesRead, largeData.length - bytesRead); - bytesRead += read; - } + long secondStart = System.currentTimeMillis(); + response = httpClient.execute( + new HttpHost("127.0.0.1", + readWebServerPort), request); + readContent = new byte[LARGE_DATA_SIZE]; + + bytesRead = 0; + while (bytesRead < largeData.length) { + int read = response.getEntity().getContent().read(readContent, bytesRead, largeData.length - bytesRead); + bytesRead += read; + } - long secondFinish = System.currentTimeMillis(); + long secondFinish = System.currentTimeMillis(); - HttpClientUtils.closeQuietly(response); + assertThat("Expected to read " + LARGE_DATA_SIZE + " bytes but actually read " + bytesRead + "bytes", + bytesRead, equalTo(LARGE_DATA_SIZE)); - assertThat("Expected second read to take approximately half as long as first throttled read. First read took " + (firstFinish - firstStart) + "ms" + " but second read took " + (secondFinish - secondStart) + "ms", - (double)(firstFinish - firstStart) / 2, both(greaterThan((secondFinish - secondStart) * (1 - ALLOWABLE_VARIATION))) - .and(lessThan((secondFinish - secondStart) * (1 + ALLOWABLE_VARIATION)))); + HttpClientUtils.closeQuietly(response); - proxyServer.abort(); + assertThat("Expected second read to take approximately half as long as first throttled read. First read took " + (firstFinish - firstStart) + "ms" + " but second read took " + (secondFinish - secondStart) + "ms", + (double)(firstFinish - firstStart) / 2, both(greaterThan((secondFinish - secondStart) * (1 - ALLOWABLE_VARIATION))) + .and(lessThan((secondFinish - secondStart) * (1 + ALLOWABLE_VARIATION)))); + } } @Test public void testDisableThrottling() throws Exception { - HttpProxyServer proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .withThrottling(THROTTLED_READ_BYTES_PER_SECOND, 0) .start(); @@ -283,47 +300,52 @@ public void testDisableThrottling() throws Exception { final HttpGet request = createHttpGet(); - CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyPort); + try(CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyPort)) { - long firstStart = System.currentTimeMillis(); - org.apache.http.HttpResponse response = httpClient.execute( - new HttpHost("127.0.0.1", - readWebServerPort), request); - byte[] readContent = new byte[100000]; + long firstStart = System.currentTimeMillis(); + org.apache.http.HttpResponse response = httpClient.execute( + new HttpHost("127.0.0.1", + readWebServerPort), request); + byte[] readContent = new byte[LARGE_DATA_SIZE]; - int bytesRead = 0; - while (bytesRead < largeData.length) { - int read = response.getEntity().getContent().read(readContent, bytesRead, largeData.length - bytesRead); - bytesRead += read; - } + int bytesRead = 0; + while (bytesRead < largeData.length) { + int read = response.getEntity().getContent().read(readContent, bytesRead, largeData.length - bytesRead); + bytesRead += read; + } - long firstFinish = System.currentTimeMillis(); + long firstFinish = System.currentTimeMillis(); - HttpClientUtils.closeQuietly(response); + assertThat("Expected to read " + LARGE_DATA_SIZE + " bytes but actually read " + bytesRead + "bytes", + bytesRead, equalTo(LARGE_DATA_SIZE)); - proxyServer.setThrottle(0, 0); + HttpClientUtils.closeQuietly(response); - long secondStart = System.currentTimeMillis(); - response = httpClient.execute( - new HttpHost("127.0.0.1", - readWebServerPort), request); - readContent = new byte[100000]; + proxyServer.setThrottle(0, 0); - bytesRead = 0; - while (bytesRead < largeData.length) { - int read = response.getEntity().getContent().read(readContent, bytesRead, largeData.length - bytesRead); - bytesRead += read; - } + long secondStart = System.currentTimeMillis(); + response = httpClient.execute( + new HttpHost("127.0.0.1", + readWebServerPort), request); + readContent = new byte[LARGE_DATA_SIZE]; - long secondFinish = System.currentTimeMillis(); + bytesRead = 0; + while (bytesRead < largeData.length) { + int read = response.getEntity().getContent().read(readContent, bytesRead, largeData.length - bytesRead); + bytesRead += read; + } - HttpClientUtils.closeQuietly(response); + long secondFinish = System.currentTimeMillis(); - assertThat("Expected second read to complete within " + UNTRHOTTLED_REQUEST_TIME_MS + "ms, without throttling. First read took " - + (firstFinish - firstStart) + "ms" + ". Second read took " + (secondFinish - secondStart) + "ms", - secondFinish - secondStart, lessThan((long) UNTRHOTTLED_REQUEST_TIME_MS)); + assertThat("Expected to read " + LARGE_DATA_SIZE + " bytes but actually read " + bytesRead + "bytes", + bytesRead, equalTo(LARGE_DATA_SIZE)); - proxyServer.abort(); + HttpClientUtils.closeQuietly(response); + + assertThat("Expected second read to complete within " + UNTRHOTTLED_REQUEST_TIME_MS + "ms, without throttling. First read took " + + (firstFinish - firstStart) + "ms" + ". Second read took " + (secondFinish - secondStart) + "ms", + secondFinish - secondStart, lessThan((long) UNTRHOTTLED_REQUEST_TIME_MS)); + } } From 2a6661c514bc557993ffefaecf41fd30935d0e21 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 28 Apr 2021 17:16:09 -0400 Subject: [PATCH 033/973] Increase LARGE_DATA_SIZE in ThrottlingTest Improves test reliability. Because LARGE_DATA_SIZE was increased, UNTRHOTTLED_REQUEST_TIME_MS also needs to increase. --- src/test/java/org/littleshoot/proxy/ThrottlingTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/littleshoot/proxy/ThrottlingTest.java b/src/test/java/org/littleshoot/proxy/ThrottlingTest.java index 880cdc73..5e488a2e 100644 --- a/src/test/java/org/littleshoot/proxy/ThrottlingTest.java +++ b/src/test/java/org/littleshoot/proxy/ThrottlingTest.java @@ -24,7 +24,7 @@ @FixMethodOrder(MethodSorters.JVM) public class ThrottlingTest { - private static final int LARGE_DATA_SIZE = 100000; + private static final int LARGE_DATA_SIZE = 200000; private static final long THROTTLED_READ_BYTES_PER_SECOND = 25000L; private static final long THROTTLED_WRITE_BYTES_PER_SECOND = 25000L; @@ -43,7 +43,7 @@ public class ThrottlingTest { private int msToReadThrottled; // time to allow for an unthrottled local request - private static final int UNTRHOTTLED_REQUEST_TIME_MS = 1000; + private static final int UNTRHOTTLED_REQUEST_TIME_MS = 1500; private int writeWebServerPort; private int readWebServerPort; From 55997b1e318929808aae03f0f252a25c60ce0464 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 28 Apr 2021 19:54:28 -0400 Subject: [PATCH 034/973] Sleep in tests that change throttling Gives traffic shaping counters time to reset --- src/test/java/org/littleshoot/proxy/ThrottlingTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test/java/org/littleshoot/proxy/ThrottlingTest.java b/src/test/java/org/littleshoot/proxy/ThrottlingTest.java index 5e488a2e..33950918 100644 --- a/src/test/java/org/littleshoot/proxy/ThrottlingTest.java +++ b/src/test/java/org/littleshoot/proxy/ThrottlingTest.java @@ -263,6 +263,7 @@ public void testChangeThrottling() throws Exception { HttpClientUtils.closeQuietly(response); proxyServer.setThrottle(THROTTLED_READ_BYTES_PER_SECOND * 2, 0); + Thread.sleep(1000); // necessary for the traffic shaping to reset long secondStart = System.currentTimeMillis(); response = httpClient.execute( @@ -322,6 +323,7 @@ public void testDisableThrottling() throws Exception { HttpClientUtils.closeQuietly(response); proxyServer.setThrottle(0, 0); + Thread.sleep(1000); // necessary for the traffic shaping to reset long secondStart = System.currentTimeMillis(); response = httpClient.execute( From 828ffdf5bc0f39c0883b66403cf9245d03db6a63 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 28 Apr 2021 19:55:21 -0400 Subject: [PATCH 035/973] Fix spelling of 'throttled' in `UNTHROTTLED_REQUEST_TIME_MS` --- .../java/org/littleshoot/proxy/ThrottlingTest.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/test/java/org/littleshoot/proxy/ThrottlingTest.java b/src/test/java/org/littleshoot/proxy/ThrottlingTest.java index 33950918..1c0d6e4f 100644 --- a/src/test/java/org/littleshoot/proxy/ThrottlingTest.java +++ b/src/test/java/org/littleshoot/proxy/ThrottlingTest.java @@ -43,7 +43,7 @@ public class ThrottlingTest { private int msToReadThrottled; // time to allow for an unthrottled local request - private static final int UNTRHOTTLED_REQUEST_TIME_MS = 1500; + private static final int UNTHROTTLED_REQUEST_TIME_MS = 1500; private int writeWebServerPort; private int readWebServerPort; @@ -155,8 +155,8 @@ public void testUnthrottledWrite() throws Exception { assertEquals("Received " + largeData.length + " bytes\n", EntityUtils.toString(response.getEntity())); - assertThat("Unthrottled write took " + (finish - start) + "ms, but expected to complete in " + UNTRHOTTLED_REQUEST_TIME_MS + "ms", - finish - start, lessThan((long) UNTRHOTTLED_REQUEST_TIME_MS)); + assertThat("Unthrottled write took " + (finish - start) + "ms, but expected to complete in " + UNTHROTTLED_REQUEST_TIME_MS + "ms", + finish - start, lessThan((long) UNTHROTTLED_REQUEST_TIME_MS)); } } @@ -225,8 +225,8 @@ public void testUnthrottledRead() throws Exception { assertThat("Expected to read " + LARGE_DATA_SIZE + " bytes but actually read " + bytesRead + "bytes", bytesRead, equalTo(LARGE_DATA_SIZE)); - assertThat("Unthrottled read took " + (finish - start) + "ms, but expected to complete in " + UNTRHOTTLED_REQUEST_TIME_MS + "ms", - finish - start, lessThan((long)UNTRHOTTLED_REQUEST_TIME_MS)); + assertThat("Unthrottled read took " + (finish - start) + "ms, but expected to complete in " + UNTHROTTLED_REQUEST_TIME_MS + "ms", + finish - start, lessThan((long)UNTHROTTLED_REQUEST_TIME_MS)); } } @@ -344,9 +344,9 @@ public void testDisableThrottling() throws Exception { HttpClientUtils.closeQuietly(response); - assertThat("Expected second read to complete within " + UNTRHOTTLED_REQUEST_TIME_MS + "ms, without throttling. First read took " + assertThat("Expected second read to complete within " + UNTHROTTLED_REQUEST_TIME_MS + "ms, without throttling. First read took " + (firstFinish - firstStart) + "ms" + ". Second read took " + (secondFinish - secondStart) + "ms", - secondFinish - secondStart, lessThan((long) UNTRHOTTLED_REQUEST_TIME_MS)); + secondFinish - secondStart, lessThan((long) UNTHROTTLED_REQUEST_TIME_MS)); } } From 4ece1c4103365bb4cb66224a981d014b1bc1364c Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 5 Feb 2021 09:15:24 -0500 Subject: [PATCH 036/973] Upgrade to Netty 4.1.63.Final --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b1bb40e5..f6f22250 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.52.Final + 4.1.63.Final 1.7.30 1.8 From 0c848ee56f0e5695f96c14cd2b600ea2c3b1891a Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 28 Apr 2021 17:12:41 -0400 Subject: [PATCH 037/973] Fix NPEs in getReadThrottle and getWriteThrottle when globalTrafficShapingHandler is null --- .../proxy/impl/DefaultHttpProxyServer.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java b/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java index ea89fc1b..6b2caad5 100644 --- a/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java +++ b/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java @@ -332,11 +332,19 @@ public void setThrottle(long readThrottleBytesPerSecond, long writeThrottleBytes } public long getReadThrottle() { - return globalTrafficShapingHandler.getReadLimit(); + if (globalTrafficShapingHandler != null) { + return globalTrafficShapingHandler.getReadLimit(); + } else { + return 0; + } } public long getWriteThrottle() { - return globalTrafficShapingHandler.getWriteLimit(); + if (globalTrafficShapingHandler != null) { + return globalTrafficShapingHandler.getWriteLimit(); + } else { + return 0; + } } public int getMaxInitialLineLength() { From 6f4b2f3a848e2cf9dd3cd478309ebfa86efea32e Mon Sep 17 00:00:00 2001 From: mrog Date: Thu, 29 Apr 2021 09:50:20 -0600 Subject: [PATCH 038/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index dab5f291..50e09f86 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,9 +1,10 @@ # Release Notes - 2.0.4 - - Android compatibility fix (Issue #76) - - Fix NoSuchElementException when switching protocols to WebSocket (Issue #78) - - Prevent NullPointerException in ProxyUtils::isHEAD (Issue #79) + - Android compatibility fix (PR #76) + - Fix NoSuchElementException when switching protocols to WebSocket (PR #78) + - Prevent NullPointerException in ProxyUtils::isHEAD (PR #79) + - Fixes in ThrottlingTest, Upgrade to Netty 4.1.63.Final (PR #65) - 2.0.3 - Upgrade guava to 30.1 From 59b1294020559caea5e8f6333c33cfa60e511171 Mon Sep 17 00:00:00 2001 From: mrog Date: Thu, 29 Apr 2021 10:05:17 -0600 Subject: [PATCH 039/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 50e09f86..d00402de 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -5,6 +5,7 @@ - Fix NoSuchElementException when switching protocols to WebSocket (PR #78) - Prevent NullPointerException in ProxyUtils::isHEAD (PR #79) - Fixes in ThrottlingTest, Upgrade to Netty 4.1.63.Final (PR #65) + - Fix NPEs in getReadThrottle and getWriteThrottle when globalTrafficShapingHandler is null (PR #80) - 2.0.3 - Upgrade guava to 30.1 From 1b26f8c7aa3b529b391f72fc922d68fd77370fe4 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Wed, 16 Jun 2021 17:34:32 +0000 Subject: [PATCH 040/973] Release 2.0.4 --- README.md | 4 ++-- littleproxy_cert | Bin 1233 -> 1233 bytes pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 29ebf19a..6bbb7c6e 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.3 + 2.0.4 ``` Or with Gradle like this -`compile "xyz.rogfam:littleproxy:2.0.3"` +`compile "xyz.rogfam:littleproxy:2.0.4"` Once you've included LittleProxy, you can start the server with the following: diff --git a/littleproxy_cert b/littleproxy_cert index d89e3ac397fd8a102bcd2f343e71a84bdbccced3..3107e5ab279c6966321640e00879f4e5ef2485d2 100644 GIT binary patch delta 1163 zcmV;61a$k+3DF54FoFclFoFWLpaTK{0s;gXtcK+<4F(A+hDe6@4FLfQksu)&HZe9a zH!w6YFlTQz^7UXKI*MgGZ0HP_G0NO&mh!KQB$HI7Go;KpxtCa3?tB9BWOs-C8;yhU{8XOT z#BIw#S|HXKX*UZLpGY6d8VF^e z)C7>i7%nG4Cks550amQ2Q_-z7iyZ#Fq{@8Cn3@<7YRIurL_O0Ifx9jc;z@nOJ~CsN z1jt{LJ&j|pnzvFboUD~fh&dt|)Eeo5vYoyq!J?U8xbdz;?{D#E|3YU0pGWhvaF}(w z+32RlPM>Nlp2{u2vQ0cE2t9a|m4BROym{WvU$r7^1x0~-y@Nq|V9s3PqO4)4aUj6; z%PZp)Lusx5O&nxsl6R2lL!!YOUz}%Fcu-TxO8lJN2{7kfc)Z0;^7&|kkNAn+c>?v} zaEInuE~21mkm8t!Ibx_$s?3iQJH00-TFS&qJkny~n(kFcMa0LQsD}Z_dVh7q+xqjS zyr*9b5cb1MEzZH zqYX;}k|mZ!$B-O(4@=5_mX8y^cG+UvJykhmlLdNSwj}D2;xyCLNheZo;@#MxiIYYd zCA}{9LKHAZpOE6OypBv(SbuHaX5Rt>0RRD`Aut~>9R>qc9S#H*1Qb1Ot989}!0!B@ zcPCbAQxTln{t++@1_>&LNQUso zDB0iM_nXxAAz3ObZs^%ER*GWm1lp91xQaECg1Qq*)(-E?V49?+2^X{g5nowH3iDZOin=4Pk{yN(L_Z8Wehh8yz0So%)OSj0m~Db7=Eg0P+RXEstkq0 z!fjGsOS%xL*8XCe24~BSAw!aleYBDdtAGf4^*gZI6;$d-(b=-)Hu27CHsRo-1ir$oKoy>~&W~Cb@(NkJa_+n;Xb~Mh zkft#79jp~ygCp2i=4vSIb&|YrL1c%SJSmirf-xs@XP8koNa+^t*8A+5BUvY09S| dU9mInwbCJs%x7~o{@!ZGlk%Ls(pT@QM+HTOA9?@) delta 1163 zcmV;61a$k+3DF54FoFclFoFWLpaTK{0s;h44rWR)4F(A+hDe6@4FLfRksu)&GB7hS zH#0CWG+G!BGBGkSFflPOF*h?XFf@@{I)9Ti{d8AEzV8mo;ARg2^WarFMNv*b5h!3p zvE;REm)cW){1W#0)OtxYn!*e0Ey+AU@dKO?Y?nPv@WD+;`C8BO!Hv^t+? zZ(xMS*Ig9~2${_T6Jxo<1@N3m58tbH|mKxJCPNyT&mR047UBKsHKY(xeZUE3v_rje) zyMx9kyCC4`!oi!VktfT$pAR9R>qc9S#H*1QbkP{l3TFfx1o& zam)Qiw(N10>W(lC1_>&LNQUupJajDQ%5 z4FqahANE&tFY-Kr8p3p|*ogwYYMYPyc^Q&@8P;r5{I)d5;&pCV$W_ZS6xz@{aeA_OCS|wOYn_mOa z&|uz#Q+ql&98qjAObJ;z!5L7i_V+o%i(Or!$-rN)@iF+0G4)X;G_3UwSJ?h*(-fKAUMHkRWGF;@ d^nw|ji9qQxOEIi>Bvs|kOB4x&K*YqJ8zU|VBc=cV diff --git a/pom.xml b/pom.xml index f6f22250..609bc086 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.4-SNAPSHOT + 2.0.4 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 49653471582589459f180b8733209eaee17eef6c Mon Sep 17 00:00:00 2001 From: mrog Date: Wed, 16 Jun 2021 11:40:21 -0600 Subject: [PATCH 041/973] Update pom.xml --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 609bc086..b0fec12a 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.4 + 2.0.5-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From de9cb42e6abc9755fe168524aaf958a2164e4fce Mon Sep 17 00:00:00 2001 From: Valery Yatsynovich Date: Thu, 17 Jun 2021 11:41:57 +0300 Subject: [PATCH 042/973] Enable Dependabot --- .github/dependabot.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..0cba26f5 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: +- package-ecosystem: maven + directory: "/" + schedule: + interval: weekly From 5629b4926b86a45d99dbb37494de47b01e89a911 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Aug 2021 17:09:45 +0000 Subject: [PATCH 043/973] Bump jetty-server from 9.4.34.v20201102 to 9.4.41.v20210516 Bumps [jetty-server](https://github.com/eclipse/jetty.project) from 9.4.34.v20201102 to 9.4.41.v20210516. - [Release notes](https://github.com/eclipse/jetty.project/releases) - [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.34.v20201102...jetty-9.4.41.v20210516) --- updated-dependencies: - dependency-name: org.eclipse.jetty:jetty-server dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b0fec12a..ff6a9cff 100644 --- a/pom.xml +++ b/pom.xml @@ -188,7 +188,7 @@ org.eclipse.jetty jetty-server - 9.4.34.v20201102 + 9.4.41.v20210516 test From da475e33fbca862ffe158648e17527decfc96573 Mon Sep 17 00:00:00 2001 From: mrog Date: Mon, 2 Aug 2021 11:21:54 -0600 Subject: [PATCH 044/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index d00402de..049bbdd6 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,8 @@ # Release Notes +- 2.0.5 + - Bumped jetty-server from 9.4.34.v20201102 to 9.4.41.v20210516. + - 2.0.4 - Android compatibility fix (PR #76) - Fix NoSuchElementException when switching protocols to WebSocket (PR #78) From 70d232b38fcc27002d80987b777b4a6b9f5b3054 Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Mon, 2 Aug 2021 18:45:42 +0000 Subject: [PATCH 045/973] Release 2.0.5 --- README.md | 4 ++-- littleproxy_cert | Bin 1233 -> 1233 bytes pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6bbb7c6e..758b55bf 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.4 + 2.0.5 ``` Or with Gradle like this -`compile "xyz.rogfam:littleproxy:2.0.4"` +`compile "xyz.rogfam:littleproxy:2.0.5"` Once you've included LittleProxy, you can start the server with the following: diff --git a/littleproxy_cert b/littleproxy_cert index 3107e5ab279c6966321640e00879f4e5ef2485d2..cf28d95b55d292a190ee4e4b5e7ad9481a51f7ef 100644 GIT binary patch delta 1150 zcmV-^1cCd}3DF4?FoFclFoFWLpaTK{0s;hK_En#e6D}G!FfuVXGC49hS{M&9F)}eQ zH!wLdI5IghIFVaAf5bAq)$xxAEI}pp=d!5UiPI(ff_rU>B+G8v;8wWnz^~Vr5+I?B zrIz){bZm|azd*0osA8Pw*ehgY-PM^yucDtQJ z*#3A3XD&7x)c$N=5phhruj}$wbbzLtsK-ye0g)pfttK;Q59bKbtfGv<5(GgOdG=6| zuPfZ5H-P@*07HCR-1rcokxTNRHrm>c#zK!H7(bY^mwg{(o?M-Ezx_|bId&GlpKqy> zU^_DgN4t`wf9l9})}bIa%XC}Y9*4nDz?C*%01&<`tdLHOthWcOf~!`<+HxddC zlVGQdb9p=j)5CX3@Ld!*vEv`=KlDJr`xDuv)L#dH$%q^rbpjNH$pi=0m2nERn}f00E;RFdr}-1_Mz> z2`Yw2hW8Bt0Sg5H1A+np07Ex4@_PLY51PZwZ^Zx&mbbVqB&i2E8(yL5iVH!N?%YJ6 zb^Wi>(vHxQ6e@6vkhDN=FTT+Qa_TzPqrkJqf0*R;kZH|YFd)&Keb+>`*z>Oo7xOja~9bO0D~Tm z0wTl4Qz!}Ewcv%=m*5YCIDU00^P-vanSOvWgF^q?RS$L6PkdJ8PP*`h9Tf657sH!~ ze_a@0*%TjR&+p-%#J2Q3W;yQdcd+V}~4H@fxhIm_?45-VZhq0Y6OZ z+fX!86G!NVdx$AS(`icaFr~a8#A3PK$>M^GaBDjT&^?gJNLDnb$1k3ExVfQ<@)VWv zZ@n;u0}bJZs-Ty{P?&#wYp9_5X$pmsf4o-C}WU`(UD40aM{m8Qj z*tfbJOM0IC0IoUijF<1qPDOHOSVS`48xh7R1|WP^>RP>CFe+_9vNF1qUs_g}5_=R1 zypoeU%vb6q-RXHHObx(Km$3_`I0~)m1?$s0;jhZ0I)@4e+H QM zNFT}@lgJCQi1wPu3ub{7+B^nD-Cdg3kTQ`kZYCs4%%WiGe;@PI1dzfQE+;`J3p|zq zR;;K~(XBL#9R9te%6!V0nivsk$gxmFJ<}3_yDkvoNqxgUGGmwo$X}B^jbpExw^A#d ztd&ZLIU*U<8tH+uoxUZ(qM2W~@vcPgZ}DgULT3S=NAt6An033^=%&R^pK2_g$}PaM zO*|(EJ$RIrf1GB#dEU-nwIXZeP*cfD{G8nhFy~!(yv0rO`DlZW_=(qM&Jz;+Tgy zVyIE7%#Ra0y(cGH%EU@M(qiJ8?o~%c#K)behXKfXe|5y$`tzo|r(X;bLlH@AtD7B1 zg4VX+DvZx6nT8-sRrjQx00E;RFdr}-1_Miel^p+LVpBiZzphx)Vy)4)4rhp|Y!3f3Q&vyg)#26acB+6vQi7a+B`|Vrk-| zP@b8FNg~JYuT|JO8~KRusD|2DCn0 z!k|?RWgZiI|GXrEb$TeYTH^{pLw1=Nzn>*QXZ{&UgUd^G&I$l*-g_MDMH ze{?4?g0~(l#CNagW3T&A`5&XxDI?%WCUlcIL2K=d0vkL{$%M=pj}+>H;umN&1cMl&y_U8C%M+RyeyV9uTkjpJ428qOZBkxKx)7<>{$iR2 zXUmNtLz0bsw2}?0hD=YHX;IIs&1vX(e_09Px9~S5Z(cZ>E1!i5vD0lC;ozeLzQU|P6`r-uk6IV<3R%2z?z}2!5gk8}rZDs!tQB2@BiL8w zYB$~v8!r$?po{`L@%bROgtx6%%UXYHyqCMnMl_U)+!F1&D7-4PRF@zQ_p{sbM7}k< z&=Gix60qv;iO&hjw~By`8*q23*)~m(_V;o0yKv~){9~zU%BLY+u`}+q(jkn@XLB|F Q-fG8_@|?ZWSMRDv1q7-bk^lez diff --git a/pom.xml b/pom.xml index ff6a9cff..0fa73ce8 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.5-SNAPSHOT + 2.0.5 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 7b2c856387b5729a83759fe176f0966ac109f95e Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Mon, 2 Aug 2021 19:11:52 +0000 Subject: [PATCH 046/973] Updated verion to next snapshot --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0fa73ce8..1cbfa463 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.5 + 2.0.6-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 36c0b6090b68bf4fa9d18aa388a3bd3ffae4a83b Mon Sep 17 00:00:00 2001 From: Valery Yatsynovich Date: Thu, 5 Aug 2021 19:38:23 +0300 Subject: [PATCH 047/973] Use single Hamcrest dependency https://github.com/hamcrest/JavaHamcrest/releases/tag/v2.1: > After a long hiatus without releases, this version simplifies the packaging of Hamcrest into a single jar: hamcrest-2.1.jar. --- pom.xml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index 1cbfa463..e9123f9d 100644 --- a/pom.xml +++ b/pom.xml @@ -173,14 +173,7 @@ org.hamcrest - hamcrest-core - 2.2 - test - - - - org.hamcrest - hamcrest-library + hamcrest 2.2 test From 9b881a91be00ff22dcf124b099be500d578e5de8 Mon Sep 17 00:00:00 2001 From: mrog Date: Thu, 5 Aug 2021 12:15:45 -0600 Subject: [PATCH 048/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 049bbdd6..20caa512 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,8 @@ # Release Notes +- 2.0.6 + - Use single Hamcrest dependency in tests + - 2.0.5 - Bumped jetty-server from 9.4.34.v20201102 to 9.4.41.v20210516. From b064c2f4c0f4073403b262c0b31db47a8ac136de Mon Sep 17 00:00:00 2001 From: Valery Yatsynovich Date: Fri, 6 Aug 2021 00:14:30 +0300 Subject: [PATCH 049/973] Improve logging performance Non-constant concatenations are evaluated at runtime even when the logging message is not logged; this can negatively impact performance. It is recommended to use a parameterized log message instead, which will not be evaluated when logging is disabled. --- RELEASE_NOTES.md | 5 +++-- .../littleshoot/proxy/extras/SelfSignedSslEngineSource.java | 5 ++--- .../org/littleshoot/proxy/impl/DefaultHttpProxyServer.java | 6 +++--- src/main/java/org/littleshoot/proxy/impl/ServerGroup.java | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 20caa512..23d67287 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -2,6 +2,7 @@ - 2.0.6 - Use single Hamcrest dependency in tests + - Improve logging performance - 2.0.5 - Bumped jetty-server from 9.4.34.v20201102 to 9.4.41.v20210516. @@ -17,11 +18,11 @@ - Upgrade guava to 30.1 - Threads are now set as daemon (not user, which is the default) threads so the JVM exits as expected when all other threads stop. - Close thread pool if proxy fails to start - + - 2.0.2 - Support for WebSockets with MITM in transparent mode - Support for per request conditional MITM - + - 2.0.1 - Removed beta tag from version - Updated various dependency versions diff --git a/src/main/java/org/littleshoot/proxy/extras/SelfSignedSslEngineSource.java b/src/main/java/org/littleshoot/proxy/extras/SelfSignedSslEngineSource.java index 3d435059..8a3c2084 100644 --- a/src/main/java/org/littleshoot/proxy/extras/SelfSignedSslEngineSource.java +++ b/src/main/java/org/littleshoot/proxy/extras/SelfSignedSslEngineSource.java @@ -179,11 +179,10 @@ private String nativeCall(final String... commands) { } String dataAsString = new String(data); - LOG.info("Completed native call: '{}'\nResponse: '" + dataAsString + "'", - Arrays.asList(commands)); + LOG.info("Completed native call: '{}'\nResponse: '{}'", Arrays.asList(commands), dataAsString); return dataAsString; } catch (final IOException e) { - LOG.error("Error running commands: " + Arrays.asList(commands), e); + LOG.error("Error running commands: {}", Arrays.asList(commands), e); return ""; } } diff --git a/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java b/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java index 6b2caad5..037c6926 100644 --- a/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java +++ b/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java @@ -451,7 +451,7 @@ protected void registerChannel(Channel channel) { * @param graceful when false, attempts to shutdown all channels immediately and ignores any channel-closing exceptions */ protected void closeAllChannels(boolean graceful) { - LOG.info("Closing all channels " + (graceful ? "(graceful)" : "(non-graceful)")); + LOG.info("Closing all channels {}", graceful ? "(graceful)" : "(non-graceful)"); ChannelGroupFuture future = allChannels.close(); @@ -477,7 +477,7 @@ protected void closeAllChannels(boolean graceful) { private HttpProxyServer start() { if (!serverGroup.isStopped()) { - LOG.info("Starting proxy at address: " + this.requestedAddress); + LOG.info("Starting proxy at address: {}", this.requestedAddress); serverGroup.registerProxyServer(this); @@ -533,7 +533,7 @@ protected void initChannel(Channel ch) { } this.boundAddress = ((InetSocketAddress) future.channel().localAddress()); - LOG.info("Proxy started at address: " + this.boundAddress); + LOG.info("Proxy started at address: {}", this.boundAddress); Runtime.getRuntime().addShutdownHook(jvmShutdownHook); } diff --git a/src/main/java/org/littleshoot/proxy/impl/ServerGroup.java b/src/main/java/org/littleshoot/proxy/impl/ServerGroup.java index a9e6ea6d..1ad134d4 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ServerGroup.java +++ b/src/main/java/org/littleshoot/proxy/impl/ServerGroup.java @@ -209,7 +209,7 @@ private void shutdown(boolean graceful) { return; } - log.info("Shutting down server group event loops " + (graceful ? "(graceful)" : "(non-graceful)")); + log.info("Shutting down server group event loops {}", graceful ? "(graceful)" : "(non-graceful)"); // loop through all event loops managed by this server group. this includes acceptor and worker event loops // for both TCP and UDP transport protocols. From b3bf9879661f58cf467ac40c6dd7194ece68e621 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 24 Sep 2021 16:24:15 +0000 Subject: [PATCH 050/973] Bump netty-codec from 4.1.63.Final to 4.1.68.Final Bumps [netty-codec](https://github.com/netty/netty) from 4.1.63.Final to 4.1.68.Final. - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.63.Final...netty-4.1.68.Final) --- updated-dependencies: - dependency-name: io.netty:netty-codec dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e9123f9d..fe106ae3 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.63.Final + 4.1.68.Final 1.7.30 1.8 From 1154b59f70f021219c20df5001a981906e3cbe84 Mon Sep 17 00:00:00 2001 From: mrog Date: Tue, 28 Sep 2021 09:57:13 -0600 Subject: [PATCH 051/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 23d67287..6ff5d2c7 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -3,6 +3,7 @@ - 2.0.6 - Use single Hamcrest dependency in tests - Improve logging performance + - Bumped netty-codec from 4.1.63.Final to 4.1.68.Final - 2.0.5 - Bumped jetty-server from 9.4.34.v20201102 to 9.4.41.v20210516. From a34f2a14ad029997b5ec7f4dd664eaa32f64badb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Dec 2021 19:28:19 +0000 Subject: [PATCH 052/973] Bump netty-codec-http from 4.1.68.Final to 4.1.71.Final Bumps [netty-codec-http](https://github.com/netty/netty) from 4.1.68.Final to 4.1.71.Final. - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.68.Final...netty-4.1.71.Final) --- updated-dependencies: - dependency-name: io.netty:netty-codec-http dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fe106ae3..dbbad90a 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.68.Final + 4.1.71.Final 1.7.30 1.8 From dacceaed50be001ec61530b858237d7a27fb2d16 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Dec 2021 01:54:54 +0000 Subject: [PATCH 053/973] Bump log4j-core from 2.14.0 to 2.15.0 Bumps log4j-core from 2.14.0 to 2.15.0. --- updated-dependencies: - dependency-name: org.apache.logging.log4j:log4j-core dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fe106ae3..84f9b88e 100644 --- a/pom.xml +++ b/pom.xml @@ -221,7 +221,7 @@ org.apache.logging.log4j log4j-core - 2.14.0 + 2.15.0 true From f9b99aab529d41c696ff27c63da7445dced5b73e Mon Sep 17 00:00:00 2001 From: mrog <4752942+mrog@users.noreply.github.com> Date: Tue, 14 Dec 2021 12:16:45 -0700 Subject: [PATCH 054/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 6ff5d2c7..f10f5c34 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,6 +4,7 @@ - Use single Hamcrest dependency in tests - Improve logging performance - Bumped netty-codec from 4.1.63.Final to 4.1.68.Final + - Bumped log4j-core from 2.14.0 to 2.15.0 - 2.0.5 - Bumped jetty-server from 9.4.34.v20201102 to 9.4.41.v20210516. From 1dd6d1fe47aa8872f7210c70c10e328ebec4eb1e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Dec 2021 19:17:16 +0000 Subject: [PATCH 055/973] Bump log4j-core from 2.15.0 to 2.16.0 Bumps log4j-core from 2.15.0 to 2.16.0. --- updated-dependencies: - dependency-name: org.apache.logging.log4j:log4j-core dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 84f9b88e..daec763e 100644 --- a/pom.xml +++ b/pom.xml @@ -221,7 +221,7 @@ org.apache.logging.log4j log4j-core - 2.15.0 + 2.16.0 true From c15dffa279fe69ccc9dcaa4d1679294b2e18f09f Mon Sep 17 00:00:00 2001 From: mrog <4752942+mrog@users.noreply.github.com> Date: Tue, 14 Dec 2021 12:35:58 -0700 Subject: [PATCH 056/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index f10f5c34..625eec35 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,7 +4,7 @@ - Use single Hamcrest dependency in tests - Improve logging performance - Bumped netty-codec from 4.1.63.Final to 4.1.68.Final - - Bumped log4j-core from 2.14.0 to 2.15.0 + - Bumped log4j-core from 2.14.0 to 2.16.0 - 2.0.5 - Bumped jetty-server from 9.4.34.v20201102 to 9.4.41.v20210516. From df13f9a217e7c51b4b65495d1c97ceec22e40f33 Mon Sep 17 00:00:00 2001 From: mrog <4752942+mrog@users.noreply.github.com> Date: Tue, 14 Dec 2021 12:46:15 -0700 Subject: [PATCH 057/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 625eec35..3bbd921e 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,6 +4,7 @@ - Use single Hamcrest dependency in tests - Improve logging performance - Bumped netty-codec from 4.1.63.Final to 4.1.68.Final + - Bump netty-codec-http from 4.1.68.Final to 4.1.71.Final - Bumped log4j-core from 2.14.0 to 2.16.0 - 2.0.5 From dbd3b9f9f957f6adcaabbfbd1d47fe4c39fdff52 Mon Sep 17 00:00:00 2001 From: mrog <4752942+mrog@users.noreply.github.com> Date: Tue, 14 Dec 2021 13:40:37 -0700 Subject: [PATCH 058/973] Add files via upload Added public key --- public-gpg.key | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 public-gpg.key diff --git a/public-gpg.key b/public-gpg.key new file mode 100644 index 00000000..ce63b313 --- /dev/null +++ b/public-gpg.key @@ -0,0 +1,31 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQENBFx5TsYBCAC5MFtvCeSvvt60CAY3P2TAoPxIdcOowB4yg/jMzw7bGOwBX5xm +e7cfvIeuSvgR3UuMLbvcJU3R4q6WRCm8OsISFJjGduKO89FNS3EvetJwIXjPgla+ +v9LjmEVl4wzaBRSH6vzYQl3EbIHMVaW138HQLCbaULf6CxPp1+vBeAVHEmXa9qit +Ly3sPgOlCm9g/x8o25k4wdj4xwpSFlUe/yl+yPqK9xjVNt0V9oR4NBm9bhsxOeo6 +LH/nQcaCKNRK5wK3ytVN1FgNEYv9cARuN6X7Qvi3Oi0P1+lVVpKJu0Ux0Gx0UB3O +imnN3V61Pcs/yzHnyyW2OD0PUbX3JvcC4xdhABEBAAG0I01hcmsgUm9nZXJzIDxt +YXJrLnJvZ2Vyc0BnbWFpbC5jb20+iQFUBBMBCAA+AhsDBQsJCAcCBhUKCQgLAgQW +AgMBAh4BAheAFiEEzqtrzoRv2mNdpZZkFNFpBtlIKpIFAmDKNJ4FCQn0gFgACgkQ +FNFpBtlIKpI2LwgAiYRIzB5ISp/Ie90TztYvFjByShxjYSIBE25pWhGOez9wgaEM +g2uDIhQflVkY7U062Aqecnk686NsMA/McfgP0d2mr9fUxpxQoDHqOqtlmcWkt1k3 +sVZEPLM61OCyXUbU6cITcyDk9v1CLWfba/LKi0TteH+HQRa+/xrctHtuwpvPB2E4 +HCeVZT54DeyW1/YaHyJ1npo4AnGo+x1JGFOIVfJ6X74YHxvi0axcfdjJZVIP4qIZ +yWWu5YcvhDFjddpDfd/Hh9be+Ym3msVA764anPKHJS00Eg6PQSoesqluh0c0ZUN3 +VxiNVk0+xBx68IgcSYP6kSP5JxuW8CP3detE2rkBDQRceU7GAQgAwaQT351vLvTU +5kq0/SJxN1S41o4MYShLlI60InjHOTybjE9CdVeEkCivhcwtJVxXmNrAIw8T1vK2 +UxbmEPaii5fe7VSBShndIfwC4KCtCxFg2T7VcV8dftpbHW3E22a0zLbhpkgLcDzO +EOFSRNl01k4j/Pjda+wHztVHcJdS5I1HzeEa20Sv9Agnsf4UGvRheLtj9h0aWb/o +XZEhaEYAUDwHSBMd8B9OoG/ZL7sdNbLRwNKZYgDZ+K2k/Hg59+s5UoM+EVo0/ppf +K1e5NFhiI7qsEUk2mh74+R8cjtdT5mARb4nZZKf1/cS7z1oS3st7Qv1wVkzLMnhA +Q+fpmo/TuQARAQABiQE8BBgBCAAmAhsMFiEEzqtrzoRv2mNdpZZkFNFpBtlIKpIF +AmDKNMIFCQn0gHwACgkQFNFpBtlIKpLoTAf/ZlPg4c4BfV5cZ6u3KanJsx8OpENn +raPEEnyOnJhZdQHmxKUokMgtMwZLheA50jOh80pTPdQjkKStIrcWygE26iBLODKc ++dzjdHZUazU/P6671VNnIZbSVk2mNuJgPUafrGGgyD+hWRxv7rJ12cV4xKvlntf9 +M4gu1aKiXKqaOYMnVXn3eU4lrcfJqVW8tqiHLX3xuWn7IS3JLzQ5PmN7zHKNZO8o +/beP/hjsW6ceO8AMkY0vMCeQMNRMovxdQ1VU5KcPJjoAHkpJQoA0rvSLrRYq6Vvk +Bm6EikIxjJMPg9o6hoeg1+lwd0rdJSh9mPC4qlaQLUq0hPOZ5gTVnPtWzQ== +=lK6I +-----END PGP PUBLIC KEY BLOCK----- + From 638042d5aae5e594f663f50f25b2a575305ad7cb Mon Sep 17 00:00:00 2001 From: Mark Rogers <4752942+mrog@users.noreply.github.com> Date: Tue, 14 Dec 2021 20:56:05 +0000 Subject: [PATCH 059/973] 2.0.6 release --- README.md | 4 ++-- RELEASE_NOTES.md | 1 + pom.xml | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 758b55bf..270611e5 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.5 + 2.0.6 ``` Or with Gradle like this -`compile "xyz.rogfam:littleproxy:2.0.5"` +`compile "xyz.rogfam:littleproxy:2.0.6"` Once you've included LittleProxy, you can start the server with the following: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 3bbd921e..aa8cc8d3 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -6,6 +6,7 @@ - Bumped netty-codec from 4.1.63.Final to 4.1.68.Final - Bump netty-codec-http from 4.1.68.Final to 4.1.71.Final - Bumped log4j-core from 2.14.0 to 2.16.0 + - Added public key file - 2.0.5 - Bumped jetty-server from 9.4.34.v20201102 to 9.4.41.v20210516. diff --git a/pom.xml b/pom.xml index 8d4673fc..83799bc0 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.6-SNAPSHOT + 2.0.7-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From a84d40bb992cd2012f34804ff299f5b780ba40e3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 18 Dec 2021 18:37:09 +0000 Subject: [PATCH 060/973] Bump log4j-core from 2.16.0 to 2.17.0 Bumps log4j-core from 2.16.0 to 2.17.0. --- updated-dependencies: - dependency-name: org.apache.logging.log4j:log4j-core dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 83799bc0..dbb0ab28 100644 --- a/pom.xml +++ b/pom.xml @@ -221,7 +221,7 @@ org.apache.logging.log4j log4j-core - 2.16.0 + 2.17.0 true From 96137c3554f5ee75b10404f55166820101a32b32 Mon Sep 17 00:00:00 2001 From: mrog <4752942+mrog@users.noreply.github.com> Date: Mon, 20 Dec 2021 17:12:42 -0700 Subject: [PATCH 061/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index aa8cc8d3..10abdf50 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,8 @@ # Release Notes +- 2.0.7 + - Bumped log4j-core from 2.16.0 to 2.17.0 + - 2.0.6 - Use single Hamcrest dependency in tests - Improve logging performance From 94f3a53de0d77f1b3d636e075931150c55f4c706 Mon Sep 17 00:00:00 2001 From: mrog <4752942+mrog@users.noreply.github.com> Date: Tue, 21 Dec 2021 00:29:59 +0000 Subject: [PATCH 062/973] Release 2.0.7 --- README.md | 4 ++-- littleproxy_cert | Bin 1233 -> 1233 bytes pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 270611e5..f367b7cc 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.6 + 2.0.7 ``` Or with Gradle like this -`compile "xyz.rogfam:littleproxy:2.0.6"` +`compile "xyz.rogfam:littleproxy:2.0.7"` Once you've included LittleProxy, you can start the server with the following: diff --git a/littleproxy_cert b/littleproxy_cert index cf28d95b55d292a190ee4e4b5e7ad9481a51f7ef..a0eadde6a2d042d146cda08c6def39fbc1aa9c5d 100644 GIT binary patch delta 1151 zcmV-_1c3X|3DF4?FoFclFoFWLpaTK{0s;hV{`mTl6D=DtGBPnRFfuYRH(D4EGBGkS zF)=bXFfcMQF*lK0I)9>RBm+?gFT`ZgYR8fwDf1VmwhM#Xm(l3eGFq0XBD~WRqNahG zSo!8Pm=NmOWBFv(qO3dtH@W{zR^P5Cg) za4hqi+~7rE=O43JpYcx#QC`~8nw;?&T1f=ZE482sHew>ysDJR}oUDam;cC-m`zS$>oKo)WyZCV#)JV`R<>FqGx5@vII`{2wB9X~~6aR!{5^=_&$NDMfR7ngeHZHrg6o zlj%n09jQ%?9IpOz#dZ%4X$sSxMaq5r1bj0wp<~nSM#T931P^qeH)L znz?Kt+fXt163)Tdv#$QVLZm&C*3)m(-IdNUF6Ol5;EbED%!nsIn;r+qwy<@`TWZ2D zDU@s{2NgraY%2SkaN+}c)T89R>qc9S#H*1QY{ivB_hpTb?bs&%6RWiLQ{23)wIY z1_>&LNQU=gMbNeQMi0h|hKdOaTE8Y1%aL zs?5onKHJe1v07OQj1pmJLL6=VaonWTH8~6`U4L;DfFLq<;Zp>l7!`Z$OT^`PH{Sqojd7B?JvamC1;b1>e$e-s5B+>P4p{EpkWS zoM(LBGtzlFEH=M|=O4__3*9Z_sW^RV*eA*iBip{h{l5 zXtvtc`TwtCN=)v#9(bD-sxEx~Fzp?#NL-{Lis_16U4pA8*PeQ{MA`)}&-Po59fLMu zSLx=yhM>G0gT<@?p|h7h3>xqhD+0DFTxY8$HJJpg2PfJ5T@lkw&z#mw`-OGlKtz?4 zjpEp14d?ecc~Yb6tj<#SpEmuX{DrLnumrw++s3$K9ZR>z)c`$IB6XjCn4JTIIN RMqic|Dp8-l2-fwnaPxGlCh!0N delta 1151 zcmV-_1c3X|3DF4?FoFclFoFWLpaTK{0s;hK_En#e6D=DsI509XI5IghI9eDFGBGkS zFgGwcF*q_gGB}Z2I)B76z18uL2rNM*_2;sv+KJO8`+|FIiX_W!+Td2W>%gzqml7bM zjHQj!Z~&pzMpTY zl3+VC21mP+q<`wjb=ILEHp_Hd+a8C(P{5ToUjPukEUb`DjI6f@tb(gn#M*K%mxefL z*Ne}R?SNpfU$dYGll0ir?gi0l3h`y`Uv%{7NX0oBMwrdUU|DZH1c2SO$BVnFt=i%$ zy8K}V8h`84Q&KCrIuN8I8cX3fK7hrR$-gE8m7*{WQGeWqm$@Bvw4Ym@1;~6`9b-2- zjFVuei*tEA1k=NJN$_11II-g&>19R>qc9S#H*1QbYZg%s-H$nqD^8FL^OpEXl9*Rn7T z1_>&LNQU52-)}z3)#($XP_H(fXp?yP`0Jo^WEPnGof5&l9 zS+gf63{A}GX70t>{pRr@9X{_%*Lo0>*WtKAAZl8Y>OZw!qWgB=#hcm;RdW{E3IKy1 zjshaX##1N>-nHO`*q7iBggAb6Df6P4^O=5tGJ`_@+f@&B)=zv^)TK?QWHn$hI@!9MAKLO$!B1u>rkAP-L>66DXKOyZy+s z2-vr}9ZPzi`~a>w?u?i3%1%XcXIMls-y0FeC4UN9ILi5JK?X&qdJEQC@tP;C&$liU=o=xyz.rogfam littleproxy jar - 2.0.7-SNAPSHOT + 2.0.7 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From fd2541a9cdc1b72d2ee34178138b8b4fd31142d2 Mon Sep 17 00:00:00 2001 From: mrog <4752942+mrog@users.noreply.github.com> Date: Mon, 20 Dec 2021 17:32:55 -0700 Subject: [PATCH 063/973] Update pom.xml --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8e7afbf3..d152db03 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.7 + 2.0.8-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 38b90ee21714e1f1a33acfc7ed3804d8adae194f Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 3 Jan 2022 15:36:59 -0500 Subject: [PATCH 064/973] Bump log4j-core from 2.16.0 to 2.17.1 See: https://www.cve.org/CVERecord?id=CVE-2021-44832 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d152db03..a22b43ad 100644 --- a/pom.xml +++ b/pom.xml @@ -221,7 +221,7 @@ org.apache.logging.log4j log4j-core - 2.17.0 + 2.17.1 true From 8d0d463c491cc8b3298d967b541c816681cdfd0b Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 3 Jan 2022 15:38:03 -0500 Subject: [PATCH 065/973] Bump netty from 4.1.71 to 4.1.72 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d152db03..559ffc07 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.71.Final + 4.1.72.Final 1.7.30 1.8 From a9dd47fe3e33c2540a25747dfe5706b09404c009 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 3 Jan 2022 15:39:31 -0500 Subject: [PATCH 066/973] Bump slf4j from 1.7.30 to 1.7.32 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d152db03..85a5df5b 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ UTF-8 github 4.1.71.Final - 1.7.30 + 1.7.32 1.8 From f3dbe9f03002f3e9fa9c62c94b0b5720b92e765e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Jan 2022 16:52:53 +0000 Subject: [PATCH 067/973] Bump log4j-core from 2.17.0 to 2.17.1 Bumps log4j-core from 2.17.0 to 2.17.1. --- updated-dependencies: - dependency-name: org.apache.logging.log4j:log4j-core dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d152db03..a22b43ad 100644 --- a/pom.xml +++ b/pom.xml @@ -221,7 +221,7 @@ org.apache.logging.log4j log4j-core - 2.17.0 + 2.17.1 true From 95078c326503ea4a240415cc44c355bb889d5c0a Mon Sep 17 00:00:00 2001 From: mrog <4752942+mrog@users.noreply.github.com> Date: Tue, 11 Jan 2022 10:30:23 -0700 Subject: [PATCH 068/973] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 10abdf50..409e30b4 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,10 @@ # Release Notes +- 2.0.8 + - Bumped log4j-core from 2.17.0 to 2.17.1 + - Bumped netty from 4.1.71 to 4.1.72 + - Bumped slf4j from 1.7.30 to 1.7.32 + - 2.0.7 - Bumped log4j-core from 2.16.0 to 2.17.0 From 22c21f5cf5e3e429aed6bcfddd6687d5a29f0e3c Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Wed, 4 May 2022 22:56:10 +0300 Subject: [PATCH 069/973] Create main.yml --- .github/workflows/main.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..3b853aec --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,25 @@ +# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven + +name: Java CI with Maven + +on: + push: + branches: [ master ] + pull_request: + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'temurin' + cache: maven + - name: Build with Maven + run: mvn -B package -Psmoke-test From 28222fb4b21a70d4e8541050cbefe9b2a9607c82 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Wed, 4 May 2022 22:49:50 +0300 Subject: [PATCH 070/973] run tests with github actions * for master branch, and * for every pull request + upload test report in case of test failure --- .github/workflows/main.yml | 17 +++++++++++++++-- pom.xml | 33 +++++++++++++++++++++++++++++++-- 2 files changed, 46 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3b853aec..8d34c6f8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,5 +21,18 @@ jobs: java-version: '11' distribution: 'temurin' cache: maven - - name: Build with Maven - run: mvn -B package -Psmoke-test + - name: Compile code + run: mvn --batch-mode compile + - name: Run tests + run: mvn --batch-mode package -Psmoke-test + - name: Generate Maven test report + if: failure() + run: mvn --batch-mode surefire-report:report-only + - name: Upload test report + uses: actions/upload-artifact@v3 + if: failure() + with: + name: test-report + path: | + target/surefire-reports + target/site \ No newline at end of file diff --git a/pom.xml b/pom.xml index 49dbb860..7f4ea96f 100644 --- a/pom.xml +++ b/pom.xml @@ -52,6 +52,35 @@ 2009 + + smoke-test + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + org/littleshoot/proxy/websockets/* + org/littleshoot/proxy/BadClientAuthenticationTCPChainedProxyTest* + org/littleshoot/proxy/EncryptedUDTChainedProxyTest* + org/littleshoot/proxy/MitmWithBadClientAuthenticationTCPChainedProxyTest* + org/littleshoot/proxy/MitmWithEncryptedUDTChainedProxyTest* + org/littleshoot/proxy/MitmWithUnencryptedUDTChainedProxyTest* + org/littleshoot/proxy/UnencryptedUDTChainedProxyTest* + org/littleshoot/proxy/VariableSpeedClientServerTest* + + + org/littleshoot/proxy/KeepAliveTest* + org/littleshoot/proxy/IdlingProxyTest* + org/littleshoot/proxy/ThrottlingTest* + + + + + + release @@ -510,7 +539,7 @@ org.apache.maven.plugins maven-surefire-plugin - -Xmx1g -XX:MaxPermSize=256m + -Xmx1g @@ -625,7 +654,7 @@ org.apache.maven.plugins maven-surefire-report-plugin - 3.0.0-M5 + 3.0.0-M6 false From ee31e7604783ba7ec306094a7583e44ff62ce18b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 May 2022 19:56:28 +0000 Subject: [PATCH 071/973] Bump jackson-databind from 2.11.3 to 2.12.6.1 Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.11.3 to 2.12.6.1. - [Release notes](https://github.com/FasterXML/jackson/releases) - [Commits](https://github.com/FasterXML/jackson/commits) --- updated-dependencies: - dependency-name: com.fasterxml.jackson.core:jackson-databind dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7f4ea96f..c880cbff 100644 --- a/pom.xml +++ b/pom.xml @@ -420,7 +420,7 @@ com.fasterxml.jackson.core jackson-databind - 2.11.3 + 2.12.6.1 From ea704045aad20849a2f3dad486be35bad12bd6f0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 May 2022 00:59:33 +0000 Subject: [PATCH 072/973] Bump netty.version from 4.1.72.Final to 4.1.76.Final Bumps `netty.version` from 4.1.72.Final to 4.1.76.Final. Updates `netty-all` from 4.1.72.Final to 4.1.76.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.72.Final...netty-4.1.76.Final) Updates `netty-example` from 4.1.72.Final to 4.1.76.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.72.Final...netty-4.1.76.Final) Updates `netty-buffer` from 4.1.72.Final to 4.1.76.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.72.Final...netty-4.1.76.Final) Updates `netty-codec` from 4.1.72.Final to 4.1.76.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.72.Final...netty-4.1.76.Final) Updates `netty-codec-haproxy` from 4.1.72.Final to 4.1.76.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.72.Final...netty-4.1.76.Final) Updates `netty-codec-http` from 4.1.72.Final to 4.1.76.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.72.Final...netty-4.1.76.Final) Updates `netty-codec-socks` from 4.1.72.Final to 4.1.76.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.72.Final...netty-4.1.76.Final) Updates `netty-common` from 4.1.72.Final to 4.1.76.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.72.Final...netty-4.1.76.Final) Updates `netty-handler` from 4.1.72.Final to 4.1.76.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.72.Final...netty-4.1.76.Final) Updates `netty-handler-proxy` from 4.1.72.Final to 4.1.76.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.72.Final...netty-4.1.76.Final) Updates `netty-transport` from 4.1.72.Final to 4.1.76.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.72.Final...netty-4.1.76.Final) Updates `netty-transport-rxtx` from 4.1.72.Final to 4.1.76.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.72.Final...netty-4.1.76.Final) Updates `netty-transport-sctp` from 4.1.72.Final to 4.1.76.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.72.Final...netty-4.1.76.Final) Updates `netty-transport-udp` from 4.1.72.Final to 4.1.76.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c880cbff..fba3e109 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.72.Final + 4.1.76.Final 1.7.32 1.8 From e2bc05b547a614fc28be8cfb53c42d372b24d6c3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 May 2022 00:59:45 +0000 Subject: [PATCH 073/973] Bump maven-project-info-reports-plugin from 3.1.1 to 3.3.0 Bumps [maven-project-info-reports-plugin](https://github.com/apache/maven-project-info-reports-plugin) from 3.1.1 to 3.3.0. - [Release notes](https://github.com/apache/maven-project-info-reports-plugin/releases) - [Commits](https://github.com/apache/maven-project-info-reports-plugin/compare/maven-project-info-reports-plugin-3.1.1...maven-project-info-reports-plugin-3.3.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-project-info-reports-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fba3e109..ab456709 100644 --- a/pom.xml +++ b/pom.xml @@ -643,7 +643,7 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 3.1.1 + 3.3.0 From d21d72e6b27b8250b9a429f9893ba635ca438dda Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 May 2022 00:59:35 +0000 Subject: [PATCH 074/973] Bump nexus-staging-maven-plugin from 1.6.8 to 1.6.13 Bumps nexus-staging-maven-plugin from 1.6.8 to 1.6.13. --- updated-dependencies: - dependency-name: org.sonatype.plugins:nexus-staging-maven-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ab456709..7dcf0d81 100644 --- a/pom.xml +++ b/pom.xml @@ -528,7 +528,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 + 1.6.13 From fc2c97ccd8287dd51a38da8a3f215947fa9473de Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Thu, 5 May 2022 00:05:16 +0300 Subject: [PATCH 075/973] update dependencies --- pom.xml | 51 ++++++++++--------- .../extras/SelfSignedMitmManagerTest.java | 2 +- 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/pom.xml b/pom.xml index 7dcf0d81..32791902 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ UTF-8 github 4.1.76.Final - 1.7.32 + 1.7.36 1.8 @@ -176,13 +176,13 @@ com.google.guava guava - 30.1-jre + 31.1-jre commons-cli commons-cli - 1.4 + 1.5.0 true @@ -190,13 +190,13 @@ org.apache.commons commons-lang3 - 3.11 + 3.12.0 junit junit - 4.13.1 + 4.13.2 test @@ -210,21 +210,21 @@ org.eclipse.jetty jetty-server - 9.4.41.v20210516 + 9.4.46.v20220331 test org.mockito mockito-core - 3.6.0 + 4.5.1 test org.mock-server mockserver-netty - 5.11.2 + 5.13.2 test @@ -250,7 +250,7 @@ org.apache.logging.log4j log4j-core - 2.17.1 + 2.17.2 true @@ -293,7 +293,7 @@ dnsjava dnsjava - 3.3.1 + 3.5.0 true @@ -420,7 +420,8 @@ com.fasterxml.jackson.core jackson-databind - 2.12.6.1 + 2.13.2.2 + bundle @@ -431,13 +432,13 @@ org.apache.maven.plugins maven-enforcer-plugin - 3.0.0-M3 + 3.0.0 org.apache.maven.plugins maven-site-plugin - 3.9.1 + 3.12.0 @@ -449,25 +450,25 @@ org.apache.maven.plugins maven-dependency-plugin - 3.1.2 + 3.3.0 org.apache.maven.plugins maven-clean-plugin - 3.1.0 + 3.2.0 org.apache.maven.plugins maven-deploy-plugin - 3.0.0-M1 + 3.0.0-M2 org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 ${java.version} ${java.version} @@ -484,7 +485,7 @@ org.apache.maven.plugins maven-jar-plugin - 3.2.0 + 3.2.2 @@ -502,7 +503,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 + 3.4.0 all,-missing private @@ -516,7 +517,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.2 + 3.0.0-M6 @@ -556,7 +557,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 + 3.3.0 package @@ -663,7 +664,7 @@ org.apache.maven.plugins maven-checkstyle-plugin - 3.0.1 + 3.1.2 @@ -697,13 +698,13 @@ org.apache.maven.plugins maven-jxr-plugin - 3.0.0 + 3.2.0 org.apache.maven.plugins maven-pmd-plugin - 3.13.0 + 3.16.0 true utf-8 @@ -715,7 +716,7 @@ org.codehaus.mojo versions-maven-plugin - 2.8.1 + 2.10.0 diff --git a/src/test/java/org/littleshoot/proxy/extras/SelfSignedMitmManagerTest.java b/src/test/java/org/littleshoot/proxy/extras/SelfSignedMitmManagerTest.java index 20b5b7df..b49a745e 100644 --- a/src/test/java/org/littleshoot/proxy/extras/SelfSignedMitmManagerTest.java +++ b/src/test/java/org/littleshoot/proxy/extras/SelfSignedMitmManagerTest.java @@ -40,6 +40,6 @@ public void testClientSslEngineFor() { SSLEngine engine = mock(SSLEngine.class); when(source.newSslEngine()).thenReturn(engine); assertEquals(engine, manager.clientSslEngineFor(request, session)); - verifyZeroInteractions(request, session); + verifyNoMoreInteractions(request, session); } } From f3071e9cc5c09c5e8d3d782fa51a03f2e29da7c4 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Thu, 5 May 2022 08:56:30 +0300 Subject: [PATCH 076/973] remove Travis CI configuration now we build the project with github actions --- .travis.yml | 11 ----------- README.md | 1 - src/test/java/org/littleshoot/proxy/IdleTest.java | 1 - 3 files changed, 13 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 157dca99..00000000 --- a/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -sudo: false - -language: java -dist: trusty -jdk: - - oraclejdk8 - - openjdk11 - -cache: - directories: - - $HOME/.m2 diff --git a/README.md b/README.md index f367b7cc..342d5157 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ -[![Build Status](https://travis-ci.com/mrog/LittleProxy.svg?branch=master)](https://travis-ci.com/mrog/LittleProxy) [![DepShield Badge](https://depshield.sonatype.org/badges/mrog/LittleProxy/depshield.svg)](https://depshield.github.io) This is an updated fork of adamfisk's LittleProxy. The original project appears diff --git a/src/test/java/org/littleshoot/proxy/IdleTest.java b/src/test/java/org/littleshoot/proxy/IdleTest.java index bfcc638f..a76897d4 100644 --- a/src/test/java/org/littleshoot/proxy/IdleTest.java +++ b/src/test/java/org/littleshoot/proxy/IdleTest.java @@ -32,7 +32,6 @@ public class IdleTest { @Before public void setup() throws Exception { assumeTrue("Skipping due to non-Unix OS", TestUtils.isUnixManagementCapable()); - assumeFalse("Skipping for travis-ci build", "true".equals(System.getenv("TRAVIS"))); assumeFalse("Skipping due to Mac OS", System.getProperty("os.name").toLowerCase().contains("mac")); webServer = new Server(0); From c8e30218da63d8596335e6486ea5528e40a44430 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Thu, 5 May 2022 09:00:38 +0300 Subject: [PATCH 077/973] un-ignore tests that seem to become faster/green with PR #26 ("TLS 1.3 handshake bugfix") --- pom.xml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 32791902..4749991b 100644 --- a/pom.xml +++ b/pom.xml @@ -62,16 +62,14 @@ - org/littleshoot/proxy/websockets/* - org/littleshoot/proxy/BadClientAuthenticationTCPChainedProxyTest* org/littleshoot/proxy/EncryptedUDTChainedProxyTest* - org/littleshoot/proxy/MitmWithBadClientAuthenticationTCPChainedProxyTest* org/littleshoot/proxy/MitmWithEncryptedUDTChainedProxyTest* org/littleshoot/proxy/MitmWithUnencryptedUDTChainedProxyTest* org/littleshoot/proxy/UnencryptedUDTChainedProxyTest* org/littleshoot/proxy/VariableSpeedClientServerTest* + org/littleshoot/proxy/websockets/* org/littleshoot/proxy/KeepAliveTest* org/littleshoot/proxy/IdlingProxyTest* org/littleshoot/proxy/ThrottlingTest* From 9b60995e489ec161dca523e3904b6207a9ef81a5 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Thu, 5 May 2022 09:24:27 +0300 Subject: [PATCH 078/973] ignore tests only on MacOS and still run on Linux --- pom.xml | 7 ------- .../org/littleshoot/proxy/BaseChainedProxyTest.java | 4 +++- .../proxy/EncryptedUDTChainedProxyTest.java | 7 +++++++ src/test/java/org/littleshoot/proxy/IdleTest.java | 8 ++++---- .../proxy/MitmWithEncryptedUDTChainedProxyTest.java | 7 +++++++ .../proxy/MitmWithUnencryptedUDTChainedProxyTest.java | 8 ++++++++ src/test/java/org/littleshoot/proxy/TestUtils.java | 11 +++++++++++ .../proxy/UnencryptedUDTChainedProxyTest.java | 8 ++++++++ 8 files changed, 48 insertions(+), 12 deletions(-) diff --git a/pom.xml b/pom.xml index 4749991b..cc389440 100644 --- a/pom.xml +++ b/pom.xml @@ -61,13 +61,6 @@ maven-surefire-plugin - - org/littleshoot/proxy/EncryptedUDTChainedProxyTest* - org/littleshoot/proxy/MitmWithEncryptedUDTChainedProxyTest* - org/littleshoot/proxy/MitmWithUnencryptedUDTChainedProxyTest* - org/littleshoot/proxy/UnencryptedUDTChainedProxyTest* - org/littleshoot/proxy/VariableSpeedClientServerTest* - org/littleshoot/proxy/websockets/* org/littleshoot/proxy/KeepAliveTest* diff --git a/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java index 0c901390..a112cbf0 100644 --- a/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java @@ -76,7 +76,9 @@ protected ChainedProxy newChainedProxy() { @Override protected void tearDown() { - this.upstreamProxy.abort(); + if (upstreamProxy != null) { + upstreamProxy.abort(); + } } @Override diff --git a/src/test/java/org/littleshoot/proxy/EncryptedUDTChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/EncryptedUDTChainedProxyTest.java index f657629d..83569f7f 100644 --- a/src/test/java/org/littleshoot/proxy/EncryptedUDTChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/EncryptedUDTChainedProxyTest.java @@ -1,15 +1,22 @@ package org.littleshoot.proxy; +import org.junit.BeforeClass; import org.littleshoot.proxy.extras.SelfSignedSslEngineSource; import javax.net.ssl.SSLEngine; +import static org.littleshoot.proxy.TestUtils.disableOnMac; import static org.littleshoot.proxy.TransportProtocol.UDT; public class EncryptedUDTChainedProxyTest extends BaseChainedProxyTest { private final SslEngineSource sslEngineSource = new SelfSignedSslEngineSource( "chain_proxy_keystore_1.jks"); + @BeforeClass + public static void beforeClass() { + disableOnMac(); + } + @Override protected HttpProxyServerBootstrap upstreamProxy() { return super.upstreamProxy() diff --git a/src/test/java/org/littleshoot/proxy/IdleTest.java b/src/test/java/org/littleshoot/proxy/IdleTest.java index a76897d4..7102bdff 100644 --- a/src/test/java/org/littleshoot/proxy/IdleTest.java +++ b/src/test/java/org/littleshoot/proxy/IdleTest.java @@ -13,8 +13,8 @@ import static org.hamcrest.Matchers.lessThan; import static org.junit.Assert.assertThat; -import static org.junit.Assume.assumeFalse; -import static org.junit.Assume.assumeTrue; +import static org.littleshoot.proxy.TestUtils.disableOnMac; +import static org.littleshoot.proxy.TestUtils.requireUnix; /** * Note - this test only works on UNIX systems because it checks file descriptor @@ -31,8 +31,8 @@ public class IdleTest { @Before public void setup() throws Exception { - assumeTrue("Skipping due to non-Unix OS", TestUtils.isUnixManagementCapable()); - assumeFalse("Skipping due to Mac OS", System.getProperty("os.name").toLowerCase().contains("mac")); + requireUnix(); + disableOnMac(); webServer = new Server(0); webServer.start(); diff --git a/src/test/java/org/littleshoot/proxy/MitmWithEncryptedUDTChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmWithEncryptedUDTChainedProxyTest.java index b259a7f9..f102ff68 100644 --- a/src/test/java/org/littleshoot/proxy/MitmWithEncryptedUDTChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmWithEncryptedUDTChainedProxyTest.java @@ -1,15 +1,22 @@ package org.littleshoot.proxy; +import org.junit.BeforeClass; import org.littleshoot.proxy.extras.SelfSignedSslEngineSource; import javax.net.ssl.SSLEngine; +import static org.littleshoot.proxy.TestUtils.disableOnMac; import static org.littleshoot.proxy.TransportProtocol.UDT; public class MitmWithEncryptedUDTChainedProxyTest extends MitmWithChainedProxyTest { private final SslEngineSource sslEngineSource = new SelfSignedSslEngineSource( "chain_proxy_keystore_1.jks"); + @BeforeClass + public static void beforeClass() { + disableOnMac(); + } + @Override protected HttpProxyServerBootstrap upstreamProxy() { return super.upstreamProxy() diff --git a/src/test/java/org/littleshoot/proxy/MitmWithUnencryptedUDTChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmWithUnencryptedUDTChainedProxyTest.java index 18fb0b34..f9722d8e 100644 --- a/src/test/java/org/littleshoot/proxy/MitmWithUnencryptedUDTChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmWithUnencryptedUDTChainedProxyTest.java @@ -1,8 +1,16 @@ package org.littleshoot.proxy; +import org.junit.BeforeClass; + +import static org.littleshoot.proxy.TestUtils.disableOnMac; import static org.littleshoot.proxy.TransportProtocol.UDT; public class MitmWithUnencryptedUDTChainedProxyTest extends MitmWithChainedProxyTest { + @BeforeClass + public static void beforeClass() { + disableOnMac(); + } + @Override protected HttpProxyServerBootstrap upstreamProxy() { return super.upstreamProxy() diff --git a/src/test/java/org/littleshoot/proxy/TestUtils.java b/src/test/java/org/littleshoot/proxy/TestUtils.java index f2332b50..e8669b04 100644 --- a/src/test/java/org/littleshoot/proxy/TestUtils.java +++ b/src/test/java/org/littleshoot/proxy/TestUtils.java @@ -34,6 +34,9 @@ import java.security.SecureRandom; import java.util.Objects; +import static org.junit.Assume.assumeFalse; +import static org.junit.Assume.assumeTrue; + public class TestUtils { public static final RequestConfig REQUEST_TIMEOUT_CONFIG = RequestConfig.custom().setConnectTimeout(5000).build(); @@ -292,6 +295,14 @@ public static boolean isUnixManagementCapable() { return (osMxBean instanceof UnixOperatingSystemMXBean); } + public static void requireUnix() { + assumeTrue("Skipping test on non-Unix OS", isUnixManagementCapable()); + } + + public static void disableOnMac() { + assumeFalse("Skipping test on Mac OS", System.getProperty("os.name").toLowerCase().contains("mac")); + } + /** * Creates a DefaultHttpClient instance. * diff --git a/src/test/java/org/littleshoot/proxy/UnencryptedUDTChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/UnencryptedUDTChainedProxyTest.java index 33b574ae..4041e194 100644 --- a/src/test/java/org/littleshoot/proxy/UnencryptedUDTChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/UnencryptedUDTChainedProxyTest.java @@ -1,8 +1,16 @@ package org.littleshoot.proxy; +import org.junit.BeforeClass; + +import static org.littleshoot.proxy.TestUtils.disableOnMac; import static org.littleshoot.proxy.TransportProtocol.UDT; public class UnencryptedUDTChainedProxyTest extends BaseChainedProxyTest { + @BeforeClass + public static void beforeClass() { + disableOnMac(); + } + @Override protected HttpProxyServerBootstrap upstreamProxy() { return super.upstreamProxy() From 947a49ec73c997482c28e37f9ae97f244a8106ff Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Thu, 5 May 2022 09:38:21 +0300 Subject: [PATCH 079/973] mark slow tests with an annotation @Category(SlowTest.class) so we don't need to list them explicitly in pom.xml --- pom.xml | 8 +------- .../littleshoot/proxy/IdlingProxyTest.java | 2 ++ .../org/littleshoot/proxy/KeepAliveTest.java | 19 ++++++++++++++++--- .../java/org/littleshoot/proxy/SlowTest.java | 4 ++++ .../org/littleshoot/proxy/ThrottlingTest.java | 2 ++ .../websockets/WebSocketClientServerTest.java | 3 +++ 6 files changed, 28 insertions(+), 10 deletions(-) create mode 100644 src/test/java/org/littleshoot/proxy/SlowTest.java diff --git a/pom.xml b/pom.xml index cc389440..9f33bdf4 100644 --- a/pom.xml +++ b/pom.xml @@ -60,13 +60,7 @@ org.apache.maven.plugins maven-surefire-plugin - - - org/littleshoot/proxy/websockets/* - org/littleshoot/proxy/KeepAliveTest* - org/littleshoot/proxy/IdlingProxyTest* - org/littleshoot/proxy/ThrottlingTest* - + org.littleshoot.proxy.SlowTest diff --git a/src/test/java/org/littleshoot/proxy/IdlingProxyTest.java b/src/test/java/org/littleshoot/proxy/IdlingProxyTest.java index 1132c3a2..5c555d18 100644 --- a/src/test/java/org/littleshoot/proxy/IdlingProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/IdlingProxyTest.java @@ -1,12 +1,14 @@ package org.littleshoot.proxy; import org.junit.Test; +import org.junit.experimental.categories.Category; import static org.junit.Assert.assertEquals; /** * Tests just a single basic proxy. */ +@Category(SlowTest.class) public class IdlingProxyTest extends AbstractProxyTest { @Override protected void setUp() { diff --git a/src/test/java/org/littleshoot/proxy/KeepAliveTest.java b/src/test/java/org/littleshoot/proxy/KeepAliveTest.java index a50eb3f8..3b72b686 100644 --- a/src/test/java/org/littleshoot/proxy/KeepAliveTest.java +++ b/src/test/java/org/littleshoot/proxy/KeepAliveTest.java @@ -1,9 +1,16 @@ package org.littleshoot.proxy; -import io.netty.handler.codec.http.*; +import io.netty.handler.codec.http.DefaultFullHttpResponse; +import io.netty.handler.codec.http.HttpObject; +import io.netty.handler.codec.http.HttpRequest; +import io.netty.handler.codec.http.HttpResponse; +import io.netty.handler.codec.http.HttpResponseStatus; +import io.netty.handler.codec.http.HttpUtil; +import io.netty.handler.codec.http.HttpVersion; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.junit.experimental.categories.Category; import org.littleshoot.proxy.impl.DefaultHttpProxyServer; import org.littleshoot.proxy.test.SocketClientUtil; import org.mockserver.integration.ClientAndServer; @@ -15,14 +22,20 @@ import java.util.Locale; import java.util.concurrent.TimeUnit; -import static org.hamcrest.Matchers.*; -import static org.junit.Assert.*; +import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.endsWith; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.startsWith; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; import static org.mockserver.model.HttpRequest.request; import static org.mockserver.model.HttpResponse.response; /** * This class tests the proxy's keep alive/connection closure behavior. */ +@Category(SlowTest.class) public class KeepAliveTest { private HttpProxyServer proxyServer; diff --git a/src/test/java/org/littleshoot/proxy/SlowTest.java b/src/test/java/org/littleshoot/proxy/SlowTest.java new file mode 100644 index 00000000..95ae256f --- /dev/null +++ b/src/test/java/org/littleshoot/proxy/SlowTest.java @@ -0,0 +1,4 @@ +package org.littleshoot.proxy; + +public interface SlowTest { +} diff --git a/src/test/java/org/littleshoot/proxy/ThrottlingTest.java b/src/test/java/org/littleshoot/proxy/ThrottlingTest.java index 1c0d6e4f..8e1e354a 100644 --- a/src/test/java/org/littleshoot/proxy/ThrottlingTest.java +++ b/src/test/java/org/littleshoot/proxy/ThrottlingTest.java @@ -12,6 +12,7 @@ import org.junit.Before; import org.junit.FixMethodOrder; import org.junit.Test; +import org.junit.experimental.categories.Category; import org.junit.runners.MethodSorters; import org.littleshoot.proxy.impl.DefaultHttpProxyServer; @@ -22,6 +23,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; +@Category(SlowTest.class) @FixMethodOrder(MethodSorters.JVM) public class ThrottlingTest { private static final int LARGE_DATA_SIZE = 200000; diff --git a/src/test/java/org/littleshoot/proxy/websockets/WebSocketClientServerTest.java b/src/test/java/org/littleshoot/proxy/websockets/WebSocketClientServerTest.java index 9ee2afc6..df01f8cb 100644 --- a/src/test/java/org/littleshoot/proxy/websockets/WebSocketClientServerTest.java +++ b/src/test/java/org/littleshoot/proxy/websockets/WebSocketClientServerTest.java @@ -14,13 +14,16 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; +import org.junit.experimental.categories.Category; import org.littleshoot.proxy.HttpProxyServer; import org.littleshoot.proxy.HttpProxyServerBootstrap; +import org.littleshoot.proxy.SlowTest; import org.littleshoot.proxy.extras.SelfSignedMitmManager; import org.littleshoot.proxy.impl.DefaultHttpProxyServer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@Category(SlowTest.class) public class WebSocketClientServerTest { private static final Duration CONNECT_TIMEOUT = Duration.ofSeconds(5); private static final Duration RESPONSE_TIMEOUT = Duration.ofSeconds(5); From 6591a2f964d7c12fde29cd5d65921c1e7398e887 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 6 May 2022 19:22:44 +0300 Subject: [PATCH 080/973] update organization name the project was moved from "mrog" account to "LittleProxy" organization --- README.md | 4 ++-- pom.xml | 19 ++++++++++++++----- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 342d5157..a29f316a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![DepShield Badge](https://depshield.sonatype.org/badges/mrog/LittleProxy/depshield.svg)](https://depshield.github.io) +[![DepShield Badge](https://depshield.sonatype.org/badges/LittleProxy/LittleProxy/depshield.svg)](https://depshield.github.io) This is an updated fork of adamfisk's LittleProxy. The original project appears to have been abondoned. Because it's so incredibly useful, it's being brought @@ -11,7 +11,7 @@ stable, performs well, and is easy to integrate into your projects. One option is to clone LittleProxy and run it from the command line. This is as simple as: ``` -$ git clone git@github.com:mrog/LittleProxy.git +$ git clone git@github.com:LittleProxy/LittleProxy.git $ cd LittleProxy $ ./run.bash ``` diff --git a/pom.xml b/pom.xml index 9f33bdf4..ebac0b4d 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. - https://github.com/mrog/LittleProxy + https://github.com/LittleProxy/LittleProxy UTF-8 @@ -28,13 +28,13 @@ github - https://github.com/mrog/LittleProxy/issues + https://github.com/LittleProxy/LittleProxy/issues - scm:git:https://github.com/mrog/LittleProxy.git - scm:git:git@github.com:mrog/LittleProxy.git - scm:git:https://github.com/mrog/LittleProxy + scm:git:https://github.com/LittleProxy/LittleProxy.git + scm:git:git@github.com:LittleProxy/LittleProxy.git + scm:git:https://github.com/LittleProxy/LittleProxy HEAD @@ -743,5 +743,14 @@ Developer -7 + + asolntsev + Andrei Solntsev + andrei.solntsev+littleproxy@gmail.com + LittleProxy + https://github.com/LittleProxy + Maintainer + +3 + From 3fa2c26e873e188a8d61c7dcf4a4e29d2fedd282 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 6 May 2022 19:26:12 +0300 Subject: [PATCH 081/973] remove DepShield Badge from readme it doesn't work anymore after moving the project to "LittleProxy" organisation, and I have no idea how to fix it. --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index a29f316a..685a0a43 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ -[![DepShield Badge](https://depshield.sonatype.org/badges/LittleProxy/LittleProxy/depshield.svg)](https://depshield.github.io) - This is an updated fork of adamfisk's LittleProxy. The original project appears to have been abondoned. Because it's so incredibly useful, it's being brought back to life in this repository. From b14614454dcf236f5d90f2b9b58455b52aa6c7bc Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 6 May 2022 19:59:29 +0300 Subject: [PATCH 082/973] fix typos --- Netty_4_Upgrade_Notes.md | 2 +- README.md | 2 +- RELEASE_NOTES.md | 2 +- pom.xml | 2 +- .../java/org/littleshoot/proxy/ChainedProxy.java | 4 ++-- .../org/littleshoot/proxy/DefaultHostResolver.java | 4 ++-- src/main/java/org/littleshoot/proxy/HttpFilters.java | 2 +- .../littleshoot/proxy/HttpProxyServerBootstrap.java | 2 +- .../proxy/impl/ClientToProxyConnection.java | 12 ++++++------ .../proxy/impl/ProxyConnectionLogger.java | 6 +++--- .../java/org/littleshoot/proxy/BaseProxyTest.java | 6 +++--- .../org/littleshoot/proxy/EndToEndStoppingTest.java | 2 +- .../java/org/littleshoot/proxy/MitmProxyTest.java | 4 ++-- .../littleshoot/proxy/MitmWithChainedProxyTest.java | 4 ++-- 14 files changed, 27 insertions(+), 27 deletions(-) diff --git a/Netty_4_Upgrade_Notes.md b/Netty_4_Upgrade_Notes.md index 53fab01d..414fc93f 100644 --- a/Netty_4_Upgrade_Notes.md +++ b/Netty_4_Upgrade_Notes.md @@ -21,7 +21,7 @@ Relevant Changes * DefaultChannelGroup? -* SimpleChannelUpstreamHandler -> SimpleChanneInboundHandler +* SimpleChannelUpstreamHandler -> SimpleChannelInboundHandler * InterestOps is gone - what does this mean to setReadable() and channelInterestChanged() ? diff --git a/README.md b/README.md index 685a0a43..ea495588 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ This is an updated fork of adamfisk's LittleProxy. The original project appears -to have been abondoned. Because it's so incredibly useful, it's being brought +to have been abandoned. Because it's so incredibly useful, it's being brought back to life in this repository. LittleProxy is a high performance HTTP proxy written in Java atop Trustin Lee's diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 409e30b4..1cd1c836 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -50,7 +50,7 @@ - Fixed memoryLeak in ClientToProxyConnection - 2.0.0-beta-4 - - Allow users to set their own sesrvergroup within the bootstrap helper + - Allow users to set their own server group within the bootstrap helper - Added support for chained SOCKS proxies - 2.0.0-beta-3 diff --git a/pom.xml b/pom.xml index ebac0b4d..6136afa2 100644 --- a/pom.xml +++ b/pom.xml @@ -308,7 +308,7 @@ io.netty diff --git a/src/main/java/org/littleshoot/proxy/ChainedProxy.java b/src/main/java/org/littleshoot/proxy/ChainedProxy.java index d39d0f09..95f7f69e 100644 --- a/src/main/java/org/littleshoot/proxy/ChainedProxy.java +++ b/src/main/java/org/littleshoot/proxy/ChainedProxy.java @@ -58,7 +58,7 @@ public interface ChainedProxy extends SslEngineSource { String getPassword(); /** - * Implement this method to tell LittleProxy whether or not to encrypt + * Implement this method to tell LittleProxy whether to encrypt * connections to the chained proxy for the given request. If true, * LittleProxy will call {@link SslEngineSource#newSslEngine()} to obtain an * SSLContext used by the downstream proxy. @@ -81,7 +81,7 @@ public interface ChainedProxy extends SslEngineSource { * Called to let us know that connecting to this proxy failed. * * @param cause - * exception that caused this failure (may be null) + * exception that caused this failure (maybe null) */ void connectionFailed(Throwable cause); diff --git a/src/main/java/org/littleshoot/proxy/DefaultHostResolver.java b/src/main/java/org/littleshoot/proxy/DefaultHostResolver.java index 3519dcd9..ec2c5dcb 100644 --- a/src/main/java/org/littleshoot/proxy/DefaultHostResolver.java +++ b/src/main/java/org/littleshoot/proxy/DefaultHostResolver.java @@ -12,7 +12,7 @@ public class DefaultHostResolver implements HostResolver { @Override public InetSocketAddress resolve(String host, int port) throws UnknownHostException { - InetAddress addr = InetAddress.getByName(host); - return new InetSocketAddress(addr, port); + InetAddress address = InetAddress.getByName(host); + return new InetSocketAddress(address, port); } } diff --git a/src/main/java/org/littleshoot/proxy/HttpFilters.java b/src/main/java/org/littleshoot/proxy/HttpFilters.java index b99779eb..a725a6f8 100644 --- a/src/main/java/org/littleshoot/proxy/HttpFilters.java +++ b/src/main/java/org/littleshoot/proxy/HttpFilters.java @@ -63,7 +63,7 @@ *

  • proxyToServerRequestSending
  • *
  • proxyToServerRequestSent
  • *
  • serverToProxyResponseReceiving
  • - *
  • serverToProxyResponse (can be multiple if chuncked)
  • + *
  • serverToProxyResponse (can be multiple if chunked)
  • *
  • serverToProxyResponseReceived
  • *
  • proxyToClientResponse
  • * diff --git a/src/main/java/org/littleshoot/proxy/HttpProxyServerBootstrap.java b/src/main/java/org/littleshoot/proxy/HttpProxyServerBootstrap.java index 5ef9075c..ec9a3e0e 100644 --- a/src/main/java/org/littleshoot/proxy/HttpProxyServerBootstrap.java +++ b/src/main/java/org/littleshoot/proxy/HttpProxyServerBootstrap.java @@ -243,7 +243,7 @@ HttpProxyServerBootstrap withConnectTimeout( HttpProxyServerBootstrap withThrottling(long readThrottleBytesPerSecond, long writeThrottleBytesPerSecond); /** - * All outgoing-communication of the proxy-instance is goin' to be routed via the given network-interface + * All outgoing-communication of the proxy-instance is going' to be routed via the given network-interface * * @param inetSocketAddress to be used for outgoing communication */ diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index edc6955b..796b1db2 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -144,7 +144,7 @@ public class ClientToProxyConnection extends ProxyConnection { private volatile SSLSession clientSslSession; /** - * Tracks whether or not this ClientToProxyConnection is current doing MITM. + * Tracks whether this ClientToProxyConnection is current doing MITM. */ private volatile boolean mitming = false; @@ -384,7 +384,7 @@ OPTIONS request (as detailed below), a client MUST send the target URI in absolute-form as the request-target. [...] An example absolute-form of request-line would be: - GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1 + GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1 To allow for transition to the absolute-form for all requests in some future version of HTTP, a server MUST accept the absolute-form in requests, even though HTTP/1.1 clients will only send them in @@ -454,11 +454,11 @@ void respond(ProxyToServerConnection serverConnection, HttpFilters filters, return; } - boolean isSwithchingToWebSocketProtocol = false; + boolean isSwitchingToWebSocketProtocol = false; if (httpObject instanceof HttpResponse) { HttpResponse httpResponse = (HttpResponse) httpObject; - isSwithchingToWebSocketProtocol = ProxyUtils.isSwitchingToWebSocketProtocol(httpResponse); + isSwitchingToWebSocketProtocol = ProxyUtils.isSwitchingToWebSocketProtocol(httpResponse); // if this HttpResponse does not have any means of signaling the end of the message body other than closing // the connection, convert the message to a "Transfer-Encoding: chunked" HTTP response. This avoids the need @@ -496,7 +496,7 @@ void respond(ProxyToServerConnection serverConnection, HttpFilters filters, if (ProxyUtils.isLastChunk(httpObject)) { writeEmptyBuffer(); } - else if (isSwithchingToWebSocketProtocol) { + else if (isSwitchingToWebSocketProtocol) { switchToWebSocketProtocol(serverConnection); } @@ -1472,7 +1472,7 @@ private void recordClientSSLHandshakeSucceeded() { clientAddress, clientSslSession); } } catch (Exception e) { - LOG.error("Unable to recorClientSSLHandshakeSucceeded", e); + LOG.error("Unable to recordClientSSLHandshakeSucceeded", e); } } diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyConnectionLogger.java b/src/main/java/org/littleshoot/proxy/impl/ProxyConnectionLogger.java index e6eac83e..4d5f2892 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyConnectionLogger.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyConnectionLogger.java @@ -32,7 +32,7 @@ public ProxyConnectionLogger(ProxyConnection connection) { final Logger lg = LoggerFactory.getLogger(connection .getClass()); if (lg instanceof LocationAwareLogger) { - dispatch = new LocationAwareLogggerDispatch((LocationAwareLogger) lg); + dispatch = new LocationAwareLoggerDispatch((LocationAwareLogger) lg); } else { dispatch = new LoggerDispatch(); @@ -163,11 +163,11 @@ public void doLog(int level, String message, Object[] params, Throwable t) { /** * Dispatcher for a LocationAwareLogger. */ - private class LocationAwareLogggerDispatch implements LogDispatch { + private class LocationAwareLoggerDispatch implements LogDispatch { private LocationAwareLogger log; - public LocationAwareLogggerDispatch(LocationAwareLogger log) { + public LocationAwareLoggerDispatch(LocationAwareLogger log) { this.log = log; } diff --git a/src/test/java/org/littleshoot/proxy/BaseProxyTest.java b/src/test/java/org/littleshoot/proxy/BaseProxyTest.java index 846545c1..a46b306c 100644 --- a/src/test/java/org/littleshoot/proxy/BaseProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/BaseProxyTest.java @@ -4,8 +4,8 @@ import org.junit.Test; /** - * Base for tests that test the proxy. This base class encapsulates all of the - * tests and test conditions. Sub-classes should provide different + * Base for tests that test the proxy. This base class encapsulates all the + * tests and test conditions. Subclasses should provide different * {@link #setUp()} and {@link #tearDown()} methods for testing different * configurations of the proxy (e.g. single versus chained, tunneling, etc.). */ @@ -46,7 +46,7 @@ public void testHeadRequestFollowedByGet() throws Exception { @Test public void testProxyWithBadAddress() throws Exception { - // This test used to try connecting to "test.localhost" and that worked for for local builds, but resulted in + // This test used to try connecting to "test.localhost" and that worked for local builds, but resulted in // the wrong error (405 instead of 502) on the build server due to nginx. So, switched it to localhost:17, // which should work as long as there's not a web server running on the QOTD port. ResponseInfo response = diff --git a/src/test/java/org/littleshoot/proxy/EndToEndStoppingTest.java b/src/test/java/org/littleshoot/proxy/EndToEndStoppingTest.java index 49591f35..f8935011 100644 --- a/src/test/java/org/littleshoot/proxy/EndToEndStoppingTest.java +++ b/src/test/java/org/littleshoot/proxy/EndToEndStoppingTest.java @@ -32,7 +32,7 @@ import static org.mockserver.model.HttpResponse.response; /** - * End to end test making sure the proxy is able to service simple HTTP requests + * End-to-end test making sure the proxy is able to service simple HTTP requests * and stop at the end. Made into a unit test from isopov and nasis's * contributions at: https://github.com/adamfisk/LittleProxy/issues/36 */ diff --git a/src/test/java/org/littleshoot/proxy/MitmProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmProxyTest.java index 68b4a000..84a77fc4 100644 --- a/src/test/java/org/littleshoot/proxy/MitmProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmProxyTest.java @@ -137,11 +137,11 @@ private void assertMethodSeenInRequestFilters(HttpMethod method) { private void assertMethodSeenInResponseFilters(HttpMethod method) { assertThat( method - + " should have been seen as the original requests's method in serverToProxyResponse filter", + + " should have been seen as the original request's method in serverToProxyResponse filter", responsePreOriginalRequestMethodsSeen, hasItem(method)); assertThat( method - + " should have been seen as the original requests's method in proxyToClientResponse filter", + + " should have been seen as the original request's method in proxyToClientResponse filter", responsePostOriginalRequestMethodsSeen, hasItem(method)); } diff --git a/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java index d1cca41f..25af3ba1 100644 --- a/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java @@ -154,11 +154,11 @@ private void assertMethodSeenInRequestFilters(HttpMethod method) { private void assertMethodSeenInResponseFilters(HttpMethod method) { assertThat( method - + " should have been seen as the original requests's method in serverToProxyResponse filter", + + " should have been seen as the original request's method in serverToProxyResponse filter", responsePreOriginalRequestMethodsSeen, hasItem(method)); assertThat( method - + " should have been seen as the original requests's method in proxyToClientResponse filter", + + " should have been seen as the original request's method in proxyToClientResponse filter", responsePostOriginalRequestMethodsSeen, hasItem(method)); } From 3c3435eb079891ba7ccb94d07d47581b3cb47a59 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 6 May 2022 20:05:50 +0300 Subject: [PATCH 083/973] use slf4j-reload4j instead of slf4j-log4j12 the artifact was relocated in central maven repository --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6136afa2..bacadaf4 100644 --- a/pom.xml +++ b/pom.xml @@ -284,7 +284,7 @@ org.slf4j - slf4j-log4j12 + slf4j-reload4j ${slf4j.version} true From fdb9d055fdd2a2eebe8a9f82ef4953a186a1bfe4 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 6 May 2022 20:08:11 +0300 Subject: [PATCH 084/973] make some inner classes static --- src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java | 2 +- .../java/org/littleshoot/proxy/websockets/WebSocketClient.java | 2 +- .../java/org/littleshoot/proxy/websockets/WebSocketServer.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java index 081571a2..60fe423c 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java @@ -738,7 +738,7 @@ public void write(ChannelHandlerContext ctx, * Utility handler for monitoring requests written on this connection. */ @Sharable - protected abstract class RequestWrittenMonitor extends + protected static abstract class RequestWrittenMonitor extends ChannelOutboundHandlerAdapter { @Override public void write(ChannelHandlerContext ctx, diff --git a/src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java b/src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java index 5f10fca9..9b114e82 100644 --- a/src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java +++ b/src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java @@ -150,7 +150,7 @@ public void close() { } } - private class WebSocketClientChannelInitializer extends ChannelInitializer { + private static class WebSocketClientChannelInitializer extends ChannelInitializer { private final WebSocketClientHandler handler; private final URI uri; private final Optional httpProxy; diff --git a/src/test/java/org/littleshoot/proxy/websockets/WebSocketServer.java b/src/test/java/org/littleshoot/proxy/websockets/WebSocketServer.java index 244534ad..a5f4b952 100644 --- a/src/test/java/org/littleshoot/proxy/websockets/WebSocketServer.java +++ b/src/test/java/org/littleshoot/proxy/websockets/WebSocketServer.java @@ -99,7 +99,7 @@ public void stop() throws InterruptedException { } } - private class WebSocketServerInitializer extends ChannelInitializer { + private static class WebSocketServerInitializer extends ChannelInitializer { private final Optional sslCtx; public WebSocketServerInitializer(final Optional sslCtx) { From dc3607c36a6bfef84caba0d4364d2f6aa5854b31 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 6 May 2022 20:13:54 +0300 Subject: [PATCH 085/973] use StandardCharsets.UTF_8 instead of Charset.forName("UTF-8") --- README.md | 34 +++++++++++-------- .../proxy/impl/ClientToProxyConnection.java | 5 ++- .../org/littleshoot/proxy/MitmProxyTest.java | 14 ++++---- .../proxy/MitmWithChainedProxyTest.java | 14 ++++---- .../proxy/VariableSpeedClientServerTest.java | 4 +-- .../proxy/test/HttpClientUtil.java | 5 +-- .../proxy/test/SocketClientUtil.java | 7 ++-- .../proxy/websockets/WebSocketServer.java | 2 +- 8 files changed, 47 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index ea495588..dc4b514f 100644 --- a/README.md +++ b/README.md @@ -112,22 +112,26 @@ your proxy. You can return a `HttpFilters` implementation which answers responses with HTML content or redirects in `clientToProxyRequest` like this: ```java +import java.nio.charset.StandardCharsets; + +import static java.nio.charset.StandardCharsets.UTF_8; + public class AnswerRequestFilter extends HttpFiltersAdapter { - private final String answer; - - public AnswerRequestFilter(HttpRequest originalRequest, String answer) { - super(originalRequest, null); - this.answer = answer; - } - - @Override - public HttpResponse clientToProxyRequest(HttpObject httpObject) { - ByteBuf buffer = Unpooled.wrappedBuffer(answer.getBytes("UTF-8")); - HttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK, buffer); - HttpHeaders.setContentLength(response, buffer.readableBytes()); - HttpHeaders.setHeader(response, HttpHeaders.Names.CONTENT_TYPE, "text/html"); - return response; - } + private final String answer; + + public AnswerRequestFilter(HttpRequest originalRequest, String answer) { + super(originalRequest, null); + this.answer = answer; + } + + @Override + public HttpResponse clientToProxyRequest(HttpObject httpObject) { + ByteBuf buffer = Unpooled.wrappedBuffer(answer.getBytes(UTF_8)); + HttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK, buffer); + HttpHeaders.setContentLength(response, buffer.readableBytes()); + HttpHeaders.setHeader(response, HttpHeaders.Names.CONTENT_TYPE, "text/html"); + return response; + } } ``` On answering a redirect, you should add a Connection: close header, to avoid diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index 796b1db2..7c089021 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -38,11 +38,9 @@ import org.littleshoot.proxy.SslEngineSource; import javax.net.ssl.SSLSession; - import java.io.IOException; import java.net.InetSocketAddress; import java.net.UnknownHostException; -import java.nio.charset.Charset; import java.util.Arrays; import java.util.Date; import java.util.List; @@ -55,6 +53,7 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.regex.Pattern; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.littleshoot.proxy.impl.ConnectionState.AWAITING_CHUNK; import static org.littleshoot.proxy.impl.ConnectionState.AWAITING_INITIAL; import static org.littleshoot.proxy.impl.ConnectionState.AWAITING_PROXY_AUTHENTICATION; @@ -1023,7 +1022,7 @@ private boolean authenticationRequired(HttpRequest request) { byte[] decodedValue = BaseEncoding.base64().decode(value); - String decodedString = new String(decodedValue, Charset.forName("UTF-8")); + String decodedString = new String(decodedValue, UTF_8); String userName = StringUtils.substringBefore(decodedString, ":"); String password = StringUtils.substringAfter(decodedString, ":"); diff --git a/src/test/java/org/littleshoot/proxy/MitmProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmProxyTest.java index 84a77fc4..4ccd47b8 100644 --- a/src/test/java/org/littleshoot/proxy/MitmProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmProxyTest.java @@ -1,12 +1,16 @@ package org.littleshoot.proxy; -import io.netty.handler.codec.http.*; +import io.netty.handler.codec.http.HttpContent; +import io.netty.handler.codec.http.HttpMethod; +import io.netty.handler.codec.http.HttpObject; +import io.netty.handler.codec.http.HttpRequest; +import io.netty.handler.codec.http.HttpResponse; import org.littleshoot.proxy.extras.SelfSignedMitmManager; -import java.nio.charset.Charset; import java.util.HashSet; import java.util.Set; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.hamcrest.Matchers.hasItem; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; @@ -61,8 +65,7 @@ public HttpObject serverToProxyResponse( .add(originalRequest.method()); } else if (httpObject instanceof HttpContent) { responsePreBody.append(((HttpContent) httpObject) - .content().toString( - Charset.forName("UTF-8"))); + .content().toString(UTF_8)); } return httpObject; } @@ -75,8 +78,7 @@ public HttpObject proxyToClientResponse( .add(originalRequest.method()); } else if (httpObject instanceof HttpContent) { responsePostBody.append(((HttpContent) httpObject) - .content().toString( - Charset.forName("UTF-8"))); + .content().toString(UTF_8)); } return httpObject; } diff --git a/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java index 25af3ba1..f405e59e 100644 --- a/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java @@ -1,12 +1,16 @@ package org.littleshoot.proxy; -import io.netty.handler.codec.http.*; +import io.netty.handler.codec.http.HttpContent; +import io.netty.handler.codec.http.HttpMethod; +import io.netty.handler.codec.http.HttpObject; +import io.netty.handler.codec.http.HttpRequest; +import io.netty.handler.codec.http.HttpResponse; import org.littleshoot.proxy.extras.SelfSignedMitmManager; -import java.nio.charset.Charset; import java.util.HashSet; import java.util.Set; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.hamcrest.Matchers.hasItem; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; @@ -70,8 +74,7 @@ public HttpObject serverToProxyResponse( .add(originalRequest.method()); } else if (httpObject instanceof HttpContent) { responsePreBody.append(((HttpContent) httpObject) - .content().toString( - Charset.forName("UTF-8"))); + .content().toString(UTF_8)); } return httpObject; } @@ -84,8 +87,7 @@ public HttpObject proxyToClientResponse( .add(originalRequest.method()); } else if (httpObject instanceof HttpContent) { responsePostBody.append(((HttpContent) httpObject) - .content().toString( - Charset.forName("UTF-8"))); + .content().toString(UTF_8)); } return httpObject; } diff --git a/src/test/java/org/littleshoot/proxy/VariableSpeedClientServerTest.java b/src/test/java/org/littleshoot/proxy/VariableSpeedClientServerTest.java index 320031ee..ebdebef5 100644 --- a/src/test/java/org/littleshoot/proxy/VariableSpeedClientServerTest.java +++ b/src/test/java/org/littleshoot/proxy/VariableSpeedClientServerTest.java @@ -16,9 +16,9 @@ import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; -import java.nio.charset.Charset; import java.util.Arrays; +import static java.nio.charset.StandardCharsets.UTF_8; import static org.junit.Assert.assertEquals; /** @@ -139,7 +139,7 @@ private void startServerOnThread(int port, boolean slowReader) // or // so. - os.write(responseHeaders.getBytes(Charset.forName("UTF-8"))); + os.write(responseHeaders.getBytes(UTF_8)); int bufferSize = 100000; final byte[] bytes = new byte[bufferSize]; diff --git a/src/test/java/org/littleshoot/proxy/test/HttpClientUtil.java b/src/test/java/org/littleshoot/proxy/test/HttpClientUtil.java index 81187c29..0626b830 100644 --- a/src/test/java/org/littleshoot/proxy/test/HttpClientUtil.java +++ b/src/test/java/org/littleshoot/proxy/test/HttpClientUtil.java @@ -12,7 +12,8 @@ import org.littleshoot.proxy.HttpProxyServer; import java.io.IOException; -import java.nio.charset.Charset; + +import static java.nio.charset.StandardCharsets.UTF_8; /** * Utility methods for creating HTTP clients and sending requests to servers via a LittleProxy instance. @@ -53,7 +54,7 @@ public static org.apache.http.HttpResponse performHttpPost(String url, int postS } HttpPost post = new HttpPost(url); - post.setEntity(new StringEntity(sb.toString(), Charset.forName("UTF-8"))); + post.setEntity(new StringEntity(sb.toString(), UTF_8)); return performHttpRequest(httpClient, post); } diff --git a/src/test/java/org/littleshoot/proxy/test/SocketClientUtil.java b/src/test/java/org/littleshoot/proxy/test/SocketClientUtil.java index ad4653d3..1ecbb566 100644 --- a/src/test/java/org/littleshoot/proxy/test/SocketClientUtil.java +++ b/src/test/java/org/littleshoot/proxy/test/SocketClientUtil.java @@ -10,7 +10,8 @@ import java.net.Socket; import java.net.SocketException; import java.net.SocketTimeoutException; -import java.nio.charset.Charset; + +import static java.nio.charset.StandardCharsets.UTF_8; /** * Utilities for interacting with the proxy server using sockets. @@ -24,7 +25,7 @@ public class SocketClientUtil { */ public static void writeStringToSocket(String string, Socket socket) throws IOException { OutputStream out = socket.getOutputStream(); - out.write(string.getBytes(Charset.forName("UTF-8"))); + out.write(string.getBytes(UTF_8)); out.flush(); } @@ -44,7 +45,7 @@ public static String readStringFromSocket(Socket socket) throws IOException { throw new EOFException("Unable to read from socket. The socket is closed."); } - return new String(bytes, 0, bytesRead, Charset.forName("UTF-8")); + return new String(bytes, 0, bytesRead, UTF_8); } /** diff --git a/src/test/java/org/littleshoot/proxy/websockets/WebSocketServer.java b/src/test/java/org/littleshoot/proxy/websockets/WebSocketServer.java index a5f4b952..86416cd1 100644 --- a/src/test/java/org/littleshoot/proxy/websockets/WebSocketServer.java +++ b/src/test/java/org/littleshoot/proxy/websockets/WebSocketServer.java @@ -107,7 +107,7 @@ public WebSocketServerInitializer(final Optional sslCtx) { } @Override - public void initChannel(final SocketChannel channel) throws Exception { + public void initChannel(final SocketChannel channel) { final ChannelPipeline pipeline = channel.pipeline(); sslCtx.map(ctx -> ctx.newHandler(channel.alloc())) .ifPresent(handler -> pipeline.addLast("ssl", handler)); From 62de37e53565068cf463911c23ab769826be4f81 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 6 May 2022 20:19:14 +0300 Subject: [PATCH 086/973] use try-with-resources --- .../proxy/EndToEndStoppingTest.java | 6 +- .../proxy/HttpStreamingFilterTest.java | 23 ++--- .../littleshoot/proxy/ProxyHeadersTest.java | 13 +-- .../org/littleshoot/proxy/TimeoutTest.java | 39 +++++---- .../proxy/VariableSpeedClientServerTest.java | 86 ++++++++++--------- 5 files changed, 85 insertions(+), 82 deletions(-) diff --git a/src/test/java/org/littleshoot/proxy/EndToEndStoppingTest.java b/src/test/java/org/littleshoot/proxy/EndToEndStoppingTest.java index f8935011..1b8acf85 100644 --- a/src/test/java/org/littleshoot/proxy/EndToEndStoppingTest.java +++ b/src/test/java/org/littleshoot/proxy/EndToEndStoppingTest.java @@ -5,8 +5,8 @@ import org.apache.commons.io.IOUtils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; -import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.util.EntityUtils; import org.junit.After; import org.junit.Before; @@ -139,9 +139,7 @@ public io.netty.handler.codec.http.HttpResponse proxyToServerRequest( } }).start(); - try { - final HttpClient client = TestUtils.createProxiedHttpClient(proxy.getListenAddress().getPort()); - + try (CloseableHttpClient client = TestUtils.createProxiedHttpClient(proxy.getListenAddress().getPort())) { // final HttpPost get = new HttpPost(site); final HttpGet get = new HttpGet(site); diff --git a/src/test/java/org/littleshoot/proxy/HttpStreamingFilterTest.java b/src/test/java/org/littleshoot/proxy/HttpStreamingFilterTest.java index c38c3fb1..67fa4897 100644 --- a/src/test/java/org/littleshoot/proxy/HttpStreamingFilterTest.java +++ b/src/test/java/org/littleshoot/proxy/HttpStreamingFilterTest.java @@ -89,19 +89,20 @@ public void testFiltering() throws Exception { entity.setChunked(true); request.setEntity(entity); - CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient( - proxyServer.getListenAddress().getPort()); + try (CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient( + proxyServer.getListenAddress().getPort())) { - final org.apache.http.HttpResponse response = httpClient.execute( - new HttpHost("127.0.0.1", - webServerPort), request); + final org.apache.http.HttpResponse response = httpClient.execute( + new HttpHost("127.0.0.1", + webServerPort), request); - assertEquals("Received 20000 bytes\n", - EntityUtils.toString(response.getEntity())); + assertEquals("Received 20000 bytes\n", + EntityUtils.toString(response.getEntity())); - assertEquals("Filter should have seen only 1 HttpRequest", 1, - numberOfInitialRequestsFiltered.get()); - assertThat("Filter should have seen 1 or more chunks", - numberOfSubsequentChunksFiltered.get(), greaterThanOrEqualTo(1)); + assertEquals("Filter should have seen only 1 HttpRequest", 1, + numberOfInitialRequestsFiltered.get()); + assertThat("Filter should have seen 1 or more chunks", + numberOfSubsequentChunksFiltered.get(), greaterThanOrEqualTo(1)); + } } } diff --git a/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java b/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java index c25525ff..93a1ea69 100644 --- a/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java +++ b/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java @@ -2,8 +2,8 @@ import org.apache.http.Header; import org.apache.http.HttpResponse; -import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.util.EntityUtils; import org.junit.After; import org.junit.Before; @@ -66,11 +66,12 @@ public void testProxyRemovesConnectionHeadersFromServer() throws Exception { .withPort(0) .start(); - HttpClient httpClient = TestUtils.createProxiedHttpClient(proxyServer.getListenAddress().getPort()); - HttpResponse response = httpClient.execute(new HttpGet("http://localhost:" + mockServerPort + "/connectionheaders")); - EntityUtils.consume(response.getEntity()); + try (CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyServer.getListenAddress().getPort())) { + HttpResponse response = httpClient.execute(new HttpGet("http://localhost:" + mockServerPort + "/connectionheaders")); + EntityUtils.consume(response.getEntity()); - Header[] dummyHeaders = response.getHeaders("Dummy-Header"); - assertThat("Expected proxy to remove the Dummy-Header specified in the Connection header", dummyHeaders, emptyArray()); + Header[] dummyHeaders = response.getHeaders("Dummy-Header"); + assertThat("Expected proxy to remove the Dummy-Header specified in the Connection header", dummyHeaders, emptyArray()); + } } } diff --git a/src/test/java/org/littleshoot/proxy/TimeoutTest.java b/src/test/java/org/littleshoot/proxy/TimeoutTest.java index 8e3e69b0..98501154 100644 --- a/src/test/java/org/littleshoot/proxy/TimeoutTest.java +++ b/src/test/java/org/littleshoot/proxy/TimeoutTest.java @@ -68,18 +68,18 @@ public void testIdleConnectionTimeout() throws Exception { .withDelay(new Delay(TimeUnit.SECONDS, 5)) ); - CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyServer.getListenAddress().getPort()); + try (CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyServer.getListenAddress().getPort())) { + long start = System.nanoTime(); + HttpGet get = new HttpGet("http://127.0.0.1:" + mockServerPort + "/idleconnection"); + long stop = System.nanoTime(); - long start = System.nanoTime(); - HttpGet get = new HttpGet("http://127.0.0.1:" + mockServerPort + "/idleconnection"); - long stop = System.nanoTime(); + HttpResponse response = httpClient.execute(get); + EntityUtils.consumeQuietly(response.getEntity()); - HttpResponse response = httpClient.execute(get); - EntityUtils.consumeQuietly(response.getEntity()); - - assertEquals("Expected to receive an HTTP 504 (Gateway Timeout) response after proxy did not receive a response within 1 second", 504, response.getStatusLine().getStatusCode()); - assertThat("Expected idle connection timeout to happen after approximately 1 second", - TimeUnit.MILLISECONDS.convert(stop - start, TimeUnit.NANOSECONDS), lessThan(2000L)); + assertEquals("Expected to receive an HTTP 504 (Gateway Timeout) response after proxy did not receive a response within 1 second", 504, response.getStatusLine().getStatusCode()); + assertThat("Expected idle connection timeout to happen after approximately 1 second", + TimeUnit.MILLISECONDS.convert(stop - start, TimeUnit.NANOSECONDS), lessThan(2000L)); + } } @Test @@ -89,19 +89,20 @@ public void testConnectionTimeout() throws Exception { .withConnectTimeout(1000) .start(); - CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyServer.getListenAddress().getPort()); + try (CloseableHttpClient httpClient = TestUtils.createProxiedHttpClient(proxyServer.getListenAddress().getPort())) { - HttpGet get = new HttpGet(UNUSED_URI_FOR_BAD_GATEWAY); + HttpGet get = new HttpGet(UNUSED_URI_FOR_BAD_GATEWAY); - long start = System.nanoTime(); - HttpResponse response = httpClient.execute(get); - long stop = System.nanoTime(); + long start = System.nanoTime(); + HttpResponse response = httpClient.execute(get); + long stop = System.nanoTime(); - EntityUtils.consumeQuietly(response.getEntity()); + EntityUtils.consumeQuietly(response.getEntity()); - assertEquals("Expected to receive an HTTP 502 (Bad Gateway) response after proxy could not connect within 1 second", 502, response.getStatusLine().getStatusCode()); - assertThat("Expected connection timeout to happen after approximately 1 second", - TimeUnit.MILLISECONDS.convert(stop - start, TimeUnit.NANOSECONDS), lessThan(2000L)); + assertEquals("Expected to receive an HTTP 502 (Bad Gateway) response after proxy could not connect within 1 second", 502, response.getStatusLine().getStatusCode()); + assertThat("Expected connection timeout to happen after approximately 1 second", + TimeUnit.MILLISECONDS.convert(stop - start, TimeUnit.NANOSECONDS), lessThan(2000L)); + } } /** diff --git a/src/test/java/org/littleshoot/proxy/VariableSpeedClientServerTest.java b/src/test/java/org/littleshoot/proxy/VariableSpeedClientServerTest.java index ebdebef5..e03ed76f 100644 --- a/src/test/java/org/littleshoot/proxy/VariableSpeedClientServerTest.java +++ b/src/test/java/org/littleshoot/proxy/VariableSpeedClientServerTest.java @@ -51,55 +51,57 @@ private void doTest(int port, int proxyPort, boolean slowServer) DefaultHttpProxyServer.bootstrap().withPort(proxyPort).start(); Thread.yield(); Thread.sleep(400); - final CloseableHttpClient client = TestUtils.createProxiedHttpClient(proxyPort); - - System.out - .println("------------------ Memory Usage At Beginning ------------------"); - TestUtils.getOpenFileDescriptorsAndPrintMemoryUsage(); - - final String endpoint = "http://127.0.0.1:" + port + "/"; - final HttpPost post = new HttpPost(endpoint); - post.setConfig(TestUtils.REQUEST_TIMEOUT_CONFIG); - post.setEntity(new InputStreamEntity(new InputStream() { - private int remaining = CONTENT_LENGTH; - - @Override - public int read() { - if (remaining > 0) { - remaining -= 1; - return 77; - } else { - return 0; + try (CloseableHttpClient client = TestUtils.createProxiedHttpClient(proxyPort)) { + + System.out + .println("------------------ Memory Usage At Beginning ------------------"); + TestUtils.getOpenFileDescriptorsAndPrintMemoryUsage(); + + final String endpoint = "http://127.0.0.1:" + port + "/"; + final HttpPost post = new HttpPost(endpoint); + post.setConfig(TestUtils.REQUEST_TIMEOUT_CONFIG); + post.setEntity(new InputStreamEntity(new InputStream() { + private int remaining = CONTENT_LENGTH; + + @Override + public int read() { + if (remaining > 0) { + remaining -= 1; + return 77; + } + else { + return 0; + } } - } - @Override - public int available() { - return remaining; - } - }, CONTENT_LENGTH)); - final HttpResponse response = client.execute(post); + @Override + public int available() { + return remaining; + } + }, CONTENT_LENGTH)); + final HttpResponse response = client.execute(post); - final HttpEntity entity = response.getEntity(); - final long cl = entity.getContentLength(); - assertEquals(CONTENT_LENGTH, cl); + final HttpEntity entity = response.getEntity(); + final long cl = entity.getContentLength(); + assertEquals(CONTENT_LENGTH, cl); - int bytesRead = 0; - try (InputStream content = slowServer ? new ThrottledInputStream(entity.getContent(), 10 * 1000) : entity.getContent()) { - final byte[] input = new byte[100000]; - int read = content.read(input); + int bytesRead = 0; + try (InputStream content = slowServer ? new ThrottledInputStream(entity.getContent(), 10 * 1000) : entity.getContent()) { + final byte[] input = new byte[100000]; + int read = content.read(input); - while (read != -1) { - bytesRead += read; - read = content.read(input); + while (read != -1) { + bytesRead += read; + read = content.read(input); + } } + assertEquals(CONTENT_LENGTH, bytesRead); + // final String body = IOUtils.toString(entity.getContent()); + EntityUtils.consume(entity); + System.out + .println("------------------ Memory Usage At Beginning ------------------"); + TestUtils.getOpenFileDescriptorsAndPrintMemoryUsage(); } - assertEquals(CONTENT_LENGTH, bytesRead); - // final String body = IOUtils.toString(entity.getContent()); - EntityUtils.consume(entity); - System.out - .println("------------------ Memory Usage At Beginning ------------------"); - TestUtils.getOpenFileDescriptorsAndPrintMemoryUsage(); } private void startServer(final int port, final boolean slowReader) { From d6aa080d21c1635a12e0be10c2cb0456d7306035 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 6 May 2022 20:24:31 +0300 Subject: [PATCH 087/973] make fields final --- .../proxy/extras/ProxyProtocolMessage.java | 14 ++++++------ .../proxy/impl/CategorizedThreadFactory.java | 2 +- .../proxy/impl/ClientToProxyConnection.java | 8 +++---- .../proxy/impl/ConnectionFlow.java | 2 +- .../proxy/impl/DefaultHttpProxyServer.java | 4 ++-- .../proxy/impl/ProxyConnectionLogger.java | 2 +- .../proxy/impl/ProxyToServerConnection.java | 22 +++++++++---------- .../littleshoot/proxy/impl/ProxyUtils.java | 2 +- .../proxy/ChainedProxyWithFallbackTest.java | 2 +- .../org/littleshoot/proxy/MitmProxyTest.java | 12 +++++----- .../proxy/MitmWithChainedProxyTest.java | 12 +++++----- .../org/littleshoot/proxy/ResponseInfo.java | 4 ++-- .../haproxy/ProxyProtocolClientHandler.java | 4 ++-- .../proxy/haproxy/ProxyProtocolHeader.java | 8 +++---- 14 files changed, 49 insertions(+), 49 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/extras/ProxyProtocolMessage.java b/src/main/java/org/littleshoot/proxy/extras/ProxyProtocolMessage.java index cee89ad0..8ce58390 100644 --- a/src/main/java/org/littleshoot/proxy/extras/ProxyProtocolMessage.java +++ b/src/main/java/org/littleshoot/proxy/extras/ProxyProtocolMessage.java @@ -7,13 +7,13 @@ public class ProxyProtocolMessage { - private HAProxyProtocolVersion protocolVersion; - private HAProxyCommand command; - private HAProxyProxiedProtocol proxiedProtocol; - private String sourceAddress; - private String destinationAddress; - private int sourcePort; - private int destinationPort; + private final HAProxyProtocolVersion protocolVersion; + private final HAProxyCommand command; + private final HAProxyProxiedProtocol proxiedProtocol; + private final String sourceAddress; + private final String destinationAddress; + private final int sourcePort; + private final int destinationPort; public ProxyProtocolMessage(HAProxyProtocolVersion protocolVersion, HAProxyCommand command, HAProxyProxiedProtocol proxiedProtocol, String sourceAddress, String destinationAddress , int sourcePort, int destinationPort) { diff --git a/src/main/java/org/littleshoot/proxy/impl/CategorizedThreadFactory.java b/src/main/java/org/littleshoot/proxy/impl/CategorizedThreadFactory.java index 18bc74c4..7e05dc79 100644 --- a/src/main/java/org/littleshoot/proxy/impl/CategorizedThreadFactory.java +++ b/src/main/java/org/littleshoot/proxy/impl/CategorizedThreadFactory.java @@ -16,7 +16,7 @@ public class CategorizedThreadFactory implements ThreadFactory { private final String category; private final int uniqueServerGroupId; - private AtomicInteger threadCount = new AtomicInteger(0); + private final AtomicInteger threadCount = new AtomicInteger(0); /** * Exception handler for proxy threads. Logs the name of the thread and the exception that was caught. diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index 7c089021..eb097043 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -147,7 +147,7 @@ public class ClientToProxyConnection extends ProxyConnection { */ private volatile boolean mitming = false; - private AtomicBoolean authenticated = new AtomicBoolean(); + private final AtomicBoolean authenticated = new AtomicBoolean(); private final GlobalTrafficShapingHandler globalTrafficShapingHandler; @@ -1415,7 +1415,7 @@ protected void bytesRead(int numberOfBytes) { } }; - private RequestReadMonitor requestReadMonitor = new RequestReadMonitor() { + private final RequestReadMonitor requestReadMonitor = new RequestReadMonitor() { @Override protected void requestRead(HttpRequest httpRequest) { FlowContext flowContext = flowContext(); @@ -1426,7 +1426,7 @@ protected void requestRead(HttpRequest httpRequest) { } }; - private BytesWrittenMonitor bytesWrittenMonitor = new BytesWrittenMonitor() { + private final BytesWrittenMonitor bytesWrittenMonitor = new BytesWrittenMonitor() { @Override protected void bytesWritten(int numberOfBytes) { FlowContext flowContext = flowContext(); @@ -1437,7 +1437,7 @@ protected void bytesWritten(int numberOfBytes) { } }; - private ResponseWrittenMonitor responseWrittenMonitor = new ResponseWrittenMonitor() { + private final ResponseWrittenMonitor responseWrittenMonitor = new ResponseWrittenMonitor() { @Override protected void responseWritten(HttpResponse httpResponse) { FlowContext flowContext = flowContext(); diff --git a/src/main/java/org/littleshoot/proxy/impl/ConnectionFlow.java b/src/main/java/org/littleshoot/proxy/impl/ConnectionFlow.java index b13295d5..415dbe68 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ConnectionFlow.java +++ b/src/main/java/org/littleshoot/proxy/impl/ConnectionFlow.java @@ -18,7 +18,7 @@ * processing, and so on. */ class ConnectionFlow { - private Deque steps = new ConcurrentLinkedDeque(); + private final Deque steps = new ConcurrentLinkedDeque(); private final ClientToProxyConnection clientConnection; private final ProxyToServerConnection serverConnection; diff --git a/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java b/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java index 037c6926..4c52a626 100644 --- a/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java +++ b/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java @@ -79,7 +79,7 @@ public class DefaultHttpProxyServer implements HttpProxyServer { * The actual address to which the server is bound. May be different from the requestedAddress in some circumstances, * for example when the requested port is 0. */ - private volatile InetSocketAddress localAddress; + private final InetSocketAddress localAddress; private volatile InetSocketAddress boundAddress; private final SslEngineSource sslEngineSource; private final boolean authenticateSslClients; @@ -587,7 +587,7 @@ private static class DefaultHttpProxyServerBootstrap implements HttpProxyServerB private HttpFiltersSource filtersSource = new HttpFiltersSourceAdapter(); private boolean transparent = false; private int idleConnectionTimeout = 70; - private Collection activityTrackers = new ConcurrentLinkedQueue<>(); + private final Collection activityTrackers = new ConcurrentLinkedQueue<>(); private int connectTimeout = 40000; private HostResolver serverResolver = new DefaultHostResolver(); private long readThrottleBytesPerSecond; diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyConnectionLogger.java b/src/main/java/org/littleshoot/proxy/impl/ProxyConnectionLogger.java index 4d5f2892..fb00e89a 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyConnectionLogger.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyConnectionLogger.java @@ -165,7 +165,7 @@ public void doLog(int level, String message, Object[] params, Throwable t) { */ private class LocationAwareLoggerDispatch implements LogDispatch { - private LocationAwareLogger log; + private final LocationAwareLogger log; public LocationAwareLoggerDispatch(LocationAwareLogger log) { this.log = log; diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java index 7fa21a4c..28286a4c 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java @@ -175,7 +175,7 @@ public class ProxyToServerConnection extends ProxyConnection { /** * Limits bandwidth when throttling is enabled. */ - private volatile GlobalTrafficShapingHandler trafficHandler; + private final GlobalTrafficShapingHandler trafficHandler; /** * Minimum size of the adaptive recv buffer when throttling is enabled. @@ -655,7 +655,7 @@ private void removeHandlerIfPresent(String name) { /** * Opens the socket connection. */ - private ConnectionFlowStep ConnectChannel = new ConnectionFlowStep(this, + private final ConnectionFlowStep ConnectChannel = new ConnectionFlowStep(this, CONNECTING) { @Override boolean shouldExecuteOnEventLoop() { @@ -701,7 +701,7 @@ protected void initChannel(Channel ch) { /** * Writes the HTTP CONNECT to the server and waits for a 200 response. */ - private ConnectionFlowStep HTTPCONNECTWithChainedProxy = new ConnectionFlowStep( + private final ConnectionFlowStep HTTPCONNECTWithChainedProxy = new ConnectionFlowStep( this, AWAITING_CONNECT_OK) { protected Future execute() { LOG.debug("Handling CONNECT request through Chained Proxy"); @@ -757,7 +757,7 @@ void read(ConnectionFlow flow, Object msg) { /** * Establishes a SOCKS4 connection. */ - private ConnectionFlowStep SOCKS4CONNECTWithChainedProxy = new ConnectionFlowStep( + private final ConnectionFlowStep SOCKS4CONNECTWithChainedProxy = new ConnectionFlowStep( this, AWAITING_CONNECT_OK) { @Override @@ -799,7 +799,7 @@ void onSuccess(ConnectionFlow flow) { /** * Initiates a SOCKS5 connection. */ - private ConnectionFlowStep SOCKS5InitialRequest = new ConnectionFlowStep( + private final ConnectionFlowStep SOCKS5InitialRequest = new ConnectionFlowStep( this, AWAITING_CONNECT_OK) { @Override @@ -854,7 +854,7 @@ void onSuccess(ConnectionFlow flow) { /** * Sends SOCKS5 password credentials after {@link #SOCKS5InitialRequest} has completed. */ - private ConnectionFlowStep SOCKS5SendPasswordCredentials = new ConnectionFlowStep( + private final ConnectionFlowStep SOCKS5SendPasswordCredentials = new ConnectionFlowStep( this, AWAITING_CONNECT_OK) { @Override @@ -888,7 +888,7 @@ void onSuccess(ConnectionFlow flow) { * Establishes a SOCKS5 connection after {@link #SOCKS5InitialRequest} and * (optionally) {@link #SOCKS5SendPasswordCredentials} have completed. */ - private ConnectionFlowStep SOCKS5CONNECTRequestWithChainedProxy = new ConnectionFlowStep( + private final ConnectionFlowStep SOCKS5CONNECTRequestWithChainedProxy = new ConnectionFlowStep( this, AWAITING_CONNECT_OK) { @Override @@ -930,7 +930,7 @@ void onSuccess(ConnectionFlow flow) { * respond to the CONNECT request. *

    */ - private ConnectionFlowStep MitmEncryptClientChannel = new ConnectionFlowStep( + private final ConnectionFlowStep MitmEncryptClientChannel = new ConnectionFlowStep( this, HANDSHAKING) { @Override boolean shouldExecuteOnEventLoop() { @@ -1233,7 +1233,7 @@ protected void bytesRead(int numberOfBytes) { } }; - private ResponseReadMonitor responseReadMonitor = new ResponseReadMonitor() { + private final ResponseReadMonitor responseReadMonitor = new ResponseReadMonitor() { @Override protected void responseRead(HttpResponse httpResponse) { FullFlowContext flowContext = new FullFlowContext(clientConnection, @@ -1245,7 +1245,7 @@ protected void responseRead(HttpResponse httpResponse) { } }; - private BytesWrittenMonitor bytesWrittenMonitor = new BytesWrittenMonitor() { + private final BytesWrittenMonitor bytesWrittenMonitor = new BytesWrittenMonitor() { @Override protected void bytesWritten(int numberOfBytes) { FullFlowContext flowContext = new FullFlowContext(clientConnection, @@ -1257,7 +1257,7 @@ protected void bytesWritten(int numberOfBytes) { } }; - private RequestWrittenMonitor requestWrittenMonitor = new RequestWrittenMonitor() { + private final RequestWrittenMonitor requestWrittenMonitor = new RequestWrittenMonitor() { @Override protected void requestWriting(HttpRequest httpRequest) { FullFlowContext flowContext = new FullFlowContext(clientConnection, diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java index 6cc56b05..68c3a520 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java @@ -60,7 +60,7 @@ public class ProxyUtils { // Schemes are case-insensitive: // http://tools.ietf.org/html/rfc3986#section-3.1 - private static Pattern HTTP_PREFIX = Pattern.compile("^(http|ws)s?://.*", + private static final Pattern HTTP_PREFIX = Pattern.compile("^(http|ws)s?://.*", Pattern.CASE_INSENSITIVE); /** diff --git a/src/test/java/org/littleshoot/proxy/ChainedProxyWithFallbackTest.java b/src/test/java/org/littleshoot/proxy/ChainedProxyWithFallbackTest.java index 0edb6db1..dab9c497 100644 --- a/src/test/java/org/littleshoot/proxy/ChainedProxyWithFallbackTest.java +++ b/src/test/java/org/littleshoot/proxy/ChainedProxyWithFallbackTest.java @@ -13,7 +13,7 @@ * connection. */ public class ChainedProxyWithFallbackTest extends BaseProxyTest { - private AtomicBoolean unableToConnect = new AtomicBoolean(false); + private final AtomicBoolean unableToConnect = new AtomicBoolean(false); @Override protected void setUp() { diff --git a/src/test/java/org/littleshoot/proxy/MitmProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmProxyTest.java index 4ccd47b8..be08c8c7 100644 --- a/src/test/java/org/littleshoot/proxy/MitmProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmProxyTest.java @@ -19,12 +19,12 @@ * Tests just a single basic proxy running as a man in the middle. */ public class MitmProxyTest extends BaseProxyTest { - private Set requestPreMethodsSeen = new HashSet<>(); - private Set requestPostMethodsSeen = new HashSet<>(); - private StringBuilder responsePreBody = new StringBuilder(); - private StringBuilder responsePostBody = new StringBuilder(); - private Set responsePreOriginalRequestMethodsSeen = new HashSet<>(); - private Set responsePostOriginalRequestMethodsSeen = new HashSet<>(); + private final Set requestPreMethodsSeen = new HashSet<>(); + private final Set requestPostMethodsSeen = new HashSet<>(); + private final StringBuilder responsePreBody = new StringBuilder(); + private final StringBuilder responsePostBody = new StringBuilder(); + private final Set responsePreOriginalRequestMethodsSeen = new HashSet<>(); + private final Set responsePostOriginalRequestMethodsSeen = new HashSet<>(); @Override protected void setUp() { diff --git a/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java index f405e59e..fc4ef457 100644 --- a/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java @@ -20,12 +20,12 @@ * another proxy. */ public class MitmWithChainedProxyTest extends BaseChainedProxyTest { - private Set requestPreMethodsSeen = new HashSet<>(); - private Set requestPostMethodsSeen = new HashSet<>(); - private StringBuilder responsePreBody = new StringBuilder(); - private StringBuilder responsePostBody = new StringBuilder(); - private Set responsePreOriginalRequestMethodsSeen = new HashSet<>(); - private Set responsePostOriginalRequestMethodsSeen = new HashSet<>(); + private final Set requestPreMethodsSeen = new HashSet<>(); + private final Set requestPostMethodsSeen = new HashSet<>(); + private final StringBuilder responsePreBody = new StringBuilder(); + private final StringBuilder responsePostBody = new StringBuilder(); + private final Set responsePreOriginalRequestMethodsSeen = new HashSet<>(); + private final Set responsePostOriginalRequestMethodsSeen = new HashSet<>(); @Override protected void setUp() { diff --git a/src/test/java/org/littleshoot/proxy/ResponseInfo.java b/src/test/java/org/littleshoot/proxy/ResponseInfo.java index 8ad0df24..43d91728 100644 --- a/src/test/java/org/littleshoot/proxy/ResponseInfo.java +++ b/src/test/java/org/littleshoot/proxy/ResponseInfo.java @@ -1,8 +1,8 @@ package org.littleshoot.proxy; public class ResponseInfo { - private int statusCode; - private String body; + private final int statusCode; + private final String body; public ResponseInfo(int statusCode, String body) { super(); diff --git a/src/test/java/org/littleshoot/proxy/haproxy/ProxyProtocolClientHandler.java b/src/test/java/org/littleshoot/proxy/haproxy/ProxyProtocolClientHandler.java index 288439bf..3aa64850 100644 --- a/src/test/java/org/littleshoot/proxy/haproxy/ProxyProtocolClientHandler.java +++ b/src/test/java/org/littleshoot/proxy/haproxy/ProxyProtocolClientHandler.java @@ -11,8 +11,8 @@ public class ProxyProtocolClientHandler extends ChannelInboundHandlerAdapter { private static final String HOST = "http://localhost"; - private int serverPort; - private ProxyProtocolHeader proxyProtocolHeader; + private final int serverPort; + private final ProxyProtocolHeader proxyProtocolHeader; ProxyProtocolClientHandler(int serverPort, ProxyProtocolHeader proxyProtocolHeader) { this.serverPort = serverPort; diff --git a/src/test/java/org/littleshoot/proxy/haproxy/ProxyProtocolHeader.java b/src/test/java/org/littleshoot/proxy/haproxy/ProxyProtocolHeader.java index d989139b..7a354bb2 100644 --- a/src/test/java/org/littleshoot/proxy/haproxy/ProxyProtocolHeader.java +++ b/src/test/java/org/littleshoot/proxy/haproxy/ProxyProtocolHeader.java @@ -2,10 +2,10 @@ class ProxyProtocolHeader { - private String sourceAddress; - private String destinationAddress; - private String sourcePort; - private String destinationPort; + private final String sourceAddress; + private final String destinationAddress; + private final String sourcePort; + private final String destinationPort; ProxyProtocolHeader(String sourceAddress, String destinationAddress, String sourcePort, String destinationPort) { this.sourceAddress = sourceAddress; From 2765302ad69d4511c20ff98f87785cc4944059bb Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 6 May 2022 20:52:18 +0300 Subject: [PATCH 088/973] remove usages of deprecated method $$.stream().forEach() --- .../org/littleshoot/proxy/impl/ClientToProxyConnection.java | 3 +-- .../org/littleshoot/proxy/impl/ProxyToServerConnection.java | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index eb097043..005db9bd 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -510,8 +510,7 @@ private void switchToWebSocketProtocol(final ProxyToServerConnection serverConne this.channel.pipeline().replace(MAIN_HANDLER_NAME, "pipe-to-server", new ProxyConnectionPipeHandler(serverConnection)); } - orderedHandlersToRemove.stream() - .forEach(this::removeHandlerIfPresent); + orderedHandlersToRemove.forEach(this::removeHandlerIfPresent); serverConnection.switchToWebSocketProtocol(); } diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java index 28286a4c..1a1832ff 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java @@ -1210,8 +1210,7 @@ void switchToWebSocketProtocol() { this.channel.pipeline().replace(MAIN_HANDLER_NAME, "pipe-to-client", new ProxyConnectionPipeHandler(clientConnection)); } - orderedHandlersToRemove.stream() - .forEach(this::removeHandlerIfPresent); + orderedHandlersToRemove.forEach(this::removeHandlerIfPresent); } /* ************************************************************************* From 19cf3e152f29a4d0763cf72e6143b9fd60359d2d Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 6 May 2022 20:54:30 +0300 Subject: [PATCH 089/973] remove usages of deprecated method org.junit.Assert.assertThat() --- src/test/java/org/littleshoot/proxy/AbstractProxyTest.java | 2 +- src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java | 2 +- src/test/java/org/littleshoot/proxy/EndToEndStoppingTest.java | 2 +- src/test/java/org/littleshoot/proxy/IdleTest.java | 2 +- src/test/java/org/littleshoot/proxy/KeepAliveTest.java | 2 +- src/test/java/org/littleshoot/proxy/MitmProxyTest.java | 2 +- .../java/org/littleshoot/proxy/MitmWithChainedProxyTest.java | 2 +- src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java | 2 +- src/test/java/org/littleshoot/proxy/ThrottlingTest.java | 2 +- src/test/java/org/littleshoot/proxy/TimeoutTest.java | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java b/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java index 26a53d9e..6174e43c 100644 --- a/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java @@ -21,7 +21,7 @@ import static org.hamcrest.Matchers.greaterThan; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; /** * Base for tests that test the proxy. This base class encapsulates all of the diff --git a/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java index a112cbf0..c567a00f 100644 --- a/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java @@ -12,7 +12,7 @@ import static org.hamcrest.Matchers.in; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; /** * Base class for tests that test a proxy chained to an upstream proxy. In diff --git a/src/test/java/org/littleshoot/proxy/EndToEndStoppingTest.java b/src/test/java/org/littleshoot/proxy/EndToEndStoppingTest.java index 1b8acf85..4d7faa27 100644 --- a/src/test/java/org/littleshoot/proxy/EndToEndStoppingTest.java +++ b/src/test/java/org/littleshoot/proxy/EndToEndStoppingTest.java @@ -27,7 +27,7 @@ import static org.hamcrest.Matchers.greaterThan; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import static org.mockserver.model.HttpRequest.request; import static org.mockserver.model.HttpResponse.response; diff --git a/src/test/java/org/littleshoot/proxy/IdleTest.java b/src/test/java/org/littleshoot/proxy/IdleTest.java index 7102bdff..81858ffd 100644 --- a/src/test/java/org/littleshoot/proxy/IdleTest.java +++ b/src/test/java/org/littleshoot/proxy/IdleTest.java @@ -12,7 +12,7 @@ import java.net.URL; import static org.hamcrest.Matchers.lessThan; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import static org.littleshoot.proxy.TestUtils.disableOnMac; import static org.littleshoot.proxy.TestUtils.requireUnix; diff --git a/src/test/java/org/littleshoot/proxy/KeepAliveTest.java b/src/test/java/org/littleshoot/proxy/KeepAliveTest.java index 3b72b686..daee5586 100644 --- a/src/test/java/org/littleshoot/proxy/KeepAliveTest.java +++ b/src/test/java/org/littleshoot/proxy/KeepAliveTest.java @@ -27,7 +27,7 @@ import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.startsWith; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.Assert.assertTrue; import static org.mockserver.model.HttpRequest.request; import static org.mockserver.model.HttpResponse.response; diff --git a/src/test/java/org/littleshoot/proxy/MitmProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmProxyTest.java index be08c8c7..5949f30b 100644 --- a/src/test/java/org/littleshoot/proxy/MitmProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmProxyTest.java @@ -13,7 +13,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; import static org.hamcrest.Matchers.hasItem; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; /** * Tests just a single basic proxy running as a man in the middle. diff --git a/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java index fc4ef457..131db19f 100644 --- a/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java @@ -13,7 +13,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; import static org.hamcrest.Matchers.hasItem; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; /** * Tests a proxy that runs as a MITM and which is chained with diff --git a/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java b/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java index 93a1ea69..c8560353 100644 --- a/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java +++ b/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java @@ -14,7 +14,7 @@ import org.mockserver.model.ConnectionOptions; import static org.hamcrest.Matchers.emptyArray; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import static org.mockserver.model.HttpRequest.request; import static org.mockserver.model.HttpResponse.response; diff --git a/src/test/java/org/littleshoot/proxy/ThrottlingTest.java b/src/test/java/org/littleshoot/proxy/ThrottlingTest.java index 8e1e354a..7c83ba6c 100644 --- a/src/test/java/org/littleshoot/proxy/ThrottlingTest.java +++ b/src/test/java/org/littleshoot/proxy/ThrottlingTest.java @@ -21,7 +21,7 @@ import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.lessThan; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; @Category(SlowTest.class) @FixMethodOrder(MethodSorters.JVM) diff --git a/src/test/java/org/littleshoot/proxy/TimeoutTest.java b/src/test/java/org/littleshoot/proxy/TimeoutTest.java index 98501154..6477a8ed 100644 --- a/src/test/java/org/littleshoot/proxy/TimeoutTest.java +++ b/src/test/java/org/littleshoot/proxy/TimeoutTest.java @@ -20,7 +20,7 @@ import static org.hamcrest.Matchers.lessThan; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import static org.mockserver.model.HttpRequest.request; import static org.mockserver.model.HttpResponse.response; From 688f1baff3f6ded5d0c57ef762068d561f203bb4 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 6 May 2022 21:00:47 +0300 Subject: [PATCH 090/973] remove usages of deprecated JUnit4 apis --- .../littleshoot/proxy/AbstractProxyTest.java | 10 ++++----- .../littleshoot/proxy/DirectRequestTest.java | 4 +++- .../org/littleshoot/proxy/HttpFilterTest.java | 6 +++++- .../proxy/MessageTerminationTest.java | 4 +++- .../proxy/impl/ProxyUtilsTest.java | 21 ++++++++++++++++--- 5 files changed, 33 insertions(+), 12 deletions(-) diff --git a/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java b/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java index 6174e43c..930a7e38 100644 --- a/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java @@ -176,8 +176,7 @@ protected ResponseInfo httpGetWithApacheClient(HttpHost host, HttpHead request = new HttpHead(resourceUrl); request.setConfig(TestUtils.REQUEST_TIMEOUT_CONFIG); HttpResponse response = httpClient.execute(host, request); - contentLength = new Integer(response.getFirstHeader( - "Content-Length").getValue()); + contentLength = Integer.valueOf(response.getFirstHeader("Content-Length").getValue()); } HttpGet request = new HttpGet(resourceUrl); @@ -188,10 +187,9 @@ protected ResponseInfo httpGetWithApacheClient(HttpHost host, if (contentLength != null) { assertEquals( - "Content-Length from GET should match that from HEAD", - contentLength, - new Integer(response.getFirstHeader("Content-Length") - .getValue())); + "Content-Length from GET should match that from HEAD", + contentLength, + Integer.valueOf(response.getFirstHeader("Content-Length").getValue())); } return new ResponseInfo(response.getStatusLine().getStatusCode(), EntityUtils.toString(resEntity)); diff --git a/src/test/java/org/littleshoot/proxy/DirectRequestTest.java b/src/test/java/org/littleshoot/proxy/DirectRequestTest.java index 5b93546b..3f1d758a 100644 --- a/src/test/java/org/littleshoot/proxy/DirectRequestTest.java +++ b/src/test/java/org/littleshoot/proxy/DirectRequestTest.java @@ -11,7 +11,9 @@ import java.util.concurrent.atomic.AtomicBoolean; import static org.hamcrest.Matchers.instanceOf; -import static org.junit.Assert.*; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; /** * This class tests direct requests to the proxy server, which causes endless diff --git a/src/test/java/org/littleshoot/proxy/HttpFilterTest.java b/src/test/java/org/littleshoot/proxy/HttpFilterTest.java index c77277ed..96fadff1 100644 --- a/src/test/java/org/littleshoot/proxy/HttpFilterTest.java +++ b/src/test/java/org/littleshoot/proxy/HttpFilterTest.java @@ -25,8 +25,12 @@ import java.util.concurrent.atomic.AtomicLongArray; import java.util.concurrent.atomic.AtomicReference; +import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.lessThan; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import static org.mockserver.model.HttpRequest.request; diff --git a/src/test/java/org/littleshoot/proxy/MessageTerminationTest.java b/src/test/java/org/littleshoot/proxy/MessageTerminationTest.java index a7f05737..dc27b81c 100644 --- a/src/test/java/org/littleshoot/proxy/MessageTerminationTest.java +++ b/src/test/java/org/littleshoot/proxy/MessageTerminationTest.java @@ -14,9 +14,11 @@ import org.mockserver.matchers.Times; import org.mockserver.model.ConnectionOptions; +import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.emptyArray; import static org.hamcrest.Matchers.greaterThanOrEqualTo; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; import static org.mockserver.model.HttpRequest.request; import static org.mockserver.model.HttpResponse.response; diff --git a/src/test/java/org/littleshoot/proxy/impl/ProxyUtilsTest.java b/src/test/java/org/littleshoot/proxy/impl/ProxyUtilsTest.java index 53be3450..bf7217ae 100644 --- a/src/test/java/org/littleshoot/proxy/impl/ProxyUtilsTest.java +++ b/src/test/java/org/littleshoot/proxy/impl/ProxyUtilsTest.java @@ -1,6 +1,16 @@ package org.littleshoot.proxy.impl; -import io.netty.handler.codec.http.*; +import io.netty.handler.codec.http.DefaultFullHttpRequest; +import io.netty.handler.codec.http.DefaultHttpHeaders; +import io.netty.handler.codec.http.DefaultHttpMessage; +import io.netty.handler.codec.http.DefaultHttpResponse; +import io.netty.handler.codec.http.HttpHeaderNames; +import io.netty.handler.codec.http.HttpHeaders; +import io.netty.handler.codec.http.HttpMessage; +import io.netty.handler.codec.http.HttpMethod; +import io.netty.handler.codec.http.HttpResponse; +import io.netty.handler.codec.http.HttpResponseStatus; +import io.netty.handler.codec.http.HttpVersion; import org.junit.Test; import java.util.ArrayList; @@ -8,8 +18,13 @@ import java.util.List; import static java.util.Collections.singletonList; -import static org.hamcrest.Matchers.*; -import static org.junit.Assert.*; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.empty; +import static org.hamcrest.Matchers.hasSize; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; /** * Test for proxy utilities. From 901502ffbfaa9da7d9fb06b9e1919f2a5289eb2b Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 6 May 2022 21:09:23 +0300 Subject: [PATCH 091/973] replace http: by https: --- pom.xml | 2 +- .../proxy/extras/HAProxyMessageEncoder.java | 2 +- .../proxy/impl/ClientToProxyConnection.java | 2 +- .../java/org/littleshoot/proxy/impl/ProxyUtils.java | 10 +++++----- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index bacadaf4..3bf5aea9 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0 + https://www.apache.org/licenses/LICENSE-2.0 diff --git a/src/main/java/org/littleshoot/proxy/extras/HAProxyMessageEncoder.java b/src/main/java/org/littleshoot/proxy/extras/HAProxyMessageEncoder.java index a58fb928..a8119902 100644 --- a/src/main/java/org/littleshoot/proxy/extras/HAProxyMessageEncoder.java +++ b/src/main/java/org/littleshoot/proxy/extras/HAProxyMessageEncoder.java @@ -7,7 +7,7 @@ /** * Encodes an HAProxy proxy protocol header * - * @see Proxy Protocol Specification + * @see Proxy Protocol Specification */ public class HAProxyMessageEncoder extends MessageToByteEncoder { diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index 005db9bd..d45f86dd 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -383,7 +383,7 @@ OPTIONS request (as detailed below), a client MUST send the target URI in absolute-form as the request-target. [...] An example absolute-form of request-line would be: - GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1 + GET https://www.example.org/pub/WWW/TheProject.html HTTP/1.1 To allow for transition to the absolute-form for all requests in some future version of HTTP, a server MUST accept the absolute-form in requests, even though HTTP/1.1 clients will only send them in diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java index 68c3a520..04320cf3 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java @@ -26,7 +26,7 @@ public class ProxyUtils { /** * Hop-by-hop headers that should be removed when proxying, as defined by the HTTP 1.1 spec, section 13.5.1 - * (http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.5.1). Transfer-Encoding is NOT included in this list, since LittleProxy + * (https://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.5.1). Transfer-Encoding is NOT included in this list, since LittleProxy * does not typically modify the transfer encoding. See also {@link #shouldRemoveHopByHopHeader(String)}. * * Header names are stored as lowercase to make case-insensitive comparisons easier. @@ -59,12 +59,12 @@ public class ProxyUtils { private static final String PATTERN_RFC1123 = "EEE, dd MMM yyyy HH:mm:ss zzz"; // Schemes are case-insensitive: - // http://tools.ietf.org/html/rfc3986#section-3.1 + // https://tools.ietf.org/html/rfc3986#section-3.1 private static final Pattern HTTP_PREFIX = Pattern.compile("^(http|ws)s?://.*", Pattern.CASE_INSENSITIVE); /** - * Strips the host from a URI string. This will turn "http://host.com/path" + * Strips the host from a URI string. This will turn "https://host.com/path" * into "/path". * * @param uri @@ -338,7 +338,7 @@ public static boolean isContentAlwaysEmpty(HttpMessage msg) { // Correctly handle return codes of 1xx. // // See: - // - http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html Section 4.4 + // - https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html Section 4.4 // - https://github.com/netty/netty/issues/222 if (code >= 100 && code < 200) { // According to RFC 7231, section 6.1, 1xx responses have no content (https://tools.ietf.org/html/rfc7231#section-6.2): @@ -495,7 +495,7 @@ public static String getHostName() { /** * Determines if the specified header should be removed from the proxied response because it is a hop-by-hop header, as defined by the * HTTP 1.1 spec in section 13.5.1. The comparison is case-insensitive, so "Connection" will be treated the same as "connection" or "CONNECTION". - * From http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.5.1 : + * From https://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.5.1 : *
            The following HTTP/1.1 headers are hop-by-hop headers:
             - Connection
    
    From 55cb9ff11f37676ee15a4fdc635dbfe5db8f5cce Mon Sep 17 00:00:00 2001
    From: Andrei Solntsev 
    Date: Fri, 6 May 2022 22:46:18 +0300
    Subject: [PATCH 092/973] release LittleProxy 2.0.8
    
    ---
     README.md        |  4 ++--
     RELEASE_NOTES.md | 13 ++++++++++---
     pom.xml          |  4 ++--
     3 files changed, 14 insertions(+), 7 deletions(-)
    
    diff --git a/README.md b/README.md
    index dc4b514f..064615d2 100644
    --- a/README.md
    +++ b/README.md
    @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following:
         
             xyz.rogfam
             littleproxy
    -        2.0.7
    +        2.0.8
         
     ```
     
     Or with Gradle like this
     
    -`compile "xyz.rogfam:littleproxy:2.0.7"`
    +`compile "xyz.rogfam:littleproxy:2.0.8"`
     
     Once you've included LittleProxy, you can start the server with the following:
     
    diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
    index 1cd1c836..7ce9cedc 100644
    --- a/RELEASE_NOTES.md
    +++ b/RELEASE_NOTES.md
    @@ -1,9 +1,16 @@
     # Release Notes
     
     - 2.0.8
    -  - Bumped log4j-core from 2.17.0 to 2.17.1
    -  - Bumped netty from 4.1.71 to 4.1.72
    -  - Bumped slf4j from 1.7.30 to 1.7.32
    +  - #26 fixed TLS 1.3 handshake bug  --  thanks Dan Powell for PR https://github.com/LittleProxy/LittleProxy/pull/26
    +  - Bumped log4j-core from 2.17.0 to 2.17.2
    +  - Bumped netty from 4.1.71 to 4.1.76
    +  - Bumped slf4j from 1.7.30 to 1.7.36
    +  - Bumped jackson from 2.11.3 to 2.12.6.1
    +  - Bumped guava from 30.1-jre to 31.1-jre
    +  - Bumped commons-cli from 1.4 to 1.5.0
    +  - Relocated slf4j-log4j to slf4j-reload4j
    +  - moved the project to https://github.com/LittleProxy/LittleProxy
    +  - moved CI from Travis to https://github.com/LittleProxy/LittleProxy/actions
     
     - 2.0.7
       - Bumped log4j-core from 2.16.0 to 2.17.0
    diff --git a/pom.xml b/pom.xml
    index 3bf5aea9..e492d872 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -3,7 +3,7 @@
         xyz.rogfam
         littleproxy
         jar
    -    2.0.8-SNAPSHOT
    +    2.0.8
         LittleProxy
         
             LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework.
    @@ -508,7 +508,7 @@
                     
                         org.apache.maven.plugins
                         maven-gpg-plugin
    -                    1.6
    +                    3.0.1
                     
     
                     
    
    From d9c7ef7a2d50241e11e8a83c7433275de8de7209 Mon Sep 17 00:00:00 2001
    From: Andrei Solntsev 
    Date: Fri, 6 May 2022 22:54:50 +0300
    Subject: [PATCH 093/973] ignore (generated) file dependency-reduced-pom.xml
    
    ---
     .gitignore | 1 +
     1 file changed, 1 insertion(+)
    
    diff --git a/.gitignore b/.gitignore
    index eb7fa26c..f17f9143 100644
    --- a/.gitignore
    +++ b/.gitignore
    @@ -9,6 +9,7 @@ log.txt
     *.DS_Store
     *.orig
     target/
    +dependency-reduced-pom.xml
     .idea/
     jmeter.log
     lib/
    
    From 1ac61cc6df6001d33edb89a546310c63083bf6c8 Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 9 May 2022 01:43:45 +0000
    Subject: [PATCH 094/973] Bump selenium-java from 3.141.59 to 4.1.4
    
    Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 3.141.59 to 4.1.4.
    - [Release notes](https://github.com/SeleniumHQ/selenium/releases)
    - [Commits](https://github.com/SeleniumHQ/selenium/commits)
    
    ---
    updated-dependencies:
    - dependency-name: org.seleniumhq.selenium:selenium-java
      dependency-type: direct:development
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index e492d872..dbb20b1d 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -222,7 +222,7 @@
             
                 org.seleniumhq.selenium
                 selenium-java
    -            3.141.59
    +            4.1.4
                 test
                 
                     
    
    From 03fd5fbeacd40329a082193372a3fd0225895a92 Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 9 May 2022 01:43:09 +0000
    Subject: [PATCH 095/973] Bump netty.version from 4.1.76.Final to 4.1.77.Final
    
    Bumps `netty.version` from 4.1.76.Final to 4.1.77.Final.
    
    Updates `netty-all` from 4.1.76.Final to 4.1.77.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.76.Final...netty-4.1.77.Final)
    
    Updates `netty-example` from 4.1.76.Final to 4.1.77.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.76.Final...netty-4.1.77.Final)
    
    Updates `netty-buffer` from 4.1.76.Final to 4.1.77.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.76.Final...netty-4.1.77.Final)
    
    Updates `netty-codec` from 4.1.76.Final to 4.1.77.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.76.Final...netty-4.1.77.Final)
    
    Updates `netty-codec-haproxy` from 4.1.76.Final to 4.1.77.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.76.Final...netty-4.1.77.Final)
    
    Updates `netty-codec-http` from 4.1.76.Final to 4.1.77.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.76.Final...netty-4.1.77.Final)
    
    Updates `netty-codec-socks` from 4.1.76.Final to 4.1.77.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.76.Final...netty-4.1.77.Final)
    
    Updates `netty-common` from 4.1.76.Final to 4.1.77.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.76.Final...netty-4.1.77.Final)
    
    Updates `netty-handler` from 4.1.76.Final to 4.1.77.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.76.Final...netty-4.1.77.Final)
    
    Updates `netty-handler-proxy` from 4.1.76.Final to 4.1.77.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.76.Final...netty-4.1.77.Final)
    
    Updates `netty-transport` from 4.1.76.Final to 4.1.77.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.76.Final...netty-4.1.77.Final)
    
    Updates `netty-transport-rxtx` from 4.1.76.Final to 4.1.77.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.76.Final...netty-4.1.77.Final)
    
    Updates `netty-transport-sctp` from 4.1.76.Final to 4.1.77.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.76.Final...netty-4.1.77.Final)
    
    Updates `netty-transport-udp` from 4.1.76.Final to 4.1.77.Final
    
    ---
    updated-dependencies:
    - dependency-name: io.netty:netty-all
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-example
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-buffer
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-codec
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-codec-haproxy
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-codec-http
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-codec-socks
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-common
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-handler
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-handler-proxy
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-transport
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-transport-rxtx
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-transport-sctp
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-transport-udp
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index dbb20b1d..f391ed82 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -14,7 +14,7 @@
             UTF-8
             UTF-8
             github
    -        4.1.76.Final
    +        4.1.77.Final
             1.7.36
             1.8
         
    
    From 5504be3efa3e1e144f41b8e772f4a67df21db45e Mon Sep 17 00:00:00 2001
    From: Andrei Solntsev 
    Date: Tue, 10 May 2022 10:26:41 +0300
    Subject: [PATCH 096/973] #115 reverted to maven-shade-plugin 3.2.4 (because
     3.3.0 generated artifact without compile/runtime dependencies)
    
    ---
     README.md        | 4 ++--
     RELEASE_NOTES.md | 3 +++
     pom.xml          | 4 ++--
     3 files changed, 7 insertions(+), 4 deletions(-)
    
    diff --git a/README.md b/README.md
    index 064615d2..ede41142 100644
    --- a/README.md
    +++ b/README.md
    @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following:
         
             xyz.rogfam
             littleproxy
    -        2.0.8
    +        2.0.9
         
     ```
     
     Or with Gradle like this
     
    -`compile "xyz.rogfam:littleproxy:2.0.8"`
    +`compile "xyz.rogfam:littleproxy:2.0.9"`
     
     Once you've included LittleProxy, you can start the server with the following:
     
    diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
    index 7ce9cedc..bca28f31 100644
    --- a/RELEASE_NOTES.md
    +++ b/RELEASE_NOTES.md
    @@ -1,5 +1,8 @@
     # Release Notes
     
    +- 2.0.9
    +  - #115 reverted to maven-shade-plugin 3.2.4 (because 3.3.0 generated artifact without compile/runtime dependencies)
    +
     - 2.0.8
       - #26 fixed TLS 1.3 handshake bug  --  thanks Dan Powell for PR https://github.com/LittleProxy/LittleProxy/pull/26
       - Bumped log4j-core from 2.17.0 to 2.17.2
    diff --git a/pom.xml b/pom.xml
    index f391ed82..fb50a6ad 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -3,7 +3,7 @@
         xyz.rogfam
         littleproxy
         jar
    -    2.0.8
    +    2.0.9
         LittleProxy
         
             LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework.
    @@ -542,7 +542,7 @@
                 
                     org.apache.maven.plugins
                     maven-shade-plugin
    -                3.3.0
    +                3.2.4
                     
                         
                             package
    
    From df698fc4be2ce428a21c1c880f60dfd891487885 Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 16 May 2022 01:05:18 +0000
    Subject: [PATCH 097/973] Bump dnsjava from 3.5.0 to 3.5.1
    
    Bumps [dnsjava](https://github.com/dnsjava/dnsjava) from 3.5.0 to 3.5.1.
    - [Release notes](https://github.com/dnsjava/dnsjava/releases)
    - [Changelog](https://github.com/dnsjava/dnsjava/blob/v3.5.1/Changelog)
    - [Commits](https://github.com/dnsjava/dnsjava/compare/v3.5.0...v3.5.1)
    
    ---
    updated-dependencies:
    - dependency-name: dnsjava:dnsjava
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index fb50a6ad..f32a82de 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -278,7 +278,7 @@
             
                 dnsjava
                 dnsjava
    -            3.5.0
    +            3.5.1
                 true
             
     
    
    From 23298ad5aa34551fe9b9395e5dc06ebf6bc9c701 Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 23 May 2022 01:11:16 +0000
    Subject: [PATCH 098/973] Bump versions-maven-plugin from 2.10.0 to 2.11.0
    
    Bumps [versions-maven-plugin](https://github.com/mojohaus/versions-maven-plugin) from 2.10.0 to 2.11.0.
    - [Release notes](https://github.com/mojohaus/versions-maven-plugin/releases)
    - [Changelog](https://github.com/mojohaus/versions-maven-plugin/blob/master/ReleaseNotes.md)
    - [Commits](https://github.com/mojohaus/versions-maven-plugin/compare/versions-maven-plugin-2.10.0...versions-maven-plugin-2.11.0)
    
    ---
    updated-dependencies:
    - dependency-name: org.codehaus.mojo:versions-maven-plugin
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index f32a82de..38abce8f 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -701,7 +701,7 @@
                 
                     org.codehaus.mojo
                     versions-maven-plugin
    -                2.10.0
    +                2.11.0
                     
                         
                             
    
    From 0340e2c13902546e12d0f1d2bdc44402ce3e3bdb Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 9 May 2022 01:43:51 +0000
    Subject: [PATCH 099/973] Bump taglist-maven-plugin from 2.4 to 3.0.0
    
    Bumps [taglist-maven-plugin](https://github.com/mojohaus/taglist-maven-plugin) from 2.4 to 3.0.0.
    - [Release notes](https://github.com/mojohaus/taglist-maven-plugin/releases)
    - [Commits](https://github.com/mojohaus/taglist-maven-plugin/compare/taglist-maven-plugin-2.4...taglist-maven-plugin-3.0.0)
    
    ---
    updated-dependencies:
    - dependency-name: org.codehaus.mojo:taglist-maven-plugin
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index 38abce8f..8265bec1 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -717,7 +717,7 @@
                 
                     org.codehaus.mojo
                     taglist-maven-plugin
    -                2.4
    +                3.0.0
                     
                         true
                         
    
    From fd7fe3d06bb0e0610db05667839397c933b94fba Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 30 May 2022 01:13:28 +0000
    Subject: [PATCH 100/973] Bump selenium-java from 4.1.4 to 4.2.0
    
    Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.1.4 to 4.2.0.
    - [Release notes](https://github.com/SeleniumHQ/selenium/releases)
    - [Commits](https://github.com/SeleniumHQ/selenium/commits/selenium-4.2.0)
    
    ---
    updated-dependencies:
    - dependency-name: org.seleniumhq.selenium:selenium-java
      dependency-type: direct:development
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index 8265bec1..97b92bbc 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -222,7 +222,7 @@
             
                 org.seleniumhq.selenium
                 selenium-java
    -            4.1.4
    +            4.2.0
                 test
                 
                     
    
    From 88d1cefd33d2d4c10fc7cc7700ff9d8927f377ee Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 6 Jun 2022 01:05:19 +0000
    Subject: [PATCH 101/973] Bump maven-pmd-plugin from 3.16.0 to 3.17.0
    
    Bumps [maven-pmd-plugin](https://github.com/apache/maven-pmd-plugin) from 3.16.0 to 3.17.0.
    - [Release notes](https://github.com/apache/maven-pmd-plugin/releases)
    - [Commits](https://github.com/apache/maven-pmd-plugin/compare/maven-pmd-plugin-3.16.0...maven-pmd-plugin-3.17.0)
    
    ---
    updated-dependencies:
    - dependency-name: org.apache.maven.plugins:maven-pmd-plugin
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index 97b92bbc..042809a2 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -689,7 +689,7 @@
                 
                     org.apache.maven.plugins
                     maven-pmd-plugin
    -                3.16.0
    +                3.17.0
                     
                         true
                         utf-8
    
    From a20dd2988e9a1226e07582ab47f2cb15f1a62dec Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 6 Jun 2022 01:05:03 +0000
    Subject: [PATCH 102/973] Bump selenium-java from 4.2.0 to 4.2.1
    
    Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.2.0 to 4.2.1.
    - [Release notes](https://github.com/SeleniumHQ/selenium/releases)
    - [Commits](https://github.com/SeleniumHQ/selenium/commits)
    
    ---
    updated-dependencies:
    - dependency-name: org.seleniumhq.selenium:selenium-java
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index 042809a2..a539ab10 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -222,7 +222,7 @@
             
                 org.seleniumhq.selenium
                 selenium-java
    -            4.2.0
    +            4.2.1
                 test
                 
                     
    
    From e89182c78b92f006760e6d3f8909f463e7ff27b0 Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 6 Jun 2022 01:04:49 +0000
    Subject: [PATCH 103/973] Bump mockito-core from 4.5.1 to 4.6.1
    
    Bumps [mockito-core](https://github.com/mockito/mockito) from 4.5.1 to 4.6.1.
    - [Release notes](https://github.com/mockito/mockito/releases)
    - [Commits](https://github.com/mockito/mockito/compare/v4.5.1...v4.6.1)
    
    ---
    updated-dependencies:
    - dependency-name: org.mockito:mockito-core
      dependency-type: direct:development
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index a539ab10..92eb2362 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -202,7 +202,7 @@
             
                 org.mockito
                 mockito-core
    -            4.5.1
    +            4.6.1
                 test
             
     
    
    From 0d5984dbf79c842cff1c8503bf129b0cd44b162b Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 13 Jun 2022 01:04:41 +0000
    Subject: [PATCH 104/973] Bump maven-surefire-plugin from 3.0.0-M6 to 3.0.0-M7
    
    Bumps [maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.0.0-M6 to 3.0.0-M7.
    - [Release notes](https://github.com/apache/maven-surefire/releases)
    - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.0.0-M6...surefire-3.0.0-M7)
    
    ---
    updated-dependencies:
    - dependency-name: org.apache.maven.plugins:maven-surefire-plugin
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index 92eb2362..a609b9d6 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -502,7 +502,7 @@
                     
                         org.apache.maven.plugins
                         maven-surefire-plugin
    -                    3.0.0-M6
    +                    3.0.0-M7
                     
     
                     
    
    From 9c7c2bba4f84512a5e89813d3e5d763387981512 Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 13 Jun 2022 01:04:31 +0000
    Subject: [PATCH 105/973] Bump selenium-java from 4.2.1 to 4.2.2
    
    Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.2.1 to 4.2.2.
    - [Release notes](https://github.com/SeleniumHQ/selenium/releases)
    - [Commits](https://github.com/SeleniumHQ/selenium/commits)
    
    ---
    updated-dependencies:
    - dependency-name: org.seleniumhq.selenium:selenium-java
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index a609b9d6..b8028942 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -222,7 +222,7 @@
             
                 org.seleniumhq.selenium
                 selenium-java
    -            4.2.1
    +            4.2.2
                 test
                 
                     
    
    From a24567af8221f73bdc744cc7f27c4805735b4a5b Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 13 Jun 2022 01:04:24 +0000
    Subject: [PATCH 106/973] Bump maven-surefire-report-plugin from 3.0.0-M6 to
     3.0.0-M7
    
    Bumps [maven-surefire-report-plugin](https://github.com/apache/maven-surefire) from 3.0.0-M6 to 3.0.0-M7.
    - [Release notes](https://github.com/apache/maven-surefire/releases)
    - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.0.0-M6...surefire-3.0.0-M7)
    
    ---
    updated-dependencies:
    - dependency-name: org.apache.maven.plugins:maven-surefire-report-plugin
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index b8028942..f7cdac19 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -640,7 +640,7 @@
                 
                     org.apache.maven.plugins
                     maven-surefire-report-plugin
    -                3.0.0-M6
    +                3.0.0-M7
                     
                         false
                     
    
    From be036af3c695d089517ebf8758b5b0a88662cfe7 Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 13 Jun 2022 01:04:18 +0000
    Subject: [PATCH 107/973] Bump maven-enforcer-plugin from 3.0.0 to 3.1.0
    
    Bumps [maven-enforcer-plugin](https://github.com/apache/maven-enforcer) from 3.0.0 to 3.1.0.
    - [Release notes](https://github.com/apache/maven-enforcer/releases)
    - [Commits](https://github.com/apache/maven-enforcer/compare/enforcer-3.0.0...enforcer-3.1.0)
    
    ---
    updated-dependencies:
    - dependency-name: org.apache.maven.plugins:maven-enforcer-plugin
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index f7cdac19..afe2b431 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -417,7 +417,7 @@
                     
                         org.apache.maven.plugins
                         maven-enforcer-plugin
    -                    3.0.0
    +                    3.1.0
                     
     
                     
    
    From 2b99e90bdf9380b2d7c7cee0a22573c5453380a2 Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 20 Jun 2022 01:10:58 +0000
    Subject: [PATCH 108/973] Bump netty.version from 4.1.77.Final to 4.1.78.Final
    
    Bumps `netty.version` from 4.1.77.Final to 4.1.78.Final.
    
    Updates `netty-all` from 4.1.77.Final to 4.1.78.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.77.Final...netty-4.1.78.Final)
    
    Updates `netty-example` from 4.1.77.Final to 4.1.78.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.77.Final...netty-4.1.78.Final)
    
    Updates `netty-buffer` from 4.1.77.Final to 4.1.78.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.77.Final...netty-4.1.78.Final)
    
    Updates `netty-codec` from 4.1.77.Final to 4.1.78.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.77.Final...netty-4.1.78.Final)
    
    Updates `netty-codec-haproxy` from 4.1.77.Final to 4.1.78.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.77.Final...netty-4.1.78.Final)
    
    Updates `netty-codec-http` from 4.1.77.Final to 4.1.78.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.77.Final...netty-4.1.78.Final)
    
    Updates `netty-codec-socks` from 4.1.77.Final to 4.1.78.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.77.Final...netty-4.1.78.Final)
    
    Updates `netty-common` from 4.1.77.Final to 4.1.78.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.77.Final...netty-4.1.78.Final)
    
    Updates `netty-handler` from 4.1.77.Final to 4.1.78.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.77.Final...netty-4.1.78.Final)
    
    Updates `netty-handler-proxy` from 4.1.77.Final to 4.1.78.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.77.Final...netty-4.1.78.Final)
    
    Updates `netty-transport` from 4.1.77.Final to 4.1.78.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.77.Final...netty-4.1.78.Final)
    
    Updates `netty-transport-rxtx` from 4.1.77.Final to 4.1.78.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.77.Final...netty-4.1.78.Final)
    
    Updates `netty-transport-sctp` from 4.1.77.Final to 4.1.78.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.77.Final...netty-4.1.78.Final)
    
    Updates `netty-transport-udp` from 4.1.77.Final to 4.1.78.Final
    
    ---
    updated-dependencies:
    - dependency-name: io.netty:netty-all
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-example
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-buffer
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-codec
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-codec-haproxy
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-codec-http
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-codec-socks
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-common
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-handler
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-handler-proxy
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-transport
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-transport-rxtx
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-transport-sctp
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-transport-udp
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index afe2b431..c0b5f9ed 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -14,7 +14,7 @@
             UTF-8
             UTF-8
             github
    -        4.1.77.Final
    +        4.1.78.Final
             1.7.36
             1.8
         
    
    From 2b0949623ba42f40408d4c42463564123a54705e Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 27 Jun 2022 01:49:07 +0000
    Subject: [PATCH 109/973] Bump selenium-java from 4.2.2 to 4.3.0
    
    Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.2.2 to 4.3.0.
    - [Release notes](https://github.com/SeleniumHQ/selenium/releases)
    - [Commits](https://github.com/SeleniumHQ/selenium/commits/selenium-4.3.0)
    
    ---
    updated-dependencies:
    - dependency-name: org.seleniumhq.selenium:selenium-java
      dependency-type: direct:development
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index c0b5f9ed..87f585fd 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -222,7 +222,7 @@
             
                 org.seleniumhq.selenium
                 selenium-java
    -            4.2.2
    +            4.3.0
                 test
                 
                     
    
    From 3f2a03151f9b6f6de25da51040b0ed09541eeb53 Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 4 Jul 2022 01:04:04 +0000
    Subject: [PATCH 110/973] Bump log4j-core from 2.17.2 to 2.18.0
    
    Bumps log4j-core from 2.17.2 to 2.18.0.
    
    ---
    updated-dependencies:
    - dependency-name: org.apache.logging.log4j:log4j-core
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index 87f585fd..07afdf94 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -235,7 +235,7 @@
             
                 org.apache.logging.log4j
                 log4j-core
    -            2.17.2
    +            2.18.0
                 true
             
     
    
    From dd148985aabafc7fef2e229be93c71b1598deed1 Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 18 Jul 2022 01:13:24 +0000
    Subject: [PATCH 111/973] Bump maven-project-info-reports-plugin from 3.3.0 to
     3.4.0
    
    Bumps [maven-project-info-reports-plugin](https://github.com/apache/maven-project-info-reports-plugin) from 3.3.0 to 3.4.0.
    - [Release notes](https://github.com/apache/maven-project-info-reports-plugin/releases)
    - [Commits](https://github.com/apache/maven-project-info-reports-plugin/compare/maven-project-info-reports-plugin-3.3.0...maven-project-info-reports-plugin-3.4.0)
    
    ---
    updated-dependencies:
    - dependency-name: org.apache.maven.plugins:maven-project-info-reports-plugin
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index 07afdf94..65f793c3 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -629,7 +629,7 @@
                 
                     org.apache.maven.plugins
                     maven-project-info-reports-plugin
    -                3.3.0
    +                3.4.0
                 
     
                 
    
    From 5270cf15fe56ec42b6531b5214509e83f57d7a0d Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 18 Jul 2022 01:12:44 +0000
    Subject: [PATCH 112/973] Bump netty.version from 4.1.78.Final to 4.1.79.Final
    
    Bumps `netty.version` from 4.1.78.Final to 4.1.79.Final.
    
    Updates `netty-all` from 4.1.78.Final to 4.1.79.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.78.Final...netty-4.1.79.Final)
    
    Updates `netty-example` from 4.1.78.Final to 4.1.79.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.78.Final...netty-4.1.79.Final)
    
    Updates `netty-buffer` from 4.1.78.Final to 4.1.79.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.78.Final...netty-4.1.79.Final)
    
    Updates `netty-codec` from 4.1.78.Final to 4.1.79.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.78.Final...netty-4.1.79.Final)
    
    Updates `netty-codec-haproxy` from 4.1.78.Final to 4.1.79.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.78.Final...netty-4.1.79.Final)
    
    Updates `netty-codec-http` from 4.1.78.Final to 4.1.79.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.78.Final...netty-4.1.79.Final)
    
    Updates `netty-codec-socks` from 4.1.78.Final to 4.1.79.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.78.Final...netty-4.1.79.Final)
    
    Updates `netty-common` from 4.1.78.Final to 4.1.79.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.78.Final...netty-4.1.79.Final)
    
    Updates `netty-handler` from 4.1.78.Final to 4.1.79.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.78.Final...netty-4.1.79.Final)
    
    Updates `netty-handler-proxy` from 4.1.78.Final to 4.1.79.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.78.Final...netty-4.1.79.Final)
    
    Updates `netty-transport` from 4.1.78.Final to 4.1.79.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.78.Final...netty-4.1.79.Final)
    
    Updates `netty-transport-rxtx` from 4.1.78.Final to 4.1.79.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.78.Final...netty-4.1.79.Final)
    
    Updates `netty-transport-sctp` from 4.1.78.Final to 4.1.79.Final
    - [Release notes](https://github.com/netty/netty/releases)
    - [Commits](https://github.com/netty/netty/compare/netty-4.1.78.Final...netty-4.1.79.Final)
    
    Updates `netty-transport-udp` from 4.1.78.Final to 4.1.79.Final
    
    ---
    updated-dependencies:
    - dependency-name: io.netty:netty-all
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-example
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-buffer
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-codec
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-codec-haproxy
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-codec-http
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-codec-socks
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-common
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-handler
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-handler-proxy
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-transport
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-transport-rxtx
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-transport-sctp
      dependency-type: direct:production
      update-type: version-update:semver-patch
    - dependency-name: io.netty:netty-transport-udp
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index 65f793c3..05dd4c7a 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -14,7 +14,7 @@
             UTF-8
             UTF-8
             github
    -        4.1.78.Final
    +        4.1.79.Final
             1.7.36
             1.8
         
    
    From 278ad7b5620966e287b7bd4df6aab5e0c7fa97b3 Mon Sep 17 00:00:00 2001
    From: Andrei Solntsev 
    Date: Wed, 20 Jul 2022 11:24:47 +0300
    Subject: [PATCH 113/973] release LittleProxy 2.0.10
    
    ---
     README.md        | 4 ++--
     RELEASE_NOTES.md | 5 +++++
     pom.xml          | 2 +-
     3 files changed, 8 insertions(+), 3 deletions(-)
    
    diff --git a/README.md b/README.md
    index ede41142..2f6c9d0a 100644
    --- a/README.md
    +++ b/README.md
    @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following:
         
             xyz.rogfam
             littleproxy
    -        2.0.9
    +        2.0.10
         
     ```
     
     Or with Gradle like this
     
    -`compile "xyz.rogfam:littleproxy:2.0.9"`
    +`compile "xyz.rogfam:littleproxy:2.0.10"`
     
     Once you've included LittleProxy, you can start the server with the following:
     
    diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
    index bca28f31..2979126a 100644
    --- a/RELEASE_NOTES.md
    +++ b/RELEASE_NOTES.md
    @@ -1,5 +1,10 @@
     # Release Notes
     
    +- 2.0.10
    +  - #135 Bump netty.version from 4.1.77.Final to 4.1.79.Final
    +  - #132 Bump selenium-java from 4.1.4 to 4.3.0
    +  - #118 Bump dnsjava from 3.5.0 to 3.5.1
    +
     - 2.0.9
       - #115 reverted to maven-shade-plugin 3.2.4 (because 3.3.0 generated artifact without compile/runtime dependencies)
     
    diff --git a/pom.xml b/pom.xml
    index 05dd4c7a..a71ce1b7 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -3,7 +3,7 @@
         xyz.rogfam
         littleproxy
         jar
    -    2.0.9
    +    2.0.10
         LittleProxy
         
             LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework.
    
    From 582825fdc6c858a2c0864590600ccebdb030acf9 Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 25 Jul 2022 00:50:19 +0000
    Subject: [PATCH 114/973] Bump maven-deploy-plugin from 3.0.0-M2 to 3.0.0
    
    Bumps [maven-deploy-plugin](https://github.com/apache/maven-deploy-plugin) from 3.0.0-M2 to 3.0.0.
    - [Release notes](https://github.com/apache/maven-deploy-plugin/releases)
    - [Commits](https://github.com/apache/maven-deploy-plugin/compare/maven-deploy-plugin-3.0.0-M2...maven-deploy-plugin-3.0.0)
    
    ---
    updated-dependencies:
    - dependency-name: org.apache.maven.plugins:maven-deploy-plugin
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index a71ce1b7..dfe88d7c 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -447,7 +447,7 @@
                     
                         org.apache.maven.plugins
                         maven-deploy-plugin
    -                    3.0.0-M2
    +                    3.0.0
                     
     
                     
    
    From d3d9981e6ef47abebf144a3cd74a4d29abc66c1b Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 25 Jul 2022 00:50:14 +0000
    Subject: [PATCH 115/973] Bump maven-install-plugin from 3.0.0-M1 to 3.0.1
    
    Bumps [maven-install-plugin](https://github.com/apache/maven-install-plugin) from 3.0.0-M1 to 3.0.1.
    - [Release notes](https://github.com/apache/maven-install-plugin/releases)
    - [Commits](https://github.com/apache/maven-install-plugin/compare/maven-install-plugin-3.0.0-M1...maven-install-plugin-3.0.1)
    
    ---
    updated-dependencies:
    - dependency-name: org.apache.maven.plugins:maven-install-plugin
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index dfe88d7c..ed6207af 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -464,7 +464,7 @@
                     
                         org.apache.maven.plugins
                         maven-install-plugin
    -                    3.0.0-M1
    +                    3.0.1
                     
     
                     
    
    From b3bb080135d237d091e4424e4e78ce930b47859d Mon Sep 17 00:00:00 2001
    From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
    Date: Mon, 8 Aug 2022 00:58:52 +0000
    Subject: [PATCH 116/973] Bump maven-site-plugin from 3.12.0 to 3.12.1
    
    Bumps [maven-site-plugin](https://github.com/apache/maven-site-plugin) from 3.12.0 to 3.12.1.
    - [Release notes](https://github.com/apache/maven-site-plugin/releases)
    - [Commits](https://github.com/apache/maven-site-plugin/compare/maven-site-plugin-3.12.0...maven-site-plugin-3.12.1)
    
    ---
    updated-dependencies:
    - dependency-name: org.apache.maven.plugins:maven-site-plugin
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] 
    ---
     pom.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pom.xml b/pom.xml
    index ed6207af..dfe5f266 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -423,7 +423,7 @@
                     
                         org.apache.maven.plugins
                         maven-site-plugin
    -                    3.12.0
    +                    3.12.1
                     
     
                     
    
    From 6e607bd4d03018c7f1d18a797eb270b6a678d628 Mon Sep 17 00:00:00 2001
    From: Andrei Solntsev 
    Date: Tue, 9 Aug 2022 00:03:19 +0300
    Subject: [PATCH 117/973] #348 fix memory leak: release byte buffer when
     closing request
    
    This change continues PR https://github.com/adamfisk/LittleProxy/pull/351 - it seems it didn't cover all possible cases.
    ---
     pom.xml                                       |  2 +-
     .../proxy/impl/ClientToProxyConnection.java   | 74 ++++++++++---------
     .../proxy/impl/ProxyToServerConnection.java   | 48 ++++++------
     3 files changed, 67 insertions(+), 57 deletions(-)
    
    diff --git a/pom.xml b/pom.xml
    index dfe5f266..db6bd8a6 100644
    --- a/pom.xml
    +++ b/pom.xml
    @@ -3,7 +3,7 @@
         xyz.rogfam
         littleproxy
         jar
    -    2.0.10
    +    2.0.11-SNAPSHOT
         LittleProxy
         
             LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework.
    diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java
    index d45f86dd..d89a6423 100644
    --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java
    +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java
    @@ -66,7 +66,7 @@
      * ClientToProxyConnection can have multiple {@link ProxyToServerConnection}s,
      * at most one per outbound host:port.
      * 

    - * + * *

    * Once a ProxyToServerConnection has been created for a given server, it is * continually reused. The ProxyToServerConnection goes through its own @@ -75,7 +75,7 @@ * per server. The one exception to this is CONNECT tunneling - if a connection * has been used for CONNECT tunneling, that connection will never be reused. *

    - * + * *

    * As the ProxyToServerConnections receive responses from their servers, they * feed these back to the client by calling @@ -227,12 +227,12 @@ protected ConnectionState readHTTPInitial(HttpRequest httpRequest) { *

    * Reads an {@link HttpRequest}. *

    - * + * *

    * If we don't yet have a {@link ProxyToServerConnection} for the desired * server, this takes care of creating it. *

    - * + * *

    * Note - the "server" could be a chained proxy, not the final endpoint for * the request. @@ -424,7 +424,7 @@ protected void readRaw(ByteBuf buf) { /** * Send a response to the client. - * + * * @param serverConnection * the ProxyToServerConnection that's responding * @param filters @@ -442,10 +442,7 @@ void respond(ProxyToServerConnection serverConnection, HttpFilters filters, HttpRequest currentHttpRequest, HttpResponse currentHttpResponse, HttpObject httpObject) { // we are sending a response to the client, so we are done handling this request - if (currentRequest != null && currentRequest instanceof ReferenceCounted) { - ((ReferenceCounted)currentRequest).release(); - } - this.currentRequest = null; + resetCurrentRequest(); httpObject = filters.serverToProxyResponse(httpObject); if (httpObject == null) { @@ -503,6 +500,13 @@ else if (isSwitchingToWebSocketProtocol) { currentHttpRequest, currentHttpResponse, httpObject); } + private void resetCurrentRequest() { + if (currentRequest != null && currentRequest instanceof ReferenceCounted) { + ((ReferenceCounted) currentRequest).release(); + } + this.currentRequest = null; + } + private void switchToWebSocketProtocol(final ProxyToServerConnection serverConnection) { final List orderedHandlersToRemove = Arrays.asList(HTTP_REQUEST_READ_MONITOR_NAME, HTTP_RESPONSE_WRITTEN_MONITOR_NAME, HTTP_PROXY_DECODER_NAME, HTTP_ENCODER_NAME, HTTP_DECODER_NAME); @@ -606,23 +610,23 @@ protected void serverConnectionSucceeded( /** * If the {@link ProxyToServerConnection} fails to complete its connection * lifecycle successfully, this method is called to let us know about it. - * + * *

    * After failing to connect to the server, one of two things can happen: *

    - * + * *
      *
    1. If the server was a chained proxy, we fall back to connecting to the * ultimate endpoint directly.
    2. *
    3. If the server was the ultimate endpoint, we return a 502 Bad Gateway * to the client.
    4. *
    - * + * * @param serverConnection * @param lastStateBeforeFailure * @param cause * what caused the failure - * + * * @return true if we're falling back to a another chained proxy (or direct * connection) and trying again */ @@ -787,11 +791,11 @@ protected void exceptionCaught(Throwable cause) { /** * Initialize the {@link ChannelPipeline} for the client to proxy channel. * LittleProxy acts like a server here. - * + * * A {@link ChannelPipeline} invokes the read (Inbound) handlers in * ascending ordering of the list and then the write (Outbound) handlers in * descending ordering. - * + * * Regarding the Javadoc of {@link HttpObjectAggregator} it's needed to have * the {@link HttpResponseEncoder} or {@link io.netty.handler.codec.http.HttpRequestEncoder} before the * {@link HttpObjectAggregator} in the {@link ChannelPipeline}. @@ -830,7 +834,7 @@ private void initChannelPipeline(ChannelPipeline pipeline) { pipeline.addLast(MAIN_HANDLER_NAME, this); } - + private void removeHandlerIfPresent(String name) { removeHandlerIfPresent(channel.pipeline(), name); } @@ -921,20 +925,20 @@ private boolean shouldCloseClientConnection(HttpRequest req, * Determines if the remote connection should be closed based on the request * and response pair. If the request is HTTP 1.0 with no keep-alive header, * for example, the connection should be closed. - * + * * This in part determines if we should close the connection. Here's the * relevant section of RFC 2616: - * + * * "HTTP/1.1 defines the "close" connection option for the sender to signal * that the connection will be closed after completion of the response. For * example, - * + * * Connection: close - * + * * in either the request or the response header fields indicates that the * connection SHOULD NOT be considered `persistent' (section 8.1) after the * current request/response is complete." - * + * * @param req * The request. * @param res @@ -986,11 +990,11 @@ private boolean shouldCloseServerConnection(HttpRequest req, *

    * Checks whether the given HttpRequest requires authentication. *

    - * + * *

    * If the request contains credentials, these are checked. *

    - * + * *

    * If authentication is still required, either because no credentials were * provided or the credentials were wrong, this writes a 407 response to the @@ -1022,7 +1026,7 @@ private boolean authenticationRequired(HttpRequest request) { byte[] decodedValue = BaseEncoding.base64().decode(value); String decodedString = new String(decodedValue, UTF_8); - + String userName = StringUtils.substringBefore(decodedString, ":"); String password = StringUtils.substringAfter(decodedString, ":"); if (!authenticator.authenticate(userName, password)) { @@ -1139,9 +1143,9 @@ private boolean isNextHopOriginServer() { } /* - * Upstream SOCKS proxies are a special case because they do not - * parse or modify the HTTP request in any way. If the upstream - * chained proxy is a SOCKS proxy, we should treat it as if we + * Upstream SOCKS proxies are a special case because they do not + * parse or modify the HTTP request in any way. If the upstream + * chained proxy is a SOCKS proxy, we should treat it as if we * are connecting directly to the origin server. */ switch (currentServerConnection.getChainedProxyType()) { @@ -1173,7 +1177,7 @@ private void modifyResponseHeadersToReflectProxying( /* * RFC2616 Section 14.18 - * + * * A received message that does not have a Date header field MUST be * assigned one by the recipient if the message will be cached by * that recipient or gatewayed via a protocol which requires a Date. @@ -1188,7 +1192,7 @@ private void modifyResponseHeadersToReflectProxying( * Switch the de-facto standard "Proxy-Connection" header to "Connection" * when we pass it along to the remote host. This is largely undocumented * but seems to be what most browsers and servers expect. - * + * * @param headers * The headers to modify */ @@ -1203,12 +1207,12 @@ private void switchProxyConnectionHeader(HttpHeaders headers) { /** * RFC2616 Section 14.10 - * + * * HTTP/1.1 proxies MUST parse the Connection header field before a message * is forwarded and, for each connection-token in this field, remove any * header field(s) from the message with the same name as the * connection-token. - * + * * @param headers * The headers to modify */ @@ -1229,7 +1233,7 @@ private void stripConnectionTokens(HttpHeaders headers) { /** * Removes all headers that should not be forwarded. See RFC 2616 13.5.1 * End-to-end and Hop-by-hop Headers. - * + * * @param headers * The headers to modify */ @@ -1319,7 +1323,7 @@ private boolean writeGatewayTimeout(HttpRequest httpRequest) { */ private boolean respondWithShortCircuitResponse(HttpResponse httpResponse) { // we are sending a response to the client, so we are done handling this request - this.currentRequest = null; + resetCurrentRequest(); HttpResponse filteredResponse = (HttpResponse) currentFilters.proxyToClientResponse(httpResponse); if (filteredResponse == null) { @@ -1399,7 +1403,7 @@ protected void setMitming(boolean isMitming) { /* ************************************************************************* * Activity Tracking/Statistics - * + * * We track statistics on bytes, requests and responses by adding handlers * at the appropriate parts of the pipeline (see initChannelPipeline()). **************************************************************************/ @@ -1505,7 +1509,7 @@ private FlowContext flowContext() { public HAProxyMessage getHaProxyMessage() { return haProxyMessage; } - + public ClientDetails getClientDetails() { return clientDetails; } diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java index 1a1832ff..af78c8ca 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java @@ -95,7 +95,7 @@ * ProxyConnections are reused fairly liberally, and can go from disconnected to * connected, back to disconnected and so on. *

    - * + * *

    * Connecting a {@link ProxyToServerConnection} can involve more than just * connecting the underlying {@link Channel}. In particular, the connection may @@ -178,10 +178,10 @@ public class ProxyToServerConnection extends ProxyConnection { private final GlobalTrafficShapingHandler trafficHandler; /** - * Minimum size of the adaptive recv buffer when throttling is enabled. + * Minimum size of the adaptive recv buffer when throttling is enabled. */ private static final int MINIMUM_RECV_BUFFER_SIZE_BYTES = 64; - + /** * Create a new ProxyToServerConnection. */ @@ -304,12 +304,12 @@ protected void readRaw(ByteBuf buf) { * doesn't know that any given response is to a HEAD request, so it needs to * be told that there's no content so that it doesn't hang waiting for it. *

    - * + * *

    * See the documentation for {@link HttpResponseDecoder} for information * about why HEAD requests need special handling. *

    - * + * *

    * Thanks to nataliakoval for * pointing out that with connections being reused as they are, this needs @@ -608,7 +608,7 @@ private void initializeConnectionFlow() { if (hasUpstreamChainedProxy() && (chainedProxyType == ChainedProxyType.HTTP)) { connectionFlow.then(serverConnection.HTTPCONNECTWithChainedProxy); } - + MitmManager mitmManager = proxyServer.getMitmManager(); boolean isMitmEnabled = currentFilters.proxyToServerAllowMitm() && mitmManager != null; @@ -638,7 +638,7 @@ private void initializeConnectionFlow() { } } } - + private void addFirstOrReplaceHandler(String name, ChannelHandler handler) { if (channel.pipeline().context(name) != null) { channel.pipeline().replace(name, name, handler); @@ -647,7 +647,7 @@ private void addFirstOrReplaceHandler(String name, ChannelHandler handler) { channel.pipeline().addFirst(name, handler); } } - + private void removeHandlerIfPresent(String name) { removeHandlerIfPresent(channel.pipeline(), name); } @@ -753,7 +753,7 @@ void read(ConnectionFlow flow, Object msg) { } } }; - + /** * Establishes a SOCKS4 connection. */ @@ -768,7 +768,7 @@ protected Future execute() { } catch (UnknownHostException e) { return channel.newFailedFuture(e); } - + DefaultSocks4CommandRequest connectRequest = new DefaultSocks4CommandRequest( Socks4CommandType.CONNECT, destinationAddress.getHostString(), destinationAddress.getPort()); @@ -789,13 +789,13 @@ void read(ConnectionFlow flow, Object msg) { } flow.fail(); } - + @Override void onSuccess(ConnectionFlow flow) { // Do not advance the flow until the SOCKS response has been parsed } }; - + /** * Initiates a SOCKS5 connection. */ @@ -850,7 +850,7 @@ void onSuccess(ConnectionFlow flow) { // Do not advance the flow until the SOCKS response has been parsed } }; - + /** * Sends SOCKS5 password credentials after {@link #SOCKS5InitialRequest} has completed. */ @@ -883,7 +883,7 @@ void onSuccess(ConnectionFlow flow) { // Do not advance the flow until the SOCKS response has been parsed } }; - + /** * Establishes a SOCKS5 connection after {@link #SOCKS5InitialRequest} and * (optionally) {@link #SOCKS5SendPasswordCredentials} have completed. @@ -924,7 +924,7 @@ void onSuccess(ConnectionFlow flow) { *

    * Encrypts the client channel based on our server {@link SSLSession}. *

    - * + * *

    * This does not wait for the handshake to finish so that we can go on and * respond to the CONNECT request. @@ -1007,6 +1007,8 @@ protected boolean connectionFailed(Throwable cause) return true; } + resetInitialRequest(); + // no chained proxy fallback or other retry mechanism available return false; } @@ -1029,7 +1031,7 @@ private void resetConnectionForRetry() throws UnknownHostException { /** * Set up our connection parameters based on server address and chained * proxies. - * + * * @throws UnknownHostException when unable to resolve the hostname to an IP address */ private void setupConnectionParameters() throws UnknownHostException { @@ -1081,11 +1083,11 @@ private void setupConnectionParameters() throws UnknownHostException { /** * Initialize our {@link ChannelPipeline} to connect the upstream server. * LittleProxy acts as a client here. - * + * * A {@link ChannelPipeline} invokes the read (Inbound) handlers in * ascending ordering of the list and then the write (Outbound) handlers in * descending ordering. - * + * * Regarding the Javadoc of {@link HttpObjectAggregator} it's needed to have * the {@link HttpResponseEncoder} or {@link HttpRequestEncoder} before the * {@link HttpObjectAggregator} in the {@link ChannelPipeline}. @@ -1132,7 +1134,7 @@ private void initChannelPipeline(ChannelPipeline pipeline, HttpRequest httpReque * Do all the stuff that needs to be done after our {@link ConnectionFlow} * has succeeded. *

    - * + * * @param shouldForwardInitialRequest * whether or not we should forward the initial HttpRequest to * the server after the connection has been established. @@ -1160,6 +1162,10 @@ void connectionSucceeded(boolean shouldForwardInitialRequest) { // we're now done with the initialRequest: it's either been forwarded to the upstream server (HTTP requests), or // completely dropped (HTTPS CONNECTs). if the initialRequest is reference counted (typically because the HttpObjectAggregator is in // the pipeline to generate FullHttpRequests), we need to manually release it to avoid a memory leak. + resetInitialRequest(); + } + + private void resetInitialRequest() { if (initialRequest instanceof ReferenceCounted) { ((ReferenceCounted)initialRequest).release(); } @@ -1167,7 +1173,7 @@ void connectionSucceeded(boolean shouldForwardInitialRequest) { /** * Build an {@link InetSocketAddress} for the given hostAndPort. - * + * * @param hostAndPort String representation of the host and port * @param proxyServer the current {@link DefaultHttpProxyServer} * @return a resolved InetSocketAddress for the specified hostAndPort @@ -1215,7 +1221,7 @@ void switchToWebSocketProtocol() { /* ************************************************************************* * Activity Tracking/Statistics - * + * * We track statistics on bytes, requests and responses by adding handlers * at the appropriate parts of the pipeline (see initChannelPipeline()). **************************************************************************/ From 7a1609c521a22acab2421fd0de6347a676fba827 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Tue, 9 Aug 2022 08:54:37 +0300 Subject: [PATCH 118/973] reproduce PR #383 Re-do the original PR https://github.com/adamfisk/LittleProxy/pull/383 this should fix https://github.com/adamfisk/LittleProxy/issues/359 --- .../org/littleshoot/proxy/impl/ClientToProxyConnection.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index d89a6423..02201ed8 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -1344,13 +1344,13 @@ private boolean respondWithShortCircuitResponse(HttpResponse httpResponse) { // restore the keep alive status, if it was overwritten when modifying headers for proxying HttpUtil.setKeepAlive(httpResponse, isKeepAlive); - write(httpResponse); + write(filteredResponse); - if (ProxyUtils.isLastChunk(httpResponse)) { + if (ProxyUtils.isLastChunk(filteredResponse)) { writeEmptyBuffer(); } - if (!HttpUtil.isKeepAlive(httpResponse)) { + if (!HttpUtil.isKeepAlive(filteredResponse)) { disconnect(); return false; } From e8ffa0e614a9b72cb872d9f01ad860273d737e6c Mon Sep 17 00:00:00 2001 From: Michel Belleau Date: Wed, 10 Aug 2022 18:02:04 -0400 Subject: [PATCH 119/973] HTTP CONNECT can't be Keep-Alive It is technically wrong to expect an HTTP connection that uses the CONNECT verb and becomes connected to ever be reused via Keep Alive. Once the HTTP CONNECT is successful, the client has no way to give back to the proxy another request: it is by then connected to the remote end (or a MITM'ed flavor of it) and upon the remote end disconnection, the HTTP connection has to be disconnected as there is no other signal that can be given from the Proxy back to the Client to signify the remote end has disconnected and control is now back to the Proxy. --- .../java/org/littleshoot/proxy/impl/ClientToProxyConnection.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index 02201ed8..863cbcbe 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -536,7 +536,6 @@ protected Future execute() { LOG.debug("Responding with CONNECT successful"); HttpResponse response = ProxyUtils.createFullHttpResponse(HttpVersion.HTTP_1_1, CONNECTION_ESTABLISHED); - response.headers().set(HttpHeaderNames.CONNECTION, HttpHeaderValues.KEEP_ALIVE); ProxyUtils.addVia(response, proxyServer.getProxyAlias()); return writeToChannel(response); } From 512a1fdcdfce470049032ce1a11ba98b4671007f Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Sat, 13 Aug 2022 12:24:38 +0300 Subject: [PATCH 120/973] release LittleProxy 2.0.11 --- README.md | 4 ++-- RELEASE_NOTES.md | 5 +++++ pom.xml | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2f6c9d0a..aaeb0984 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.10 + 2.0.11 ``` Or with Gradle like this -`compile "xyz.rogfam:littleproxy:2.0.10"` +`compile "xyz.rogfam:littleproxy:2.0.11"` Once you've included LittleProxy, you can start the server with the following: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 2979126a..07bce181 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,10 @@ # Release Notes +- 2.0.11 + - #131 fix memory leak: release byte buffer when closing request - see PR #141 + - #142 fix some "modify response" problem, see https://github.com/adamfisk/LittleProxy/issues/359 + - #144 HTTP CONNECT can't be Keep-Alive - thanks Michel Belleau for PR #144 + - 2.0.10 - #135 Bump netty.version from 4.1.77.Final to 4.1.79.Final - #132 Bump selenium-java from 4.1.4 to 4.3.0 diff --git a/pom.xml b/pom.xml index db6bd8a6..18d1331a 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.11-SNAPSHOT + 2.0.11 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From c4a0d75fa3048efe5024516dd5bb89b274ce2b08 Mon Sep 17 00:00:00 2001 From: krlvm <51774833+krlvm@users.noreply.github.com> Date: Sat, 13 Aug 2022 14:13:16 +0400 Subject: [PATCH 121/973] Restore Keep-Alive value when filtering short-circuit response --- .../proxy/impl/ClientToProxyConnection.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index 863cbcbe..19f1a953 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -1324,24 +1324,24 @@ private boolean respondWithShortCircuitResponse(HttpResponse httpResponse) { // we are sending a response to the client, so we are done handling this request resetCurrentRequest(); + // allow short-circuit messages to close the connection. normally the Connection header would be stripped when modifying + // the message for proxying, so save the keep-alive status before the modifications are made. + boolean isKeepAlive = HttpUtil.isKeepAlive(httpResponse); + HttpResponse filteredResponse = (HttpResponse) currentFilters.proxyToClientResponse(httpResponse); if (filteredResponse == null) { disconnect(); return false; } - // allow short-circuit messages to close the connection. normally the Connection header would be stripped when modifying - // the message for proxying, so save the keep-alive status before the modifications are made. - boolean isKeepAlive = HttpUtil.isKeepAlive(httpResponse); - // if the response is not a Bad Gateway or Gateway Timeout, modify the headers "as if" the short-circuit response were proxied - int statusCode = httpResponse.status().code(); + int statusCode = filteredResponse.status().code(); if (statusCode != HttpResponseStatus.BAD_GATEWAY.code() && statusCode != HttpResponseStatus.GATEWAY_TIMEOUT.code()) { - modifyResponseHeadersToReflectProxying(httpResponse); + modifyResponseHeadersToReflectProxying(filteredResponse); } // restore the keep alive status, if it was overwritten when modifying headers for proxying - HttpUtil.setKeepAlive(httpResponse, isKeepAlive); + HttpUtil.setKeepAlive(filteredResponse, isKeepAlive); write(filteredResponse); From b826633c5fd4e1343da1e7bb900b78566d4d4f6a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Aug 2022 01:05:43 +0000 Subject: [PATCH 122/973] Bump maven-project-info-reports-plugin from 3.4.0 to 3.4.1 Bumps [maven-project-info-reports-plugin](https://github.com/apache/maven-project-info-reports-plugin) from 3.4.0 to 3.4.1. - [Release notes](https://github.com/apache/maven-project-info-reports-plugin/releases) - [Commits](https://github.com/apache/maven-project-info-reports-plugin/compare/maven-project-info-reports-plugin-3.4.0...maven-project-info-reports-plugin-3.4.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-project-info-reports-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 18d1331a..f6c1073e 100644 --- a/pom.xml +++ b/pom.xml @@ -629,7 +629,7 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 3.4.0 + 3.4.1 From 57ea43b6c74eaf1280fee5f65163c832407b9676 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Aug 2022 01:05:32 +0000 Subject: [PATCH 123/973] Bump maven-javadoc-plugin from 3.4.0 to 3.4.1 Bumps [maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) from 3.4.0 to 3.4.1. - [Release notes](https://github.com/apache/maven-javadoc-plugin/releases) - [Commits](https://github.com/apache/maven-javadoc-plugin/compare/maven-javadoc-plugin-3.4.0...maven-javadoc-plugin-3.4.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-javadoc-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f6c1073e..8784cb20 100644 --- a/pom.xml +++ b/pom.xml @@ -488,7 +488,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.4.0 + 3.4.1 all,-missing private From 5d868576bf6795bac9181e7f7cd6c0b31b31e2e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Aug 2022 01:05:39 +0000 Subject: [PATCH 124/973] Bump mockito-core from 4.6.1 to 4.7.0 Bumps [mockito-core](https://github.com/mockito/mockito) from 4.6.1 to 4.7.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v4.6.1...v4.7.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8784cb20..7f626dd3 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 4.6.1 + 4.7.0 test From 2826990b09ac120260b6ee1047880a6601ef9764 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Aug 2022 01:05:48 +0000 Subject: [PATCH 125/973] Bump selenium-java from 4.3.0 to 4.4.0 Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.3.0 to 4.4.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.3.0...selenium-4.4.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7f626dd3..48347616 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.3.0 + 4.4.0 test From 1fd8d07704c88ba499dc1d4d2967138a1f7cbb8f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Aug 2022 01:02:32 +0000 Subject: [PATCH 126/973] Bump maven-jxr-plugin from 3.2.0 to 3.3.0 Bumps [maven-jxr-plugin](https://github.com/apache/maven-jxr) from 3.2.0 to 3.3.0. - [Release notes](https://github.com/apache/maven-jxr/releases) - [Commits](https://github.com/apache/maven-jxr/compare/jxr-3.2.0...jxr-3.3.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-jxr-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 48347616..1cc08ab1 100644 --- a/pom.xml +++ b/pom.xml @@ -683,7 +683,7 @@ org.apache.maven.plugins maven-jxr-plugin - 3.2.0 + 3.3.0 From 3e83441dc2515a093df6f330b7a6603a99ee2ec1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Aug 2022 01:02:43 +0000 Subject: [PATCH 127/973] Bump slf4j.version from 1.7.36 to 2.0.0 Bumps `slf4j.version` from 1.7.36 to 2.0.0. Updates `slf4j-reload4j` from 1.7.36 to 2.0.0 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/compare/v_1.7.36...v_2.0.0) Updates `slf4j-api` from 1.7.36 to 2.0.0 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/compare/v_1.7.36...v_2.0.0) --- updated-dependencies: - dependency-name: org.slf4j:slf4j-reload4j dependency-type: direct:production update-type: version-update:semver-major - dependency-name: org.slf4j:slf4j-api dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1cc08ab1..f0dac694 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ UTF-8 github 4.1.79.Final - 1.7.36 + 2.0.0 1.8 From dcb9e6d56cab1d3bb2cc4ac992cb86e38e6f572d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Aug 2022 00:52:27 +0000 Subject: [PATCH 128/973] Bump maven-resources-plugin from 3.2.0 to 3.3.0 Bumps [maven-resources-plugin](https://github.com/apache/maven-resources-plugin) from 3.2.0 to 3.3.0. - [Release notes](https://github.com/apache/maven-resources-plugin/releases) - [Commits](https://github.com/apache/maven-resources-plugin/compare/maven-resources-plugin-3.2.0...maven-resources-plugin-3.3.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-resources-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f0dac694..f31635af 100644 --- a/pom.xml +++ b/pom.xml @@ -476,7 +476,7 @@ org.apache.maven.plugins maven-resources-plugin - 3.2.0 + 3.3.0 From 5d99a7de2d9f13bc505288e0a9ffb85d1bd78b8a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Aug 2022 01:20:32 +0000 Subject: [PATCH 129/973] Bump maven-pmd-plugin from 3.17.0 to 3.18.0 Bumps [maven-pmd-plugin](https://github.com/apache/maven-pmd-plugin) from 3.17.0 to 3.18.0. - [Release notes](https://github.com/apache/maven-pmd-plugin/releases) - [Commits](https://github.com/apache/maven-pmd-plugin/compare/maven-pmd-plugin-3.17.0...maven-pmd-plugin-3.18.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-pmd-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f31635af..312e2c6e 100644 --- a/pom.xml +++ b/pom.xml @@ -689,7 +689,7 @@ org.apache.maven.plugins maven-pmd-plugin - 3.17.0 + 3.18.0 true utf-8 From 70b078be60f9a710643b1ac76260f6e55760f4f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Aug 2022 01:20:28 +0000 Subject: [PATCH 130/973] Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 Bumps [maven-checkstyle-plugin](https://github.com/apache/maven-checkstyle-plugin) from 3.1.2 to 3.2.0. - [Release notes](https://github.com/apache/maven-checkstyle-plugin/releases) - [Commits](https://github.com/apache/maven-checkstyle-plugin/compare/maven-checkstyle-plugin-3.1.2...maven-checkstyle-plugin-3.2.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-checkstyle-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 312e2c6e..f7a8ee2e 100644 --- a/pom.xml +++ b/pom.xml @@ -649,7 +649,7 @@ org.apache.maven.plugins maven-checkstyle-plugin - 3.1.2 + 3.2.0 From 1a4be7b11b154d49d7e704d35af2cba7009be035 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Aug 2022 01:20:24 +0000 Subject: [PATCH 131/973] Bump mockserver-netty from 5.13.2 to 5.14.0 Bumps [mockserver-netty](https://github.com/jamesdbloom/mockservice) from 5.13.2 to 5.14.0. - [Release notes](https://github.com/jamesdbloom/mockservice/releases) - [Changelog](https://github.com/mock-server/mockserver/blob/master/changelog.md) - [Commits](https://github.com/jamesdbloom/mockservice/compare/mockserver-5.13.2...mockserver-5.14.0) --- updated-dependencies: - dependency-name: org.mock-server:mockserver-netty dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f7a8ee2e..2db9bd0b 100644 --- a/pom.xml +++ b/pom.xml @@ -209,7 +209,7 @@ org.mock-server mockserver-netty - 5.13.2 + 5.14.0 test From b94764e23c7077ce0a50d9365e82551cef51b0c4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Aug 2022 01:19:24 +0000 Subject: [PATCH 132/973] Bump netty.version from 4.1.79.Final to 4.1.80.Final Bumps `netty.version` from 4.1.79.Final to 4.1.80.Final. Updates `netty-all` from 4.1.79.Final to 4.1.80.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.79.Final...netty-4.1.80.Final) Updates `netty-example` from 4.1.79.Final to 4.1.80.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.79.Final...netty-4.1.80.Final) Updates `netty-buffer` from 4.1.79.Final to 4.1.80.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.79.Final...netty-4.1.80.Final) Updates `netty-codec` from 4.1.79.Final to 4.1.80.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.79.Final...netty-4.1.80.Final) Updates `netty-codec-haproxy` from 4.1.79.Final to 4.1.80.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.79.Final...netty-4.1.80.Final) Updates `netty-codec-http` from 4.1.79.Final to 4.1.80.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.79.Final...netty-4.1.80.Final) Updates `netty-codec-socks` from 4.1.79.Final to 4.1.80.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.79.Final...netty-4.1.80.Final) Updates `netty-common` from 4.1.79.Final to 4.1.80.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.79.Final...netty-4.1.80.Final) Updates `netty-handler` from 4.1.79.Final to 4.1.80.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.79.Final...netty-4.1.80.Final) Updates `netty-handler-proxy` from 4.1.79.Final to 4.1.80.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.79.Final...netty-4.1.80.Final) Updates `netty-transport` from 4.1.79.Final to 4.1.80.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.79.Final...netty-4.1.80.Final) Updates `netty-transport-rxtx` from 4.1.79.Final to 4.1.80.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.79.Final...netty-4.1.80.Final) Updates `netty-transport-sctp` from 4.1.79.Final to 4.1.80.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.79.Final...netty-4.1.80.Final) Updates `netty-transport-udp` from 4.1.79.Final to 4.1.80.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2db9bd0b..d6c865db 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.79.Final + 4.1.80.Final 2.0.0 1.8 From dd566a7ffefee45b8ac0f14e85fbb5905dd11aef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Sep 2022 01:08:54 +0000 Subject: [PATCH 133/973] Bump maven-pmd-plugin from 3.18.0 to 3.19.0 Bumps [maven-pmd-plugin](https://github.com/apache/maven-pmd-plugin) from 3.18.0 to 3.19.0. - [Release notes](https://github.com/apache/maven-pmd-plugin/releases) - [Commits](https://github.com/apache/maven-pmd-plugin/compare/maven-pmd-plugin-3.18.0...maven-pmd-plugin-3.19.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-pmd-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d6c865db..ee2cf2dc 100644 --- a/pom.xml +++ b/pom.xml @@ -689,7 +689,7 @@ org.apache.maven.plugins maven-pmd-plugin - 3.18.0 + 3.19.0 true utf-8 From d0d1419344cc87a2f0074b1cb3d319ebba33520b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Sep 2022 01:07:41 +0000 Subject: [PATCH 134/973] Bump netty.version from 4.1.80.Final to 4.1.81.Final Bumps `netty.version` from 4.1.80.Final to 4.1.81.Final. Updates `netty-all` from 4.1.80.Final to 4.1.81.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.80.Final...netty-4.1.81.Final) Updates `netty-example` from 4.1.80.Final to 4.1.81.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.80.Final...netty-4.1.81.Final) Updates `netty-buffer` from 4.1.80.Final to 4.1.81.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.80.Final...netty-4.1.81.Final) Updates `netty-codec` from 4.1.80.Final to 4.1.81.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.80.Final...netty-4.1.81.Final) Updates `netty-codec-haproxy` from 4.1.80.Final to 4.1.81.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.80.Final...netty-4.1.81.Final) Updates `netty-codec-http` from 4.1.80.Final to 4.1.81.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.80.Final...netty-4.1.81.Final) Updates `netty-codec-socks` from 4.1.80.Final to 4.1.81.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.80.Final...netty-4.1.81.Final) Updates `netty-common` from 4.1.80.Final to 4.1.81.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.80.Final...netty-4.1.81.Final) Updates `netty-handler` from 4.1.80.Final to 4.1.81.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.80.Final...netty-4.1.81.Final) Updates `netty-handler-proxy` from 4.1.80.Final to 4.1.81.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.80.Final...netty-4.1.81.Final) Updates `netty-transport` from 4.1.80.Final to 4.1.81.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.80.Final...netty-4.1.81.Final) Updates `netty-transport-rxtx` from 4.1.80.Final to 4.1.81.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.80.Final...netty-4.1.81.Final) Updates `netty-transport-sctp` from 4.1.80.Final to 4.1.81.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.80.Final...netty-4.1.81.Final) Updates `netty-transport-udp` from 4.1.80.Final to 4.1.81.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ee2cf2dc..43f02fa6 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.80.Final + 4.1.81.Final 2.0.0 1.8 From 3a290a31b35f4bd715710e76bb6c174587d28604 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Sep 2022 01:06:39 +0000 Subject: [PATCH 135/973] Bump mockito-core from 4.7.0 to 4.8.0 Bumps [mockito-core](https://github.com/mockito/mockito) from 4.7.0 to 4.8.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v4.7.0...v4.8.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 43f02fa6..3bcebd92 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 4.7.0 + 4.8.0 test From 5394448213e908a31f18a2fbc46dddc3e173facd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Sep 2022 01:08:03 +0000 Subject: [PATCH 136/973] Bump versions-maven-plugin from 2.11.0 to 2.12.0 Bumps [versions-maven-plugin](https://github.com/mojohaus/versions-maven-plugin) from 2.11.0 to 2.12.0. - [Release notes](https://github.com/mojohaus/versions-maven-plugin/releases) - [Changelog](https://github.com/mojohaus/versions-maven-plugin/blob/master/ReleaseNotes.md) - [Commits](https://github.com/mojohaus/versions-maven-plugin/compare/versions-maven-plugin-2.11.0...versions-maven-plugin-2.12.0) --- updated-dependencies: - dependency-name: org.codehaus.mojo:versions-maven-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3bcebd92..26559fa2 100644 --- a/pom.xml +++ b/pom.xml @@ -701,7 +701,7 @@ org.codehaus.mojo versions-maven-plugin - 2.11.0 + 2.12.0 From aaa73b15d43051582c08833d0ba8a91d41e41a01 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 01:24:37 +0000 Subject: [PATCH 137/973] Bump log4j-core from 2.18.0 to 2.19.0 Bumps log4j-core from 2.18.0 to 2.19.0. --- updated-dependencies: - dependency-name: org.apache.logging.log4j:log4j-core dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 26559fa2..f6e0e349 100644 --- a/pom.xml +++ b/pom.xml @@ -235,7 +235,7 @@ org.apache.logging.log4j log4j-core - 2.18.0 + 2.19.0 true From 516eff23e32acb191dbd84c7295c049341e40d50 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 01:22:30 +0000 Subject: [PATCH 138/973] Bump slf4j.version from 2.0.0 to 2.0.1 Bumps `slf4j.version` from 2.0.0 to 2.0.1. Updates `slf4j-reload4j` from 2.0.0 to 2.0.1 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.0...v_2.0.1) Updates `slf4j-api` from 2.0.0 to 2.0.1 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.0...v_2.0.1) --- updated-dependencies: - dependency-name: org.slf4j:slf4j-reload4j dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.slf4j:slf4j-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f6e0e349..317a5a37 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ UTF-8 github 4.1.81.Final - 2.0.0 + 2.0.1 1.8 From bdb773f9144bdb616a40b85d0fbda374adc4190d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 04:19:57 +0000 Subject: [PATCH 139/973] Bump maven-shade-plugin from 3.2.4 to 3.4.0 Bumps [maven-shade-plugin](https://github.com/apache/maven-shade-plugin) from 3.2.4 to 3.4.0. - [Release notes](https://github.com/apache/maven-shade-plugin/releases) - [Commits](https://github.com/apache/maven-shade-plugin/compare/maven-shade-plugin-3.2.4...maven-shade-plugin-3.4.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-shade-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 317a5a37..1773c745 100644 --- a/pom.xml +++ b/pom.xml @@ -542,7 +542,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 + 3.4.0 package From b52f0fd5d58f5f9a13f35e4a7e5fe217f2e89590 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 01:21:34 +0000 Subject: [PATCH 140/973] Bump maven-jar-plugin from 3.2.2 to 3.3.0 Bumps [maven-jar-plugin](https://github.com/apache/maven-jar-plugin) from 3.2.2 to 3.3.0. - [Release notes](https://github.com/apache/maven-jar-plugin/releases) - [Commits](https://github.com/apache/maven-jar-plugin/compare/maven-jar-plugin-3.2.2...maven-jar-plugin-3.3.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-jar-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1773c745..49c95d06 100644 --- a/pom.xml +++ b/pom.xml @@ -470,7 +470,7 @@ org.apache.maven.plugins maven-jar-plugin - 3.2.2 + 3.3.0 From 192b7564f02d9524e7eedec4b2d2106c75936bfa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 04:21:39 +0000 Subject: [PATCH 141/973] Bump netty.version from 4.1.81.Final to 4.1.82.Final Bumps `netty.version` from 4.1.81.Final to 4.1.82.Final. Updates `netty-all` from 4.1.81.Final to 4.1.82.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.81.Final...netty-4.1.82.Final) Updates `netty-example` from 4.1.81.Final to 4.1.82.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.81.Final...netty-4.1.82.Final) Updates `netty-buffer` from 4.1.81.Final to 4.1.82.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.81.Final...netty-4.1.82.Final) Updates `netty-codec` from 4.1.81.Final to 4.1.82.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.81.Final...netty-4.1.82.Final) Updates `netty-codec-haproxy` from 4.1.81.Final to 4.1.82.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.81.Final...netty-4.1.82.Final) Updates `netty-codec-http` from 4.1.81.Final to 4.1.82.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.81.Final...netty-4.1.82.Final) Updates `netty-codec-socks` from 4.1.81.Final to 4.1.82.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.81.Final...netty-4.1.82.Final) Updates `netty-common` from 4.1.81.Final to 4.1.82.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.81.Final...netty-4.1.82.Final) Updates `netty-handler` from 4.1.81.Final to 4.1.82.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.81.Final...netty-4.1.82.Final) Updates `netty-handler-proxy` from 4.1.81.Final to 4.1.82.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.81.Final...netty-4.1.82.Final) Updates `netty-transport` from 4.1.81.Final to 4.1.82.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.81.Final...netty-4.1.82.Final) Updates `netty-transport-rxtx` from 4.1.81.Final to 4.1.82.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.81.Final...netty-4.1.82.Final) Updates `netty-transport-sctp` from 4.1.81.Final to 4.1.82.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.81.Final...netty-4.1.82.Final) Updates `netty-transport-udp` from 4.1.81.Final to 4.1.82.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 49c95d06..d36c02fb 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.81.Final + 4.1.82.Final 2.0.1 1.8 From e3f9a2256bc5421ae42c9ad74f5395cf5719da66 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 23 Sep 2022 20:42:09 +0300 Subject: [PATCH 142/973] release LittleProxy 2.0.12 --- README.md | 4 ++-- RELEASE_NOTES.md | 16 +++++++++++----- pom.xml | 2 +- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index aaeb0984..18756260 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.11 + 2.0.12 ``` Or with Gradle like this -`compile "xyz.rogfam:littleproxy:2.0.11"` +`compile "xyz.rogfam:littleproxy:2.0.12"` Once you've included LittleProxy, you can start the server with the following: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 07bce181..875ad789 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,19 +1,25 @@ # Release Notes -- 2.0.11 +- 2.0.12 (23.09.2022) + - #145 Restore Keep-Alive value when filtering short-circuit response -- thanks to krlvm for PR + - Bump netty from 4.1.79.Final to 4.1.82.Final + - Bump slf4j from 1.7.36 to 2.0.1 + - Bump log4j-core from 2.18.0 to 2.19.0 + +- 2.0.11 (13.08.2022) - #131 fix memory leak: release byte buffer when closing request - see PR #141 - #142 fix some "modify response" problem, see https://github.com/adamfisk/LittleProxy/issues/359 - #144 HTTP CONNECT can't be Keep-Alive - thanks Michel Belleau for PR #144 -- 2.0.10 +- 2.0.10 (20.07.2022) - #135 Bump netty.version from 4.1.77.Final to 4.1.79.Final - #132 Bump selenium-java from 4.1.4 to 4.3.0 - #118 Bump dnsjava from 3.5.0 to 3.5.1 -- 2.0.9 +- 2.0.9 (10.05.2022) - #115 reverted to maven-shade-plugin 3.2.4 (because 3.3.0 generated artifact without compile/runtime dependencies) -- 2.0.8 +- 2.0.8 (06.05.2022) - #26 fixed TLS 1.3 handshake bug -- thanks Dan Powell for PR https://github.com/LittleProxy/LittleProxy/pull/26 - Bumped log4j-core from 2.17.0 to 2.17.2 - Bumped netty from 4.1.71 to 4.1.76 @@ -25,7 +31,7 @@ - moved the project to https://github.com/LittleProxy/LittleProxy - moved CI from Travis to https://github.com/LittleProxy/LittleProxy/actions -- 2.0.7 +- 2.0.7 (21.12.2021) - Bumped log4j-core from 2.16.0 to 2.17.0 - 2.0.6 diff --git a/pom.xml b/pom.xml index d36c02fb..c90b9bed 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.11 + 2.0.12 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 6602961f77e290be3f2c960d0ca1b0d599d78078 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Sep 2022 01:01:03 +0000 Subject: [PATCH 143/973] Bump slf4j.version from 2.0.1 to 2.0.2 Bumps `slf4j.version` from 2.0.1 to 2.0.2. Updates `slf4j-reload4j` from 2.0.1 to 2.0.2 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.1...v_2.0.2) Updates `slf4j-api` from 2.0.1 to 2.0.2 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.1...v_2.0.2) --- updated-dependencies: - dependency-name: org.slf4j:slf4j-reload4j dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.slf4j:slf4j-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c90b9bed..0267e1ec 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ UTF-8 github 4.1.82.Final - 2.0.1 + 2.0.2 1.8 From acc19f7f3b4019a3785d383bc1aad6684e8d79ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Oct 2022 01:06:15 +0000 Subject: [PATCH 144/973] Bump selenium-java from 4.4.0 to 4.5.0 Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.4.0 to 4.5.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.4.0...selenium-4.5.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0267e1ec..f3a6f9d9 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.4.0 + 4.5.0 test From 35853a75f4aa69f99ce688a8b10f4f2873ccabb2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Oct 2022 01:06:10 +0000 Subject: [PATCH 145/973] Bump slf4j.version from 2.0.2 to 2.0.3 Bumps `slf4j.version` from 2.0.2 to 2.0.3. Updates `slf4j-reload4j` from 2.0.2 to 2.0.3 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.2...v_2.0.3) Updates `slf4j-api` from 2.0.2 to 2.0.3 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.2...v_2.0.3) --- updated-dependencies: - dependency-name: org.slf4j:slf4j-reload4j dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.slf4j:slf4j-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f3a6f9d9..b400d810 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ UTF-8 github 4.1.82.Final - 2.0.2 + 2.0.3 1.8 From 083d0094e37faa66b12d3b982c3b6bc18ab3a7b4 Mon Sep 17 00:00:00 2001 From: Mateusz Pietryga Date: Tue, 4 Oct 2022 00:25:42 +0200 Subject: [PATCH 146/973] Do not package dependency-reduced-pom.xml into the release artifact. #170 --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index b400d810..bbf84dba 100644 --- a/pom.xml +++ b/pom.xml @@ -550,6 +550,7 @@ shade + false true littleproxy-shade From e091a894b096febd097f5688ab85cb964a4fb0ef Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Tue, 4 Oct 2022 08:37:24 +0300 Subject: [PATCH 147/973] release LittleProxy 2.0.13 --- README.md | 4 ++-- RELEASE_NOTES.md | 5 +++++ pom.xml | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 18756260..489412bc 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.12 + 2.0.13 ``` Or with Gradle like this -`compile "xyz.rogfam:littleproxy:2.0.12"` +`implementation "xyz.rogfam:littleproxy:2.0.13"` Once you've included LittleProxy, you can start the server with the following: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 875ad789..b8f37d84 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,10 @@ # Release Notes +- 2.0.13 (04.10.2022) + - #170 restore transitive dependencies in generated pom -- thanks to Mateusz Pietryga for PR #171 + - Bump slf4j from 2.0.1 to 2.0.3 + - Bump selenium-java from 4.4.0 to 4.5.0 + - 2.0.12 (23.09.2022) - #145 Restore Keep-Alive value when filtering short-circuit response -- thanks to krlvm for PR - Bump netty from 4.1.79.Final to 4.1.82.Final diff --git a/pom.xml b/pom.xml index bbf84dba..0742526f 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.12 + 2.0.13 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From bd8f36d6f725e1b2fc73f86bb8a07528ffd424fe Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Tue, 4 Oct 2022 08:58:53 +0300 Subject: [PATCH 148/973] working on LittleProxy 2.0.14 --- RELEASE_NOTES.md | 3 +++ pom.xml | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index b8f37d84..ded82b2b 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,8 @@ # Release Notes +- 2.0.14 + - Bump jackson-databind from 2.13.2.2 to 2.13.4 + - 2.0.13 (04.10.2022) - #170 restore transitive dependencies in generated pom -- thanks to Mateusz Pietryga for PR #171 - Bump slf4j from 2.0.1 to 2.0.3 diff --git a/pom.xml b/pom.xml index 0742526f..d89617d7 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.13 + 2.0.14-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. @@ -195,7 +195,7 @@ org.eclipse.jetty jetty-server - 9.4.46.v20220331 + 9.4.49.v20220914 test @@ -405,7 +405,7 @@ com.fasterxml.jackson.core jackson-databind - 2.13.2.2 + 2.13.4 bundle From fd3955ec39fc2897a3fd671557d50ea2ac12208b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Oct 2022 01:07:06 +0000 Subject: [PATCH 149/973] Bump netty.version from 4.1.82.Final to 4.1.84.Final Bumps `netty.version` from 4.1.82.Final to 4.1.84.Final. Updates `netty-all` from 4.1.82.Final to 4.1.84.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.84.Final) Updates `netty-example` from 4.1.82.Final to 4.1.84.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.84.Final) Updates `netty-buffer` from 4.1.82.Final to 4.1.84.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.84.Final) Updates `netty-codec` from 4.1.82.Final to 4.1.84.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.84.Final) Updates `netty-codec-haproxy` from 4.1.82.Final to 4.1.84.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.84.Final) Updates `netty-codec-http` from 4.1.82.Final to 4.1.84.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.84.Final) Updates `netty-codec-socks` from 4.1.82.Final to 4.1.84.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.84.Final) Updates `netty-common` from 4.1.82.Final to 4.1.84.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.84.Final) Updates `netty-handler` from 4.1.82.Final to 4.1.84.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.84.Final) Updates `netty-handler-proxy` from 4.1.82.Final to 4.1.84.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.84.Final) Updates `netty-transport` from 4.1.82.Final to 4.1.84.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.84.Final) Updates `netty-transport-rxtx` from 4.1.82.Final to 4.1.84.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.84.Final) Updates `netty-transport-sctp` from 4.1.82.Final to 4.1.84.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.84.Final) Updates `netty-transport-udp` from 4.1.82.Final to 4.1.84.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d89617d7..e81fe70c 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.82.Final + 4.1.84.Final 2.0.3 1.8 From be00af61d19d49c0df0691ceedada029d4ebdc84 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 01:10:13 +0000 Subject: [PATCH 150/973] Bump selenium-java from 4.5.0 to 4.5.2 Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.5.0 to 4.5.2. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/commits) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e81fe70c..c4e605d0 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.5.0 + 4.5.2 test From de5f45ed06e78b01b56073e41591c344b8c4bd6c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 01:10:17 +0000 Subject: [PATCH 151/973] Bump versions-maven-plugin from 2.12.0 to 2.13.0 Bumps [versions-maven-plugin](https://github.com/mojohaus/versions-maven-plugin) from 2.12.0 to 2.13.0. - [Release notes](https://github.com/mojohaus/versions-maven-plugin/releases) - [Changelog](https://github.com/mojohaus/versions-maven-plugin/blob/master/ReleaseNotes.md) - [Commits](https://github.com/mojohaus/versions-maven-plugin/compare/versions-maven-plugin-2.12.0...2.13.0) --- updated-dependencies: - dependency-name: org.codehaus.mojo:versions-maven-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c4e605d0..e033eb53 100644 --- a/pom.xml +++ b/pom.xml @@ -702,7 +702,7 @@ org.codehaus.mojo versions-maven-plugin - 2.12.0 + 2.13.0 From 1e555cd242751500a065989d81968395cd4ca3f3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 01:10:24 +0000 Subject: [PATCH 152/973] Bump mockito-core from 4.8.0 to 4.8.1 Bumps [mockito-core](https://github.com/mockito/mockito) from 4.8.0 to 4.8.1. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v4.8.0...v4.8.1) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e033eb53..147ceb77 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 4.8.0 + 4.8.1 test From b730955cfaa4b3d90049157cf4feec6d7c7d25cd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Oct 2022 00:29:37 +0000 Subject: [PATCH 153/973] Bump maven-shade-plugin from 3.4.0 to 3.4.1 Bumps [maven-shade-plugin](https://github.com/apache/maven-shade-plugin) from 3.4.0 to 3.4.1. - [Release notes](https://github.com/apache/maven-shade-plugin/releases) - [Commits](https://github.com/apache/maven-shade-plugin/compare/maven-shade-plugin-3.4.0...maven-shade-plugin-3.4.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-shade-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 147ceb77..843e9a87 100644 --- a/pom.xml +++ b/pom.xml @@ -542,7 +542,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.4.0 + 3.4.1 package From a496d7f4b55aa6fa436e2f870949cd81b277a832 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Oct 2022 00:29:22 +0000 Subject: [PATCH 154/973] Bump selenium-java from 4.5.2 to 4.5.3 Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.5.2 to 4.5.3. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/commits) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 843e9a87..904e22e1 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.5.2 + 4.5.3 test From 6974f20126ca6a4f571417fc60b4326e53409ee7 Mon Sep 17 00:00:00 2001 From: Mateusz Pietryga Date: Tue, 1 Nov 2022 16:46:22 +0100 Subject: [PATCH 155/973] Revert "Bump netty.version from 4.1.82.Final to 4.1.84.Final" This reverts commit fd3955ec39fc2897a3fd671557d50ea2ac12208b. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 904e22e1..91fddaea 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.84.Final + 4.1.82.Final 2.0.3 1.8 From ad4a44b36c292f5cc66ed108b4f6b910a3992a42 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Nov 2022 00:08:33 +0000 Subject: [PATCH 156/973] Bump netty.version from 4.1.82.Final to 4.1.85.Final Bumps `netty.version` from 4.1.82.Final to 4.1.85.Final. Updates `netty-all` from 4.1.82.Final to 4.1.85.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.85.Final) Updates `netty-example` from 4.1.82.Final to 4.1.85.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.85.Final) Updates `netty-buffer` from 4.1.82.Final to 4.1.85.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.85.Final) Updates `netty-codec` from 4.1.82.Final to 4.1.85.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.85.Final) Updates `netty-codec-haproxy` from 4.1.82.Final to 4.1.85.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.85.Final) Updates `netty-codec-http` from 4.1.82.Final to 4.1.85.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.85.Final) Updates `netty-codec-socks` from 4.1.82.Final to 4.1.85.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.85.Final) Updates `netty-common` from 4.1.82.Final to 4.1.85.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.85.Final) Updates `netty-handler` from 4.1.82.Final to 4.1.85.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.85.Final) Updates `netty-handler-proxy` from 4.1.82.Final to 4.1.85.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.85.Final) Updates `netty-transport` from 4.1.82.Final to 4.1.85.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.85.Final) Updates `netty-transport-rxtx` from 4.1.82.Final to 4.1.85.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.85.Final) Updates `netty-transport-sctp` from 4.1.82.Final to 4.1.85.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.82.Final...netty-4.1.85.Final) Updates `netty-transport-udp` from 4.1.82.Final to 4.1.85.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 91fddaea..a6348511 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.82.Final + 4.1.85.Final 2.0.3 1.8 From b461c3a2bd87e533beff8438c66a25236310a509 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Nov 2022 00:24:49 +0000 Subject: [PATCH 157/973] Bump selenium-java from 4.5.3 to 4.6.0 Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.5.3 to 4.6.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/commits/selenium-4.6.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a6348511..e5c3448c 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.5.3 + 4.6.0 test From de8cee111a4a7d2050136a890af18f502d30f6b1 Mon Sep 17 00:00:00 2001 From: Valery Yatsynovich Date: Wed, 16 Nov 2022 18:39:39 +0300 Subject: [PATCH 158/973] Make unit tests for header values parsing logic atomic --- .../proxy/impl/ProxyUtilsTest.java | 81 ++++++++++++------- 1 file changed, 52 insertions(+), 29 deletions(-) diff --git a/src/test/java/org/littleshoot/proxy/impl/ProxyUtilsTest.java b/src/test/java/org/littleshoot/proxy/impl/ProxyUtilsTest.java index bf7217ae..df33ada9 100644 --- a/src/test/java/org/littleshoot/proxy/impl/ProxyUtilsTest.java +++ b/src/test/java/org/littleshoot/proxy/impl/ProxyUtilsTest.java @@ -57,68 +57,91 @@ public void testAddNewViaHeader() { } @Test - public void testCommaSeparatedHeaderValues() { - DefaultHttpMessage message; - List commaSeparatedHeaders; - - // test the empty headers case - message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); - commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues(HttpHeaderNames.TRANSFER_ENCODING, message); + public void testGetHeaderValuesWhenHeadersAreEmpty() { + DefaultHttpMessage message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); + List commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues( + HttpHeaderNames.TRANSFER_ENCODING, message); assertThat(commaSeparatedHeaders, empty()); + } - // two headers present, but no values - message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); + @Test + public void testGetHeaderValuesWhenTwoHeadersWithNoValuesArePresent() { + DefaultHttpMessage message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, ""); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, ""); - commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues(HttpHeaderNames.TRANSFER_ENCODING, message); + List commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues( + HttpHeaderNames.TRANSFER_ENCODING, message); assertThat(commaSeparatedHeaders, empty()); + } - // a single header value - message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); + @Test + public void testGetHeaderValuesWhenSingleHeaderValueIsPresent() { + DefaultHttpMessage message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, "chunked"); - commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues(HttpHeaderNames.TRANSFER_ENCODING, message); + List commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues( + HttpHeaderNames.TRANSFER_ENCODING, message); assertThat(commaSeparatedHeaders, contains("chunked")); + } - // a single header value with extra spaces - message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); + @Test + public void testGetHeaderValuesWhenSingleHeaderValueWithExtraSpacesIsPresent() { + DefaultHttpMessage message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, " chunked , "); - commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues(HttpHeaderNames.TRANSFER_ENCODING, message); + List commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues( + HttpHeaderNames.TRANSFER_ENCODING, message); assertThat(commaSeparatedHeaders, contains("chunked")); + } - // two comma-separated values in one header line - message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); + @Test + public void testGetHeaderValuesWhenTwoCommaSeparatedValuesInOneHeaderLineArePresent() { + DefaultHttpMessage message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, "compress, gzip"); - commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues(HttpHeaderNames.TRANSFER_ENCODING, message); + List commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues( + HttpHeaderNames.TRANSFER_ENCODING, message); assertThat(commaSeparatedHeaders, contains("compress", "gzip")); + } + @Test + public void testGetHeaderValuesWhenTwoCommaSeparatedValuesInOneHeaderLineWithSpuriousCommaAndSpaceArePresent() { // two comma-separated values in one header line with a spurious ',' and space. see RFC 7230 section 7 // for information on empty list items (not all of which are valid header-values). - message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); + DefaultHttpMessage message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, "compress, gzip, ,"); - commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues(HttpHeaderNames.TRANSFER_ENCODING, message); + List commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues( + HttpHeaderNames.TRANSFER_ENCODING, message); assertThat(commaSeparatedHeaders, contains("compress", "gzip")); + } - // two values in two separate header lines - message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); + @Test + public void testGetHeaderValuesWhenTwoValuesInTwoSeparateHeaderLinesArePresent() { + DefaultHttpMessage message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, "gzip"); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, "chunked"); - commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues(HttpHeaderNames.TRANSFER_ENCODING, message); + List commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues( + HttpHeaderNames.TRANSFER_ENCODING, message); assertThat(commaSeparatedHeaders, contains("gzip", "chunked")); + } - // multiple comma-separated values in two separate header lines - message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); + @Test + public void testGetHeaderValuesWhenMultipleCommaSeparatedValuesInTwoSeparateHeaderLinesArePresent() { + DefaultHttpMessage message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, "gzip, compress"); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, "deflate, gzip"); - commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues(HttpHeaderNames.TRANSFER_ENCODING, message); + List commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues( + HttpHeaderNames.TRANSFER_ENCODING, message); assertThat(commaSeparatedHeaders, contains("gzip", "compress", "deflate", "gzip")); + } + @Test + public void testGetHeaderValuesWhenMultipleCommaSeparatedValuesInMultipleSeparateHeaderLinesArePresent() { // multiple comma-separated values in multiple header lines with spurious spaces, commas, // and tabs (horizontal tabs are defined as optional whitespace in RFC 7230 section 3.2.3) - message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); + DefaultHttpMessage message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, " gzip,compress,"); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, "\tdeflate\t, gzip, "); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, ",gzip,,deflate,\t, ,"); - commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues(HttpHeaderNames.TRANSFER_ENCODING, message); + List commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues( + HttpHeaderNames.TRANSFER_ENCODING, message); assertThat(commaSeparatedHeaders, contains("gzip", "compress", "deflate", "gzip", "gzip", "deflate")); } From a8f6f86e01039a79d24223155587a88d27805c86 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Wed, 16 Nov 2022 20:30:04 +0200 Subject: [PATCH 159/973] fix tests after upgrading Netty Starting from version 4.1.83.Final, Netty strictly validates names of http headers (doesn't allow commas and spaces in header name). I don't know if LittleProxy tests really need to use such non-standard header names, but at least the test is green now. :) --- src/test/java/org/littleshoot/proxy/impl/ProxyUtilsTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/littleshoot/proxy/impl/ProxyUtilsTest.java b/src/test/java/org/littleshoot/proxy/impl/ProxyUtilsTest.java index df33ada9..23d788cb 100644 --- a/src/test/java/org/littleshoot/proxy/impl/ProxyUtilsTest.java +++ b/src/test/java/org/littleshoot/proxy/impl/ProxyUtilsTest.java @@ -85,7 +85,7 @@ public void testGetHeaderValuesWhenSingleHeaderValueIsPresent() { @Test public void testGetHeaderValuesWhenSingleHeaderValueWithExtraSpacesIsPresent() { - DefaultHttpMessage message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); + DefaultHttpMessage message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK, false); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, " chunked , "); List commaSeparatedHeaders = ProxyUtils.getAllCommaSeparatedHeaderValues( HttpHeaderNames.TRANSFER_ENCODING, message); @@ -136,7 +136,7 @@ public void testGetHeaderValuesWhenMultipleCommaSeparatedValuesInTwoSeparateHead public void testGetHeaderValuesWhenMultipleCommaSeparatedValuesInMultipleSeparateHeaderLinesArePresent() { // multiple comma-separated values in multiple header lines with spurious spaces, commas, // and tabs (horizontal tabs are defined as optional whitespace in RFC 7230 section 3.2.3) - DefaultHttpMessage message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); + DefaultHttpMessage message = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK, false); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, " gzip,compress,"); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, "\tdeflate\t, gzip, "); message.headers().add(HttpHeaderNames.TRANSFER_ENCODING, ",gzip,,deflate,\t, ,"); From e01eeb8cf0360ba66c58b03b561c7b0009fa682a Mon Sep 17 00:00:00 2001 From: Valery Yatsynovich Date: Thu, 17 Nov 2022 12:39:00 +0300 Subject: [PATCH 160/973] CI: run build on all major OS-s --- .github/workflows/main.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8d34c6f8..63fe9f26 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,8 +10,11 @@ on: jobs: build: + strategy: + matrix: + platform: [ubuntu-latest, macos-latest, windows-latest] - runs-on: ubuntu-latest + runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v3 @@ -35,4 +38,4 @@ jobs: name: test-report path: | target/surefire-reports - target/site \ No newline at end of file + target/site From 0b280139af9c7a771437da0f02f15ac83513013b Mon Sep 17 00:00:00 2001 From: Valery Yatsynovich Date: Thu, 17 Nov 2022 01:58:22 +0300 Subject: [PATCH 161/973] Respect full KeyStore file path while generating certs by `SelfSignedMitmManager` --- .../extras/SelfSignedSslEngineSource.java | 2 +- .../proxy/BaseChainedProxyTest.java | 3 +- ...nedGeneratedSslEngineChainedProxyTest.java | 57 +++++++++++++++++++ 3 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 src/test/java/org/littleshoot/proxy/SelfSignedGeneratedSslEngineChainedProxyTest.java diff --git a/src/main/java/org/littleshoot/proxy/extras/SelfSignedSslEngineSource.java b/src/main/java/org/littleshoot/proxy/extras/SelfSignedSslEngineSource.java index 8a3c2084..fd35e424 100644 --- a/src/main/java/org/littleshoot/proxy/extras/SelfSignedSslEngineSource.java +++ b/src/main/java/org/littleshoot/proxy/extras/SelfSignedSslEngineSource.java @@ -155,7 +155,7 @@ private KeyStore loadKeyStore() throws IOException, GeneralSecurityException { } else { File keyStoreLocalFile = new File(keyStoreFile); if(!keyStoreLocalFile.isFile()) { - initializeKeyStore(keyStoreLocalFile.getName()); + initializeKeyStore(keyStoreLocalFile.getAbsolutePath()); } loadKeyStore(keyStore, keyStoreLocalFile.toURI().toURL()); } diff --git a/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java index c567a00f..bf33abd3 100644 --- a/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java @@ -3,6 +3,7 @@ import io.netty.handler.codec.http.HttpRequest; import org.littleshoot.proxy.impl.DefaultHttpProxyServer; +import java.io.IOException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.UnknownHostException; @@ -47,7 +48,7 @@ public void requestReceivedFromClient(FlowContext flowContext, protected HttpProxyServer upstreamProxy; @Override - protected void setUp() { + protected void setUp() throws IOException { REQUESTS_SENT_BY_DOWNSTREAM.set(0); REQUESTS_RECEIVED_BY_UPSTREAM.set(0); TRANSPORTS_USED.clear(); diff --git a/src/test/java/org/littleshoot/proxy/SelfSignedGeneratedSslEngineChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/SelfSignedGeneratedSslEngineChainedProxyTest.java new file mode 100644 index 00000000..0052b616 --- /dev/null +++ b/src/test/java/org/littleshoot/proxy/SelfSignedGeneratedSslEngineChainedProxyTest.java @@ -0,0 +1,57 @@ +package org.littleshoot.proxy; + +import static org.junit.Assert.assertTrue; + +import java.io.File; +import java.io.IOException; + +import javax.net.ssl.SSLEngine; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.littleshoot.proxy.extras.SelfSignedSslEngineSource; + +public class SelfSignedGeneratedSslEngineChainedProxyTest extends BaseChainedProxyTest { + + @Rule + public TemporaryFolder temporaryFolder = new TemporaryFolder(); + + private SslEngineSource sslEngineSource; + + @Override + protected void setUp() throws IOException { + String keyStorePath = temporaryFolder.newFolder("certs").toPath().resolve("chain_proxy_keystore.jks") + .toString(); + sslEngineSource = new SelfSignedSslEngineSource(keyStorePath, false, true, "littleproxy", + "Be Your Own Lantern"); + super.setUp(); + } + + @Test + public void testKeyStoreGeneratedAtProvidedPath() { + File keyStoreFile = temporaryFolder.getRoot().toPath().resolve("./certs/chain_proxy_keystore.jks").toFile(); + assertTrue(keyStoreFile.exists()); + } + + @Override + protected HttpProxyServerBootstrap upstreamProxy() { + return super.upstreamProxy() + .withSslEngineSource(sslEngineSource); + } + + @Override + protected ChainedProxy newChainedProxy() { + return new BaseChainedProxy() { + @Override + public boolean requiresEncryption() { + return true; + } + + @Override + public SSLEngine newSslEngine() { + return sslEngineSource.newSslEngine(); + } + }; + } +} From 60ed111386827ef01241c174ee7d72074979bbac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Nov 2022 01:13:26 +0000 Subject: [PATCH 162/973] Bump dnsjava from 3.5.1 to 3.5.2 Bumps [dnsjava](https://github.com/dnsjava/dnsjava) from 3.5.1 to 3.5.2. - [Release notes](https://github.com/dnsjava/dnsjava/releases) - [Changelog](https://github.com/dnsjava/dnsjava/blob/master/Changelog) - [Commits](https://github.com/dnsjava/dnsjava/compare/v3.5.1...v3.5.2) --- updated-dependencies: - dependency-name: dnsjava:dnsjava dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e5c3448c..4a5abc77 100644 --- a/pom.xml +++ b/pom.xml @@ -278,7 +278,7 @@ dnsjava dnsjava - 3.5.1 + 3.5.2 true From 707dfb28f7cf46e866c9102d0fcfc5cec5952cf1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Nov 2022 01:13:19 +0000 Subject: [PATCH 163/973] Bump maven-install-plugin from 3.0.1 to 3.1.0 Bumps [maven-install-plugin](https://github.com/apache/maven-install-plugin) from 3.0.1 to 3.1.0. - [Release notes](https://github.com/apache/maven-install-plugin/releases) - [Commits](https://github.com/apache/maven-install-plugin/compare/maven-install-plugin-3.0.1...maven-install-plugin-3.1.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-install-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4a5abc77..7062fdac 100644 --- a/pom.xml +++ b/pom.xml @@ -464,7 +464,7 @@ org.apache.maven.plugins maven-install-plugin - 3.0.1 + 3.1.0 From 2641a7c7a190a2f7fb83b8e5bfe083ced3ce54b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Nov 2022 01:13:01 +0000 Subject: [PATCH 164/973] Bump slf4j.version from 2.0.3 to 2.0.4 Bumps `slf4j.version` from 2.0.3 to 2.0.4. Updates `slf4j-reload4j` from 2.0.3 to 2.0.4 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.3...v_2.0.4) Updates `slf4j-api` from 2.0.3 to 2.0.4 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.3...v_2.0.4) --- updated-dependencies: - dependency-name: org.slf4j:slf4j-reload4j dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.slf4j:slf4j-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7062fdac..b84f3fe9 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ UTF-8 github 4.1.85.Final - 2.0.3 + 2.0.4 1.8 From 4757f3242fb0625583f41feb28b733f48303c25d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Nov 2022 01:12:53 +0000 Subject: [PATCH 165/973] Bump mockito-core from 4.8.1 to 4.9.0 Bumps [mockito-core](https://github.com/mockito/mockito) from 4.8.1 to 4.9.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v4.8.1...v4.9.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b84f3fe9..8ae1799d 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 4.8.1 + 4.9.0 test From 8b98017c65293bcbac81162d713b7ed619b91580 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Mon, 21 Nov 2022 22:36:03 +0200 Subject: [PATCH 166/973] release LittleProxy 2.0.14 --- README.md | 4 ++-- RELEASE_NOTES.md | 7 ++++++- pom.xml | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 489412bc..55dbbaaf 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.13 + 2.0.14 ``` Or with Gradle like this -`implementation "xyz.rogfam:littleproxy:2.0.13"` +`implementation "xyz.rogfam:littleproxy:2.0.14"` Once you've included LittleProxy, you can start the server with the following: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index ded82b2b..bc7859b1 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,12 @@ # Release Notes -- 2.0.14 +- 2.0.14 (21.11.2022, https://github.com/LittleProxy/LittleProxy/milestone/19?closed=1) + - #184 Respect full KeyStore file path while generating certs by `SelfSignedMitmManager` -- thanks to Valery Yatsynovich + - #187 CI: run build on all major OS-s -- thanks to Valery Yatsynovich + - #183 Bump netty from 4.1.82.Final to 4.1.85.Final -- thanks to Valery Yatsynovich for fixing tests after upgrading Netty. + - #189 Bump slf4j.version from 2.0.3 to 2.0.4 - Bump jackson-databind from 2.13.2.2 to 2.13.4 + - #191 Bump dnsjava from 3.5.1 to 3.5.2 - 2.0.13 (04.10.2022) - #170 restore transitive dependencies in generated pom -- thanks to Mateusz Pietryga for PR #171 diff --git a/pom.xml b/pom.xml index 8ae1799d..119cdb06 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.14-SNAPSHOT + 2.0.14 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 3ae0ecfb8ec829f02ab3fa61214a63b48157477f Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Mon, 21 Nov 2022 22:45:00 +0200 Subject: [PATCH 167/973] working on LittleProxy 2.0.15 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 119cdb06..af706b1a 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.14 + 2.0.15-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 075032d4b722b7f16c4d92d2aedf00fe6fd4b87b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Nov 2022 00:48:07 +0000 Subject: [PATCH 168/973] Bump slf4j.version from 2.0.4 to 2.0.5 Bumps `slf4j.version` from 2.0.4 to 2.0.5. Updates `slf4j-reload4j` from 2.0.4 to 2.0.5 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.4...v_2.0.5) Updates `slf4j-api` from 2.0.4 to 2.0.5 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.4...v_2.0.5) --- updated-dependencies: - dependency-name: org.slf4j:slf4j-reload4j dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.slf4j:slf4j-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index af706b1a..030e01c2 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ UTF-8 github 4.1.85.Final - 2.0.4 + 2.0.5 1.8 From 625c8672e7daf462f647574048559bcbc57e23e4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Dec 2022 00:28:08 +0000 Subject: [PATCH 169/973] Bump selenium-java from 4.6.0 to 4.7.0 Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.6.0 to 4.7.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.6.0...selenium-4.7.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 030e01c2..99dd39a6 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.6.0 + 4.7.0 test From 0b2d7c4eb9fa7da3e925a4414750ebe62dfcdfc4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Dec 2022 00:28:27 +0000 Subject: [PATCH 170/973] Bump httpclient from 4.5.13 to 4.5.14 Bumps httpclient from 4.5.13 to 4.5.14. --- updated-dependencies: - dependency-name: org.apache.httpcomponents:httpclient dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 99dd39a6..479699c5 100644 --- a/pom.xml +++ b/pom.xml @@ -242,7 +242,7 @@ org.apache.httpcomponents httpclient - 4.5.13 + 4.5.14 test From 8decca054627913a145e9e25aeae4b6ddccbe49f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Dec 2022 00:28:33 +0000 Subject: [PATCH 171/973] Bump maven-dependency-plugin from 3.3.0 to 3.4.0 Bumps [maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 3.3.0 to 3.4.0. - [Release notes](https://github.com/apache/maven-dependency-plugin/releases) - [Commits](https://github.com/apache/maven-dependency-plugin/compare/maven-dependency-plugin-3.3.0...maven-dependency-plugin-3.4.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-dependency-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 479699c5..7025d0bc 100644 --- a/pom.xml +++ b/pom.xml @@ -435,7 +435,7 @@ org.apache.maven.plugins maven-dependency-plugin - 3.3.0 + 3.4.0 From 74ef8d6cd59fb551886301a84c69c0093adf47c2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Dec 2022 21:41:23 +0000 Subject: [PATCH 172/973] Bump netty-codec-haproxy from 4.1.85.Final to 4.1.86.Final Bumps [netty-codec-haproxy](https://github.com/netty/netty) from 4.1.85.Final to 4.1.86.Final. - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.85.Final...netty-4.1.86.Final) --- updated-dependencies: - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7025d0bc..a7fc17ef 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.85.Final + 4.1.86.Final 2.0.5 1.8 From 5868c17c1f66df7f16bce7d9e1dca00637529e15 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Dec 2022 00:17:18 +0000 Subject: [PATCH 173/973] Bump selenium-java from 4.7.0 to 4.7.1 Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.7.0 to 4.7.1. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/commits) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a7fc17ef..5f210344 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.7.0 + 4.7.1 test From a0397007cf400d5f12d0e6055d2bee74375230b8 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Tue, 13 Dec 2022 23:51:43 +0200 Subject: [PATCH 174/973] release LittleProxy 2.0.15 --- README.md | 4 ++-- RELEASE_NOTES.md | 6 ++++++ pom.xml | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 55dbbaaf..fbca0dcd 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.14 + 2.0.15 ``` Or with Gradle like this -`implementation "xyz.rogfam:littleproxy:2.0.14"` +`implementation "xyz.rogfam:littleproxy:2.0.15"` Once you've included LittleProxy, you can start the server with the following: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index bc7859b1..af22e156 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,11 @@ # Release Notes +- 2.0.15 (14.12.2022, https://github.com/LittleProxy/LittleProxy/milestone/TODO?closed=1) + - Bump netty-codec-haproxy from 4.1.85.Final to 4.1.86.Final + - Bump selenium-java from 4.6.0 to 4.7.1 + - Bump slf4j.version from 2.0.4 to 2.0.5 + - Bump httpclient from 4.5.13 to 4.5.14 + - 2.0.14 (21.11.2022, https://github.com/LittleProxy/LittleProxy/milestone/19?closed=1) - #184 Respect full KeyStore file path while generating certs by `SelfSignedMitmManager` -- thanks to Valery Yatsynovich - #187 CI: run build on all major OS-s -- thanks to Valery Yatsynovich diff --git a/pom.xml b/pom.xml index 5f210344..fa78f7bf 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.15-SNAPSHOT + 2.0.15 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 981cc87484eb293a9bb7aeec3842c0e48ef84810 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Tue, 13 Dec 2022 23:59:35 +0200 Subject: [PATCH 175/973] working on LittleProxy 2.0.16 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fa78f7bf..aab67989 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.15 + 2.0.16-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 3ee3cba213a774743af8d69b3b2d762696c34201 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Dec 2022 00:48:44 +0000 Subject: [PATCH 176/973] Bump mockito-core from 4.9.0 to 4.10.0 Bumps [mockito-core](https://github.com/mockito/mockito) from 4.9.0 to 4.10.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v4.9.0...v4.10.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index aab67989..633461ee 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 4.9.0 + 4.10.0 test From 70825cee6b8b639b7210fc9250622555fd85c6f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Dec 2022 00:48:24 +0000 Subject: [PATCH 177/973] Bump slf4j.version from 2.0.5 to 2.0.6 Bumps `slf4j.version` from 2.0.5 to 2.0.6. Updates `slf4j-reload4j` from 2.0.5 to 2.0.6 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.5...v_2.0.6) Updates `slf4j-api` from 2.0.5 to 2.0.6 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/compare/v_2.0.5...v_2.0.6) --- updated-dependencies: - dependency-name: org.slf4j:slf4j-reload4j dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.slf4j:slf4j-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 633461ee..e4b5325d 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ UTF-8 github 4.1.86.Final - 2.0.5 + 2.0.6 1.8 From 938853f97519ffb2564ed9be8df44070800f2a81 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Dec 2022 00:48:50 +0000 Subject: [PATCH 178/973] Bump selenium-java from 4.7.1 to 4.7.2 Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.7.1 to 4.7.2. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/commits) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e4b5325d..2a71f720 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.7.1 + 4.7.2 test From 5b0331d79d210c71da7aeb4c4f3c511f93e2bb9e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Dec 2022 00:48:59 +0000 Subject: [PATCH 179/973] Bump versions-maven-plugin from 2.13.0 to 2.14.1 Bumps [versions-maven-plugin](https://github.com/mojohaus/versions) from 2.13.0 to 2.14.1. - [Release notes](https://github.com/mojohaus/versions/releases) - [Changelog](https://github.com/mojohaus/versions/blob/master/ReleaseNotes.md) - [Commits](https://github.com/mojohaus/versions/compare/2.13.0...2.14.1) --- updated-dependencies: - dependency-name: org.codehaus.mojo:versions-maven-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2a71f720..4e629a41 100644 --- a/pom.xml +++ b/pom.xml @@ -702,7 +702,7 @@ org.codehaus.mojo versions-maven-plugin - 2.13.0 + 2.14.1 From 39741b3fe585d241d5b51414e17849108c3bd8ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Dec 2022 00:47:41 +0000 Subject: [PATCH 180/973] Bump versions-maven-plugin from 2.14.1 to 2.14.2 Bumps [versions-maven-plugin](https://github.com/mojohaus/versions) from 2.14.1 to 2.14.2. - [Release notes](https://github.com/mojohaus/versions/releases) - [Changelog](https://github.com/mojohaus/versions/blob/master/ReleaseNotes.md) - [Commits](https://github.com/mojohaus/versions/compare/2.14.1...2.14.2) --- updated-dependencies: - dependency-name: org.codehaus.mojo:versions-maven-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4e629a41..ea2dde98 100644 --- a/pom.xml +++ b/pom.xml @@ -702,7 +702,7 @@ org.codehaus.mojo versions-maven-plugin - 2.14.1 + 2.14.2 From e7a2f52957e9ca032b7c38f3f5e5ad59e8db6470 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Jan 2023 00:23:05 +0000 Subject: [PATCH 181/973] Bump mockito-core from 4.10.0 to 4.11.0 Bumps [mockito-core](https://github.com/mockito/mockito) from 4.10.0 to 4.11.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v4.10.0...v4.11.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ea2dde98..c5d32a4e 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 4.10.0 + 4.11.0 test From bf28ed5cec2ce11b71035d7848c1e75de0124192 Mon Sep 17 00:00:00 2001 From: Valery Yatsynovich Date: Fri, 6 Jan 2023 12:51:54 +0300 Subject: [PATCH 182/973] Remove redundant file generated by unit test In general the removed file should never be committed, since it's generated by unit tests which were designed to use build root directory instead of temp directories. --- littleproxy_cert | Bin 1233 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 littleproxy_cert diff --git a/littleproxy_cert b/littleproxy_cert deleted file mode 100644 index a0eadde6a2d042d146cda08c6def39fbc1aa9c5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1233 zcmV;?1TOn9f&|Slf&#Um0|Eg80t9US`1&vn1_>&LNQUWc`zUs4Kgt?GBPnRFfuYRH(D4EGBGkSF)=bXFfcMQF*jN;7BLhs z5(WcR1OpQbY-x0KY-MnAZ+Lkyf&wBi4F(A+hDe6@4FLfG1potr0uKN%f&vNxf&u{m zqG==pQ3o%?WYKEJk{~Jb7pArggWH$U=+!b>mZ&1U(-WemftpzP<~8J7BigZsM69Wf z-KzI&u~`(Pdu?5u#c<=`sN6|ZXj(AIU26)-8ee9PVfRh>FwAf)^PAk@MPTP2vsj<; zPYF?8+R~bw@fli41kfwBpb9o(BG#zzZYgie*RGn*UM!5ER>?g&_ z^iZga`AY%OzI|-r82g^!SKXxyLFU=+o>8V@(H~6E?;Jv3if99(n+_1uII?F#Ta&4$ z*@eWFCo-X>_bu!hL@F;lT@7`S)Wczf2+qdTBZh$+U9CrMT zFqGx5@vII`{2wB9X~~6aR!{5^=_&$NDMfR7ngeHZHrg6olj%n09jQ%?9IpOz#dZ%4 zX$sSxMaq5oa|5B{`m%eo4C=9P8AhL%(jCxojcZP%-!t&cWHUuKvA3 zq&({Iz=mCi9P=CtMDjGL~^h$lds9tX&_uyx2=YQirmlx!yl6+^^qD*Kyo;sbir zqxu}PCHF8-tH#)mXE8r{=IvJ*408=M+BRHJwuDw?2~K!upYa|&!GjcU0s{d60iz)> zA21yT163Uk1QrAo17@+wW2sx7ExFIU0z8SXkd6!4FbxI?Duzgg_YDC73k3iJf&u{m ziTdUjoF4`wTv#TApjGF}XHtD?+dPQRb^}ZS0S{@~H1Vp;$(laf(G{^;Sqh92VQ4}e zZT)fFq|`Mz3@cr66o4QycH_!AYwXRb5{77df$f*JA5H?%h64TXj0FmEMeWb+wy`IT z^Yg{%;5sAdd;j40y{Hsguwkcy6SXyarg`@hotkYVa>d!31hTG@=p|~ql_JZ}kcr&x z0zBg~$C|5MID&lTOVMM03G4xXh?MMiW2v)xfWVx))((A4yrv_gM!jiVlGNeIgI+n9 z!g4ZwsG?GDH2Ty)M2zYkY+I2rGlJ+6t1HiTIpQunh=@8ne7n%81%9Y%k>7!`Z$OT^ z`PH{Sqojd7B?JvamC1;b1>e$e-s5B+>P4p{EpkWSoM(LBGtzlFEH=55!kf~zOjo_e)J+66Dq_FIh|gEnDT>E^zMpu8M|#jF9LvzI;$8t@b= z0=6q$XR9VPnFOo{C)xa65z|f2oYqYHg>~XUm6VO**kTRm_c?h|un6k5Q{v@wS_PMB vV^gKEyT_*v$zcnxfag}no@x6-GCyckEpI$8oDW7{mKG{epS}pz^|5gC4Zk$A From 52f1dd39133d02d29feb870a8cc559442f6d891c Mon Sep 17 00:00:00 2001 From: Valery Yatsynovich Date: Fri, 6 Jan 2023 12:40:00 +0300 Subject: [PATCH 183/973] Export certificate to generated by `SelfSignedMitmManager` keystore directory `SelfSignedMitmManager` created KeyStore file at the provided path and then exported certificate to another directory (depending on the execution way, usually it was a root directory of the running process). This change fixes the behavior: now certificate is exported to the same directory where KeyStore file is created. --- .../extras/SelfSignedSslEngineSource.java | 32 +++++++++++++------ ...nedGeneratedSslEngineChainedProxyTest.java | 6 ++++ 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/extras/SelfSignedSslEngineSource.java b/src/main/java/org/littleshoot/proxy/extras/SelfSignedSslEngineSource.java index fd35e424..f72c9aa1 100644 --- a/src/main/java/org/littleshoot/proxy/extras/SelfSignedSslEngineSource.java +++ b/src/main/java/org/littleshoot/proxy/extras/SelfSignedSslEngineSource.java @@ -10,6 +10,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.URL; +import java.nio.file.Paths; import java.security.GeneralSecurityException; import java.security.KeyStore; import java.security.Security; @@ -79,15 +80,26 @@ public SSLContext getSslContext() { return sslContext; } - private void initializeKeyStore(String filename) { - nativeCall("keytool", "-genkey", "-alias", alias, "-keysize", - "4096", "-validity", "36500", "-keyalg", "RSA", "-dname", - "CN=littleproxy", "-keypass", password, "-storepass", - password, "-keystore", filename); - - nativeCall("keytool", "-exportcert", "-alias", alias, "-keystore", - filename, "-storepass", password, "-file", - "littleproxy_cert"); + private void initializeKeyStore(File keyStoreLocalFile) { + File keyStoreLocalAbsoluteFile = keyStoreLocalFile.getAbsoluteFile(); + + nativeCall("keytool", "-genkey", + "-alias", alias, + "-keysize", "4096", + "-validity", "36500", + "-keyalg", "RSA", + "-dname", "CN=littleproxy", + "-keypass", password, + "-storepass", password, + "-keystore", keyStoreLocalAbsoluteFile.getPath() + ); + + nativeCall("keytool", "-exportcert", + "-alias", alias, + "-keystore", keyStoreLocalAbsoluteFile.getPath(), + "-storepass", password, + "-file", Paths.get(keyStoreLocalAbsoluteFile.getParent(),"littleproxy_cert").toString() + ); } private void initializeSSLContext() { @@ -155,7 +167,7 @@ private KeyStore loadKeyStore() throws IOException, GeneralSecurityException { } else { File keyStoreLocalFile = new File(keyStoreFile); if(!keyStoreLocalFile.isFile()) { - initializeKeyStore(keyStoreLocalFile.getAbsolutePath()); + initializeKeyStore(keyStoreLocalFile); } loadKeyStore(keyStore, keyStoreLocalFile.toURI().toURL()); } diff --git a/src/test/java/org/littleshoot/proxy/SelfSignedGeneratedSslEngineChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/SelfSignedGeneratedSslEngineChainedProxyTest.java index 0052b616..e1a2825e 100644 --- a/src/test/java/org/littleshoot/proxy/SelfSignedGeneratedSslEngineChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/SelfSignedGeneratedSslEngineChainedProxyTest.java @@ -34,6 +34,12 @@ public void testKeyStoreGeneratedAtProvidedPath() { assertTrue(keyStoreFile.exists()); } + @Test + public void testCertExportedToKeyStoreDirectory() { + File certFile = temporaryFolder.getRoot().toPath().resolve("./certs/littleproxy_cert").toFile(); + assertTrue(certFile.exists()); + } + @Override protected HttpProxyServerBootstrap upstreamProxy() { return super.upstreamProxy() From b764af63e80be049682a4cb9a787f99b4718d8ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Jan 2023 00:58:46 +0000 Subject: [PATCH 184/973] Bump netty.version from 4.1.86.Final to 4.1.87.Final Bumps `netty.version` from 4.1.86.Final to 4.1.87.Final. Updates `netty-all` from 4.1.86.Final to 4.1.87.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.86.Final...netty-4.1.87.Final) Updates `netty-example` from 4.1.86.Final to 4.1.87.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.86.Final...netty-4.1.87.Final) Updates `netty-buffer` from 4.1.86.Final to 4.1.87.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.86.Final...netty-4.1.87.Final) Updates `netty-codec` from 4.1.86.Final to 4.1.87.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.86.Final...netty-4.1.87.Final) Updates `netty-codec-haproxy` from 4.1.86.Final to 4.1.87.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.86.Final...netty-4.1.87.Final) Updates `netty-codec-http` from 4.1.86.Final to 4.1.87.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.86.Final...netty-4.1.87.Final) Updates `netty-codec-socks` from 4.1.86.Final to 4.1.87.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.86.Final...netty-4.1.87.Final) Updates `netty-common` from 4.1.86.Final to 4.1.87.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.86.Final...netty-4.1.87.Final) Updates `netty-handler` from 4.1.86.Final to 4.1.87.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.86.Final...netty-4.1.87.Final) Updates `netty-handler-proxy` from 4.1.86.Final to 4.1.87.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.86.Final...netty-4.1.87.Final) Updates `netty-transport` from 4.1.86.Final to 4.1.87.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.86.Final...netty-4.1.87.Final) Updates `netty-transport-rxtx` from 4.1.86.Final to 4.1.87.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.86.Final...netty-4.1.87.Final) Updates `netty-transport-sctp` from 4.1.86.Final to 4.1.87.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.86.Final...netty-4.1.87.Final) Updates `netty-transport-udp` from 4.1.86.Final to 4.1.87.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c5d32a4e..ac060a2b 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.86.Final + 4.1.87.Final 2.0.6 1.8 From bbe2ddb431d301cf69c7e2c2d7acc77d1e5472f5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Jan 2023 00:59:44 +0000 Subject: [PATCH 185/973] Bump maven-dependency-plugin from 3.4.0 to 3.5.0 Bumps [maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 3.4.0 to 3.5.0. - [Release notes](https://github.com/apache/maven-dependency-plugin/releases) - [Commits](https://github.com/apache/maven-dependency-plugin/compare/maven-dependency-plugin-3.4.0...maven-dependency-plugin-3.5.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-dependency-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ac060a2b..daf8f771 100644 --- a/pom.xml +++ b/pom.xml @@ -435,7 +435,7 @@ org.apache.maven.plugins maven-dependency-plugin - 3.4.0 + 3.5.0 From 49ad8a96c2c2ea4bebf8f4fd39988074930e17c1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Jan 2023 01:00:45 +0000 Subject: [PATCH 186/973] Bump maven-project-info-reports-plugin from 3.4.1 to 3.4.2 Bumps [maven-project-info-reports-plugin](https://github.com/apache/maven-project-info-reports-plugin) from 3.4.1 to 3.4.2. - [Release notes](https://github.com/apache/maven-project-info-reports-plugin/releases) - [Commits](https://github.com/apache/maven-project-info-reports-plugin/compare/maven-project-info-reports-plugin-3.4.1...maven-project-info-reports-plugin-3.4.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-project-info-reports-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index daf8f771..3e671729 100644 --- a/pom.xml +++ b/pom.xml @@ -630,7 +630,7 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 3.4.1 + 3.4.2 From e9ab816e8e9f3d1cdf7d1231345e283fbf802891 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Jan 2023 01:00:51 +0000 Subject: [PATCH 187/973] Bump maven-surefire-report-plugin from 3.0.0-M7 to 3.0.0-M8 Bumps [maven-surefire-report-plugin](https://github.com/apache/maven-surefire) from 3.0.0-M7 to 3.0.0-M8. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.0.0-M7...surefire-3.0.0-M8) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-report-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3e671729..bedc03d8 100644 --- a/pom.xml +++ b/pom.xml @@ -641,7 +641,7 @@ org.apache.maven.plugins maven-surefire-report-plugin - 3.0.0-M7 + 3.0.0-M8 false From bd5ccf84003a24db205e28dc2f8908f1856e2eab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Jan 2023 01:00:57 +0000 Subject: [PATCH 188/973] Bump maven-pmd-plugin from 3.19.0 to 3.20.0 Bumps [maven-pmd-plugin](https://github.com/apache/maven-pmd-plugin) from 3.19.0 to 3.20.0. - [Release notes](https://github.com/apache/maven-pmd-plugin/releases) - [Commits](https://github.com/apache/maven-pmd-plugin/compare/maven-pmd-plugin-3.19.0...maven-pmd-plugin-3.20.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-pmd-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index bedc03d8..49ae2a9c 100644 --- a/pom.xml +++ b/pom.xml @@ -690,7 +690,7 @@ org.apache.maven.plugins maven-pmd-plugin - 3.19.0 + 3.20.0 true utf-8 From f941a4b2370ce8139472d93098a1167d21d48ee7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Jan 2023 00:54:02 +0000 Subject: [PATCH 189/973] Bump maven-surefire-plugin from 3.0.0-M7 to 3.0.0-M8 Bumps [maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.0.0-M7 to 3.0.0-M8. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.0.0-M7...surefire-3.0.0-M8) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 49ae2a9c..18f48856 100644 --- a/pom.xml +++ b/pom.xml @@ -502,7 +502,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M7 + 3.0.0-M8 From e8473d20a56eec4ced50e7f0b43b1638f54224fa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Jan 2023 00:53:45 +0000 Subject: [PATCH 190/973] Bump maven-checkstyle-plugin from 3.2.0 to 3.2.1 Bumps [maven-checkstyle-plugin](https://github.com/apache/maven-checkstyle-plugin) from 3.2.0 to 3.2.1. - [Release notes](https://github.com/apache/maven-checkstyle-plugin/releases) - [Commits](https://github.com/apache/maven-checkstyle-plugin/compare/maven-checkstyle-plugin-3.2.0...maven-checkstyle-plugin-3.2.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-checkstyle-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 18f48856..278f74e9 100644 --- a/pom.xml +++ b/pom.xml @@ -650,7 +650,7 @@ org.apache.maven.plugins maven-checkstyle-plugin - 3.2.0 + 3.2.1 From 61b87d7c4ac40b1fce14de9003b5206bc6f6bbb2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Jan 2023 00:54:13 +0000 Subject: [PATCH 191/973] Bump mockserver-netty from 5.14.0 to 5.15.0 Bumps [mockserver-netty](https://github.com/jamesdbloom/mockservice) from 5.14.0 to 5.15.0. - [Release notes](https://github.com/jamesdbloom/mockservice/releases) - [Changelog](https://github.com/mock-server/mockserver/blob/master/changelog.md) - [Commits](https://github.com/jamesdbloom/mockservice/compare/mockserver-5.14.0...mockserver-5.15.0) --- updated-dependencies: - dependency-name: org.mock-server:mockserver-netty dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 278f74e9..852d2cdb 100644 --- a/pom.xml +++ b/pom.xml @@ -209,7 +209,7 @@ org.mock-server mockserver-netty - 5.14.0 + 5.15.0 test From 887ace54322fc0c0c44f3d9ac66583b781378b4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Jan 2023 00:54:45 +0000 Subject: [PATCH 192/973] Bump mockito-core from 4.11.0 to 5.0.0 Bumps [mockito-core](https://github.com/mockito/mockito) from 4.11.0 to 5.0.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v4.11.0...v5.0.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 852d2cdb..6480e8f7 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 4.11.0 + 5.0.0 test From f2c5c182c42ac67ba193791a66c4520bbe1b0573 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Jan 2023 00:53:43 +0000 Subject: [PATCH 193/973] Bump selenium-java from 4.7.2 to 4.8.0 Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.7.2 to 4.8.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/commits/selenium-4.8.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6480e8f7..3877ffb9 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.7.2 + 4.8.0 test From a16109259070f44843f57e859033a40f4f4a638f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Jan 2023 00:53:37 +0000 Subject: [PATCH 194/973] Bump mockito-core from 5.0.0 to 5.1.0 Bumps [mockito-core](https://github.com/mockito/mockito) from 5.0.0 to 5.1.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.0.0...v5.1.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3877ffb9..f78b883e 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 5.0.0 + 5.1.0 test From 48885ef8c04844acde0b11673f4c86952a81d85f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Feb 2023 00:46:37 +0000 Subject: [PATCH 195/973] Bump mockito-core from 5.1.0 to 5.1.1 Bumps [mockito-core](https://github.com/mockito/mockito) from 5.1.0 to 5.1.1. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.1.0...v5.1.1) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f78b883e..a4192396 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 5.1.0 + 5.1.1 test From 9a0099fc723de16aed20951d286844e5464a9d13 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Feb 2023 00:46:26 +0000 Subject: [PATCH 196/973] Bump maven-enforcer-plugin from 3.1.0 to 3.2.1 Bumps [maven-enforcer-plugin](https://github.com/apache/maven-enforcer) from 3.1.0 to 3.2.1. - [Release notes](https://github.com/apache/maven-enforcer/releases) - [Commits](https://github.com/apache/maven-enforcer/compare/enforcer-3.1.0...enforcer-3.2.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-enforcer-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a4192396..0dc6a48d 100644 --- a/pom.xml +++ b/pom.xml @@ -417,7 +417,7 @@ org.apache.maven.plugins maven-enforcer-plugin - 3.1.0 + 3.2.1 From 7eaa022a0a4eabda995e04bd3c61d3b2a6e08b83 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Feb 2023 01:45:39 +0000 Subject: [PATCH 197/973] Bump maven-deploy-plugin from 3.0.0 to 3.1.0 Bumps [maven-deploy-plugin](https://github.com/apache/maven-deploy-plugin) from 3.0.0 to 3.1.0. - [Release notes](https://github.com/apache/maven-deploy-plugin/releases) - [Commits](https://github.com/apache/maven-deploy-plugin/compare/maven-deploy-plugin-3.0.0...maven-deploy-plugin-3.1.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-deploy-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0dc6a48d..b166e937 100644 --- a/pom.xml +++ b/pom.xml @@ -447,7 +447,7 @@ org.apache.maven.plugins maven-deploy-plugin - 3.0.0 + 3.1.0 From 1dde86b9cb328d5c42c3d145c4ab02299a04b8c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Feb 2023 01:47:35 +0000 Subject: [PATCH 198/973] Bump netty.version from 4.1.87.Final to 4.1.88.Final Bumps `netty.version` from 4.1.87.Final to 4.1.88.Final. Updates `netty-all` from 4.1.87.Final to 4.1.88.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.87.Final...netty-4.1.88.Final) Updates `netty-example` from 4.1.87.Final to 4.1.88.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.87.Final...netty-4.1.88.Final) Updates `netty-buffer` from 4.1.87.Final to 4.1.88.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.87.Final...netty-4.1.88.Final) Updates `netty-codec` from 4.1.87.Final to 4.1.88.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.87.Final...netty-4.1.88.Final) Updates `netty-codec-haproxy` from 4.1.87.Final to 4.1.88.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.87.Final...netty-4.1.88.Final) Updates `netty-codec-http` from 4.1.87.Final to 4.1.88.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.87.Final...netty-4.1.88.Final) Updates `netty-codec-socks` from 4.1.87.Final to 4.1.88.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.87.Final...netty-4.1.88.Final) Updates `netty-common` from 4.1.87.Final to 4.1.88.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.87.Final...netty-4.1.88.Final) Updates `netty-handler` from 4.1.87.Final to 4.1.88.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.87.Final...netty-4.1.88.Final) Updates `netty-handler-proxy` from 4.1.87.Final to 4.1.88.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.87.Final...netty-4.1.88.Final) Updates `netty-transport` from 4.1.87.Final to 4.1.88.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.87.Final...netty-4.1.88.Final) Updates `netty-transport-rxtx` from 4.1.87.Final to 4.1.88.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.87.Final...netty-4.1.88.Final) Updates `netty-transport-sctp` from 4.1.87.Final to 4.1.88.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.87.Final...netty-4.1.88.Final) Updates `netty-transport-udp` from 4.1.87.Final to 4.1.88.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b166e937..ebf2abf4 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.87.Final + 4.1.88.Final 2.0.6 1.8 From 0d189995c60b0bb4faac3aa1bfe5a1fcea9ac6ae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Feb 2023 01:44:30 +0000 Subject: [PATCH 199/973] Bump maven-javadoc-plugin from 3.4.1 to 3.5.0 Bumps [maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) from 3.4.1 to 3.5.0. - [Release notes](https://github.com/apache/maven-javadoc-plugin/releases) - [Commits](https://github.com/apache/maven-javadoc-plugin/compare/maven-javadoc-plugin-3.4.1...maven-javadoc-plugin-3.5.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-javadoc-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ebf2abf4..f80e3489 100644 --- a/pom.xml +++ b/pom.xml @@ -488,7 +488,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.4.1 + 3.5.0 all,-missing private From 980a0f383c754bce8a72e995bd018cf92a86516e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Feb 2023 01:43:28 +0000 Subject: [PATCH 200/973] Bump maven-surefire-report-plugin from 3.0.0-M8 to 3.0.0-M9 Bumps [maven-surefire-report-plugin](https://github.com/apache/maven-surefire) from 3.0.0-M8 to 3.0.0-M9. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.0.0-M8...surefire-3.0.0-M9) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-report-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f80e3489..aeaab34e 100644 --- a/pom.xml +++ b/pom.xml @@ -641,7 +641,7 @@ org.apache.maven.plugins maven-surefire-report-plugin - 3.0.0-M8 + 3.0.0-M9 false From 33b7c79584de02fe4b52ce80772fb98b3345cf74 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Feb 2023 01:43:01 +0000 Subject: [PATCH 201/973] Bump maven-surefire-plugin from 3.0.0-M8 to 3.0.0-M9 Bumps [maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.0.0-M8 to 3.0.0-M9. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.0.0-M8...surefire-3.0.0-M9) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index aeaab34e..4daa07ca 100644 --- a/pom.xml +++ b/pom.xml @@ -502,7 +502,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M8 + 3.0.0-M9 From 247b40471397d0eefd8967d71eb12433e6ef2ca2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Feb 2023 01:42:25 +0000 Subject: [PATCH 202/973] Bump netty.version from 4.1.88.Final to 4.1.89.Final Bumps `netty.version` from 4.1.88.Final to 4.1.89.Final. Updates `netty-all` from 4.1.88.Final to 4.1.89.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.88.Final...netty-4.1.89.Final) Updates `netty-example` from 4.1.88.Final to 4.1.89.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.88.Final...netty-4.1.89.Final) Updates `netty-buffer` from 4.1.88.Final to 4.1.89.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.88.Final...netty-4.1.89.Final) Updates `netty-codec` from 4.1.88.Final to 4.1.89.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.88.Final...netty-4.1.89.Final) Updates `netty-codec-haproxy` from 4.1.88.Final to 4.1.89.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.88.Final...netty-4.1.89.Final) Updates `netty-codec-http` from 4.1.88.Final to 4.1.89.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.88.Final...netty-4.1.89.Final) Updates `netty-codec-socks` from 4.1.88.Final to 4.1.89.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.88.Final...netty-4.1.89.Final) Updates `netty-common` from 4.1.88.Final to 4.1.89.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.88.Final...netty-4.1.89.Final) Updates `netty-handler` from 4.1.88.Final to 4.1.89.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.88.Final...netty-4.1.89.Final) Updates `netty-handler-proxy` from 4.1.88.Final to 4.1.89.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.88.Final...netty-4.1.89.Final) Updates `netty-transport` from 4.1.88.Final to 4.1.89.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.88.Final...netty-4.1.89.Final) Updates `netty-transport-rxtx` from 4.1.88.Final to 4.1.89.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.88.Final...netty-4.1.89.Final) Updates `netty-transport-sctp` from 4.1.88.Final to 4.1.89.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.88.Final...netty-4.1.89.Final) Updates `netty-transport-udp` from 4.1.88.Final to 4.1.89.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4daa07ca..82ed3e22 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.88.Final + 4.1.89.Final 2.0.6 1.8 From 6dfc0aa17c2ca192d8809f8f76c8fe127b7dc96c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Feb 2023 01:44:53 +0000 Subject: [PATCH 203/973] Bump selenium-java from 4.8.0 to 4.8.1 Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.8.0 to 4.8.1. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.8.0...selenium-4.8.1) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 82ed3e22..e608c8f5 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.8.0 + 4.8.1 test From dd7e06bf28bca9e5dbf01ce27cce8af2d1126862 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Feb 2023 01:41:41 +0000 Subject: [PATCH 204/973] Bump versions-maven-plugin from 2.14.2 to 2.15.0 Bumps [versions-maven-plugin](https://github.com/mojohaus/versions) from 2.14.2 to 2.15.0. - [Release notes](https://github.com/mojohaus/versions/releases) - [Changelog](https://github.com/mojohaus/versions/blob/master/ReleaseNotes.md) - [Commits](https://github.com/mojohaus/versions/compare/2.14.2...2.15.0) --- updated-dependencies: - dependency-name: org.codehaus.mojo:versions-maven-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e608c8f5..fc95ade6 100644 --- a/pom.xml +++ b/pom.xml @@ -702,7 +702,7 @@ org.codehaus.mojo versions-maven-plugin - 2.14.2 + 2.15.0 From 6c318ca32a0631e595d332bb117968803600f969 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Feb 2023 01:41:47 +0000 Subject: [PATCH 205/973] Bump log4j-core from 2.19.0 to 2.20.0 Bumps [log4j-core](https://github.com/apache/logging-log4j2) from 2.19.0 to 2.20.0. - [Release notes](https://github.com/apache/logging-log4j2/releases) - [Changelog](https://github.com/apache/logging-log4j2/blob/release-2.x/CHANGELOG.adoc) - [Commits](https://github.com/apache/logging-log4j2/compare/rel/2.19.0...rel/2.20.0) --- updated-dependencies: - dependency-name: org.apache.logging.log4j:log4j-core dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fc95ade6..fb8b290b 100644 --- a/pom.xml +++ b/pom.xml @@ -235,7 +235,7 @@ org.apache.logging.log4j log4j-core - 2.19.0 + 2.20.0 true From 2c04ffc6345434ff39e9c1b0a51a1130109c5bf1 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Mon, 27 Feb 2023 09:23:50 +0200 Subject: [PATCH 206/973] update dependabot config --- .github/dependabot.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 0cba26f5..47f97d2f 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -3,4 +3,10 @@ updates: - package-ecosystem: maven directory: "/" schedule: - interval: weekly + interval: daily + open-pull-requests-limit: 10 +- package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: daily + open-pull-requests-limit: 10 From 90ebc901b8a06d5814adae10ab27772159bd77f3 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Mon, 27 Feb 2023 09:25:37 +0200 Subject: [PATCH 207/973] rename "master" branch to "main" --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 63fe9f26..398d9e5f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,7 +5,7 @@ name: Java CI with Maven on: push: - branches: [ master ] + branches: [ main ] pull_request: jobs: From 9256913f508ea4697a02147828404093776f61b8 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Mon, 27 Feb 2023 12:09:40 +0200 Subject: [PATCH 208/973] release LittleProxy 2.0.16 --- README.md | 4 ++-- RELEASE_NOTES.md | 11 ++++++++++- pom.xml | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index fbca0dcd..3c3b3b29 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.15 + 2.0.16 ``` Or with Gradle like this -`implementation "xyz.rogfam:littleproxy:2.0.15"` +`implementation "xyz.rogfam:littleproxy:2.0.16"` Once you've included LittleProxy, you can start the server with the following: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index af22e156..a5a73c32 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,6 +1,15 @@ # Release Notes -- 2.0.15 (14.12.2022, https://github.com/LittleProxy/LittleProxy/milestone/TODO?closed=1) +- 2.0.16 (27.02.2023, https://github.com/LittleProxy/LittleProxy/milestone/21?closed=1) + - rename "master" branch to "main" + - #207 Remove redundant file generated by unit test -- thanks to Valery Yatsynovich + - #206 Export certificate to generated by SelfSignedMitmManager KeyStore directory -- thanks to Valery Yatsynovich + - Bump slf4j.version from 2.0.5 to 2.0.6 + - Bump log4j-core from 2.19.0 to 2.20.0 + - Bump selenium-java from 4.7.1 to 4.8.1 + - Bump netty.version from 4.1.86.Final to 4.1.89.Final + +- 2.0.15 (14.12.2022, https://github.com/LittleProxy/LittleProxy/milestone/20?closed=1) - Bump netty-codec-haproxy from 4.1.85.Final to 4.1.86.Final - Bump selenium-java from 4.6.0 to 4.7.1 - Bump slf4j.version from 2.0.4 to 2.0.5 diff --git a/pom.xml b/pom.xml index fb8b290b..308f0b61 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.16-SNAPSHOT + 2.0.16 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 0aa2756f6a345822ee1f08f92688ef55dc28debd Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Mon, 27 Feb 2023 12:19:26 +0200 Subject: [PATCH 209/973] working on LittleProxy 2.0.17 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 308f0b61..2e1d05fe 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.16 + 2.0.17-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From c2b64aaf15bf6354099d65092e05a6b365e38bbc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Feb 2023 01:08:17 +0000 Subject: [PATCH 210/973] Bump maven-compiler-plugin from 3.10.1 to 3.11.0 Bumps [maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) from 3.10.1 to 3.11.0. - [Release notes](https://github.com/apache/maven-compiler-plugin/releases) - [Commits](https://github.com/apache/maven-compiler-plugin/compare/maven-compiler-plugin-3.10.1...maven-compiler-plugin-3.11.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-compiler-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2e1d05fe..1bf5579a 100644 --- a/pom.xml +++ b/pom.xml @@ -453,7 +453,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.10.1 + 3.11.0 ${java.version} ${java.version} From 34d1b04eb8bd3b9d75db8008532c3470c86a4ad8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Mar 2023 01:04:55 +0000 Subject: [PATCH 211/973] Bump mockito-core from 5.1.1 to 5.2.0 Bumps [mockito-core](https://github.com/mockito/mockito) from 5.1.1 to 5.2.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.1.1...v5.2.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1bf5579a..e0bbc393 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 5.1.1 + 5.2.0 test From ad8823e478264d66fd3e257fdb78938c5c52d9e9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Mar 2023 01:04:17 +0000 Subject: [PATCH 212/973] Bump netty.version from 4.1.89.Final to 4.1.90.Final Bumps `netty.version` from 4.1.89.Final to 4.1.90.Final. Updates `netty-all` from 4.1.89.Final to 4.1.90.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.89.Final...netty-4.1.90.Final) Updates `netty-example` from 4.1.89.Final to 4.1.90.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.89.Final...netty-4.1.90.Final) Updates `netty-buffer` from 4.1.89.Final to 4.1.90.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.89.Final...netty-4.1.90.Final) Updates `netty-codec` from 4.1.89.Final to 4.1.90.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.89.Final...netty-4.1.90.Final) Updates `netty-codec-haproxy` from 4.1.89.Final to 4.1.90.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.89.Final...netty-4.1.90.Final) Updates `netty-codec-http` from 4.1.89.Final to 4.1.90.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.89.Final...netty-4.1.90.Final) Updates `netty-codec-socks` from 4.1.89.Final to 4.1.90.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.89.Final...netty-4.1.90.Final) Updates `netty-common` from 4.1.89.Final to 4.1.90.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.89.Final...netty-4.1.90.Final) Updates `netty-handler` from 4.1.89.Final to 4.1.90.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.89.Final...netty-4.1.90.Final) Updates `netty-handler-proxy` from 4.1.89.Final to 4.1.90.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.89.Final...netty-4.1.90.Final) Updates `netty-transport` from 4.1.89.Final to 4.1.90.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.89.Final...netty-4.1.90.Final) Updates `netty-transport-rxtx` from 4.1.89.Final to 4.1.90.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.89.Final...netty-4.1.90.Final) Updates `netty-transport-sctp` from 4.1.89.Final to 4.1.90.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.89.Final...netty-4.1.90.Final) Updates `netty-transport-udp` from 4.1.89.Final to 4.1.90.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e0bbc393..5051d0ce 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.89.Final + 4.1.90.Final 2.0.6 1.8 From 032e1c77a9f2227590a49049833be6f31cf43ed9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Mar 2023 01:02:49 +0000 Subject: [PATCH 213/973] Bump maven-surefire-report-plugin from 3.0.0-M9 to 3.0.0 Bumps [maven-surefire-report-plugin](https://github.com/apache/maven-surefire) from 3.0.0-M9 to 3.0.0. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.0.0-M9...surefire-3.0.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-report-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5051d0ce..98ea8c5d 100644 --- a/pom.xml +++ b/pom.xml @@ -641,7 +641,7 @@ org.apache.maven.plugins maven-surefire-report-plugin - 3.0.0-M9 + 3.0.0 false From 7ace9286b28b667a9e16ef4dfd6028bdf312087c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Mar 2023 01:02:54 +0000 Subject: [PATCH 214/973] Bump maven-surefire-plugin from 3.0.0-M9 to 3.0.0 Bumps [maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.0.0-M9 to 3.0.0. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.0.0-M9...surefire-3.0.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 98ea8c5d..d1b5e0f3 100644 --- a/pom.xml +++ b/pom.xml @@ -502,7 +502,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M9 + 3.0.0 From 26ef3618b66bdd9b48b83fa08ab67ebbaa926f35 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Mar 2023 01:39:14 +0000 Subject: [PATCH 215/973] Bump slf4j.version from 2.0.6 to 2.0.7 Bumps `slf4j.version` from 2.0.6 to 2.0.7. Updates `slf4j-reload4j` from 2.0.6 to 2.0.7 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/commits) Updates `slf4j-api` from 2.0.6 to 2.0.7 - [Release notes](https://github.com/qos-ch/slf4j/releases) - [Commits](https://github.com/qos-ch/slf4j/commits) --- updated-dependencies: - dependency-name: org.slf4j:slf4j-reload4j dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.slf4j:slf4j-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d1b5e0f3..0094c512 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ UTF-8 github 4.1.90.Final - 2.0.6 + 2.0.7 1.8 From 3f510715309df082f08af32ea0b5c8498fe8d42a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Mar 2023 01:01:35 +0000 Subject: [PATCH 216/973] Bump maven-release-plugin from 2.5.3 to 3.0.0 Bumps [maven-release-plugin](https://github.com/apache/maven-release) from 2.5.3 to 3.0.0. - [Release notes](https://github.com/apache/maven-release/releases) - [Commits](https://github.com/apache/maven-release/compare/maven-release-2.5.3...maven-release-3.0.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-release-plugin dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0094c512..6142a39f 100644 --- a/pom.xml +++ b/pom.xml @@ -429,7 +429,7 @@ org.apache.maven.plugins maven-release-plugin - 2.5.3 + 3.0.0 From f36f68aed375b7c9e0e8d1e5e06961a0487844f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 01:39:16 +0000 Subject: [PATCH 217/973] Bump maven-deploy-plugin from 3.1.0 to 3.1.1 Bumps [maven-deploy-plugin](https://github.com/apache/maven-deploy-plugin) from 3.1.0 to 3.1.1. - [Release notes](https://github.com/apache/maven-deploy-plugin/releases) - [Commits](https://github.com/apache/maven-deploy-plugin/compare/maven-deploy-plugin-3.1.0...maven-deploy-plugin-3.1.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-deploy-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6142a39f..6679b888 100644 --- a/pom.xml +++ b/pom.xml @@ -447,7 +447,7 @@ org.apache.maven.plugins maven-deploy-plugin - 3.1.0 + 3.1.1 From 3ae9c28361e5f8d12147cb2269b9976c4f6f1c00 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 01:39:23 +0000 Subject: [PATCH 218/973] Bump maven-install-plugin from 3.1.0 to 3.1.1 Bumps [maven-install-plugin](https://github.com/apache/maven-install-plugin) from 3.1.0 to 3.1.1. - [Release notes](https://github.com/apache/maven-install-plugin/releases) - [Commits](https://github.com/apache/maven-install-plugin/compare/maven-install-plugin-3.1.0...maven-install-plugin-3.1.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-install-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6679b888..bbb55c07 100644 --- a/pom.xml +++ b/pom.xml @@ -464,7 +464,7 @@ org.apache.maven.plugins maven-install-plugin - 3.1.0 + 3.1.1 From 951133cd8d207dcb75635a43e95275b96648129b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 01:39:29 +0000 Subject: [PATCH 219/973] Bump maven-resources-plugin from 3.3.0 to 3.3.1 Bumps [maven-resources-plugin](https://github.com/apache/maven-resources-plugin) from 3.3.0 to 3.3.1. - [Release notes](https://github.com/apache/maven-resources-plugin/releases) - [Commits](https://github.com/apache/maven-resources-plugin/compare/maven-resources-plugin-3.3.0...maven-resources-plugin-3.3.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-resources-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index bbb55c07..f5d2f2fc 100644 --- a/pom.xml +++ b/pom.xml @@ -476,7 +476,7 @@ org.apache.maven.plugins maven-resources-plugin - 3.3.0 + 3.3.1 From 22369ac996339ab538696039843823f669ea5b9d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 01:39:49 +0000 Subject: [PATCH 220/973] Bump selenium-java from 4.8.1 to 4.8.3 Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.8.1 to 4.8.3. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/commits) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f5d2f2fc..ea163fa5 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.8.1 + 4.8.3 test From 1a42150bc9e0caafca793a172e8cbac46e49320b Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 31 Mar 2023 23:12:14 +0300 Subject: [PATCH 221/973] bump Jackson from 2.13.4 to latest 2.14.2 this fixes several CVEs. --- pom.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index ea163fa5..64a2086e 100644 --- a/pom.xml +++ b/pom.xml @@ -403,10 +403,11 @@ - com.fasterxml.jackson.core - jackson-databind - 2.13.4 - bundle + com.fasterxml.jackson + jackson-bom + 2.14.2 + import + pom From 6b48809ffb46b6962cd8c0432cbfca56cf4ccccf Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Sat, 1 Apr 2023 09:48:46 +0300 Subject: [PATCH 222/973] release LittleProxy 2.0.17 --- README.md | 4 ++-- RELEASE_NOTES.md | 6 ++++++ pom.xml | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3c3b3b29..f12ad66a 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.16 + 2.0.17 ``` Or with Gradle like this -`implementation "xyz.rogfam:littleproxy:2.0.16"` +`implementation "xyz.rogfam:littleproxy:2.0.17"` Once you've included LittleProxy, you can start the server with the following: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index a5a73c32..0ac778d9 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,11 @@ # Release Notes +- 2.0.17 (01.04.2023, https://github.com/LittleProxy/LittleProxy/milestone/22?closed=1) + - #235 Bump netty.version from 4.1.89.Final to 4.1.90.Final + - bump Jackson from 2.13.4 to latest 2.14.2 (fixes several CVEs) + - #236 Bump slf4j.version from 2.0.6 to 2.0.7 + - #241 Bump selenium-java from 4.8.1 to 4.8.3 + - 2.0.16 (27.02.2023, https://github.com/LittleProxy/LittleProxy/milestone/21?closed=1) - rename "master" branch to "main" - #207 Remove redundant file generated by unit test -- thanks to Valery Yatsynovich diff --git a/pom.xml b/pom.xml index 64a2086e..757e9405 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.17-SNAPSHOT + 2.0.17 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From f0e5dd78358957070bbc23f3e2b0a70a9a4335db Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Sat, 1 Apr 2023 09:59:31 +0300 Subject: [PATCH 223/973] working on LittleProxy 2.0.18 --- RELEASE_NOTES.md | 3 +++ pom.xml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 0ac778d9..ef059e8d 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,8 @@ # Release Notes +- 2.0.18 (in progress) + - + - 2.0.17 (01.04.2023, https://github.com/LittleProxy/LittleProxy/milestone/22?closed=1) - #235 Bump netty.version from 4.1.89.Final to 4.1.90.Final - bump Jackson from 2.13.4 to latest 2.14.2 (fixes several CVEs) diff --git a/pom.xml b/pom.xml index 757e9405..84a3663b 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.17 + 2.0.18-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From a9164dcaf0b2402bebc89939438c8a68da514063 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Apr 2023 01:07:50 +0000 Subject: [PATCH 224/973] Bump netty.version from 4.1.90.Final to 4.1.91.Final Bumps `netty.version` from 4.1.90.Final to 4.1.91.Final. Updates `netty-all` from 4.1.90.Final to 4.1.91.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.90.Final...netty-4.1.91.Final) Updates `netty-example` from 4.1.90.Final to 4.1.91.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.90.Final...netty-4.1.91.Final) Updates `netty-buffer` from 4.1.90.Final to 4.1.91.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.90.Final...netty-4.1.91.Final) Updates `netty-codec` from 4.1.90.Final to 4.1.91.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.90.Final...netty-4.1.91.Final) Updates `netty-codec-haproxy` from 4.1.90.Final to 4.1.91.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.90.Final...netty-4.1.91.Final) Updates `netty-codec-http` from 4.1.90.Final to 4.1.91.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.90.Final...netty-4.1.91.Final) Updates `netty-codec-socks` from 4.1.90.Final to 4.1.91.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.90.Final...netty-4.1.91.Final) Updates `netty-common` from 4.1.90.Final to 4.1.91.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.90.Final...netty-4.1.91.Final) Updates `netty-handler` from 4.1.90.Final to 4.1.91.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.90.Final...netty-4.1.91.Final) Updates `netty-handler-proxy` from 4.1.90.Final to 4.1.91.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.90.Final...netty-4.1.91.Final) Updates `netty-transport` from 4.1.90.Final to 4.1.91.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.90.Final...netty-4.1.91.Final) Updates `netty-transport-rxtx` from 4.1.90.Final to 4.1.91.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.90.Final...netty-4.1.91.Final) Updates `netty-transport-sctp` from 4.1.90.Final to 4.1.91.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.90.Final...netty-4.1.91.Final) Updates `netty-transport-udp` from 4.1.90.Final to 4.1.91.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 84a3663b..b2c9c6f0 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.90.Final + 4.1.91.Final 2.0.7 1.8 From 11cf74b0b4e619fddcc614d62bf6a5fbfd470703 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Apr 2023 01:01:40 +0000 Subject: [PATCH 225/973] Bump maven-enforcer-plugin from 3.2.1 to 3.3.0 Bumps [maven-enforcer-plugin](https://github.com/apache/maven-enforcer) from 3.2.1 to 3.3.0. - [Release notes](https://github.com/apache/maven-enforcer/releases) - [Commits](https://github.com/apache/maven-enforcer/compare/enforcer-3.2.1...enforcer-3.3.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-enforcer-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b2c9c6f0..b9b44e76 100644 --- a/pom.xml +++ b/pom.xml @@ -418,7 +418,7 @@ org.apache.maven.plugins maven-enforcer-plugin - 3.2.1 + 3.3.0 From 75f9ade4a75c51da79f2adab06c076e2ea179add Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Wed, 5 Apr 2023 09:01:45 +0300 Subject: [PATCH 226/973] update changelog --- RELEASE_NOTES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index ef059e8d..ad8736bd 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,7 @@ # Release Notes - 2.0.18 (in progress) - - + - #242 Bump netty.version from 4.1.90.Final to 4.1.91.Final - 2.0.17 (01.04.2023, https://github.com/LittleProxy/LittleProxy/milestone/22?closed=1) - #235 Bump netty.version from 4.1.89.Final to 4.1.90.Final From a6e9ed9e7c672c3df5178b510764e7fda5ca2ff4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Apr 2023 01:09:55 +0000 Subject: [PATCH 227/973] Bump mockito-core from 5.2.0 to 5.3.0 Bumps [mockito-core](https://github.com/mockito/mockito) from 5.2.0 to 5.3.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.2.0...v5.3.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b9b44e76..f2bdce75 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 5.2.0 + 5.3.0 test From a2e3172f364fd1013e8b53819c63fd1e3572a3ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Apr 2023 01:00:46 +0000 Subject: [PATCH 228/973] Bump maven-project-info-reports-plugin from 3.4.2 to 3.4.3 Bumps [maven-project-info-reports-plugin](https://github.com/apache/maven-project-info-reports-plugin) from 3.4.2 to 3.4.3. - [Release notes](https://github.com/apache/maven-project-info-reports-plugin/releases) - [Commits](https://github.com/apache/maven-project-info-reports-plugin/compare/maven-project-info-reports-plugin-3.4.2...maven-project-info-reports-plugin-3.4.3) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-project-info-reports-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f2bdce75..517c9b7f 100644 --- a/pom.xml +++ b/pom.xml @@ -631,7 +631,7 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 3.4.2 + 3.4.3 From 5db5e24bd0aa0fb68de2b85fb177ff520eda9f8e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Apr 2023 01:00:30 +0000 Subject: [PATCH 229/973] Bump maven-checkstyle-plugin from 3.2.1 to 3.2.2 Bumps [maven-checkstyle-plugin](https://github.com/apache/maven-checkstyle-plugin) from 3.2.1 to 3.2.2. - [Release notes](https://github.com/apache/maven-checkstyle-plugin/releases) - [Commits](https://github.com/apache/maven-checkstyle-plugin/compare/maven-checkstyle-plugin-3.2.1...maven-checkstyle-plugin-3.2.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-checkstyle-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 517c9b7f..d07aac68 100644 --- a/pom.xml +++ b/pom.xml @@ -651,7 +651,7 @@ org.apache.maven.plugins maven-checkstyle-plugin - 3.2.1 + 3.2.2 From 1a07896db3126091a4c9be02a70fd128475d59e0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Apr 2023 01:00:21 +0000 Subject: [PATCH 230/973] Bump selenium-java from 4.8.3 to 4.9.0 Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.8.3 to 4.9.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/commits/selenium-4.9.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d07aac68..779f1982 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.8.3 + 4.9.0 test From 1252ada8b9bb663fe1254d92d8f21acd16c7c8f7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Apr 2023 01:13:06 +0000 Subject: [PATCH 231/973] Bump mockito-core from 5.3.0 to 5.3.1 Bumps [mockito-core](https://github.com/mockito/mockito) from 5.3.0 to 5.3.1. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.3.0...v5.3.1) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 779f1982..cdf67eb7 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 5.3.0 + 5.3.1 test From 5a063a8e9380ae9b022bc0f979d07774fc361b5c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Apr 2023 01:13:10 +0000 Subject: [PATCH 232/973] Bump jackson-bom from 2.14.2 to 2.15.0 Bumps [jackson-bom](https://github.com/FasterXML/jackson-bom) from 2.14.2 to 2.15.0. - [Release notes](https://github.com/FasterXML/jackson-bom/releases) - [Commits](https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.14.2...jackson-bom-2.15.0) --- updated-dependencies: - dependency-name: com.fasterxml.jackson:jackson-bom dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index cdf67eb7..54fbe84a 100644 --- a/pom.xml +++ b/pom.xml @@ -405,7 +405,7 @@ com.fasterxml.jackson jackson-bom - 2.14.2 + 2.15.0 import pom From b4399cb15b64db8dc2a3aaa4fcee7ab5ba33f275 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Apr 2023 01:01:49 +0000 Subject: [PATCH 233/973] Bump netty.version from 4.1.91.Final to 4.1.92.Final Bumps `netty.version` from 4.1.91.Final to 4.1.92.Final. Updates `netty-all` from 4.1.91.Final to 4.1.92.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.91.Final...netty-4.1.92.Final) Updates `netty-example` from 4.1.91.Final to 4.1.92.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.91.Final...netty-4.1.92.Final) Updates `netty-buffer` from 4.1.91.Final to 4.1.92.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.91.Final...netty-4.1.92.Final) Updates `netty-codec` from 4.1.91.Final to 4.1.92.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.91.Final...netty-4.1.92.Final) Updates `netty-codec-haproxy` from 4.1.91.Final to 4.1.92.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.91.Final...netty-4.1.92.Final) Updates `netty-codec-http` from 4.1.91.Final to 4.1.92.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.91.Final...netty-4.1.92.Final) Updates `netty-codec-socks` from 4.1.91.Final to 4.1.92.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.91.Final...netty-4.1.92.Final) Updates `netty-common` from 4.1.91.Final to 4.1.92.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.91.Final...netty-4.1.92.Final) Updates `netty-handler` from 4.1.91.Final to 4.1.92.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.91.Final...netty-4.1.92.Final) Updates `netty-handler-proxy` from 4.1.91.Final to 4.1.92.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.91.Final...netty-4.1.92.Final) Updates `netty-transport` from 4.1.91.Final to 4.1.92.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.91.Final...netty-4.1.92.Final) Updates `netty-transport-rxtx` from 4.1.91.Final to 4.1.92.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.91.Final...netty-4.1.92.Final) Updates `netty-transport-sctp` from 4.1.91.Final to 4.1.92.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](https://github.com/netty/netty/compare/netty-4.1.91.Final...netty-4.1.92.Final) Updates `netty-transport-udp` from 4.1.91.Final to 4.1.92.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 54fbe84a..54c5f7b0 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.91.Final + 4.1.92.Final 2.0.7 1.8 From e094e69809c3247b4759f37356c1409607594f5b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 May 2023 01:11:06 +0000 Subject: [PATCH 234/973] Bump maven-gpg-plugin from 3.0.1 to 3.1.0 Bumps [maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin) from 3.0.1 to 3.1.0. - [Commits](https://github.com/apache/maven-gpg-plugin/compare/maven-gpg-plugin-3.0.1...maven-gpg-plugin-3.1.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-gpg-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 54c5f7b0..426c8bc9 100644 --- a/pom.xml +++ b/pom.xml @@ -509,7 +509,7 @@ org.apache.maven.plugins maven-gpg-plugin - 3.0.1 + 3.1.0 From e99175b328d1d1f94e1934d82ab2727a99df6f62 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 May 2023 01:10:58 +0000 Subject: [PATCH 235/973] Bump maven-surefire-report-plugin from 3.0.0 to 3.1.0 Bumps [maven-surefire-report-plugin](https://github.com/apache/maven-surefire) from 3.0.0 to 3.1.0. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.0.0...surefire-3.1.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-report-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 426c8bc9..dc226e45 100644 --- a/pom.xml +++ b/pom.xml @@ -642,7 +642,7 @@ org.apache.maven.plugins maven-surefire-report-plugin - 3.0.0 + 3.1.0 false From b3d127ccf7eafd8ba4df8ea324bad8fd94e90e99 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 May 2023 01:10:47 +0000 Subject: [PATCH 236/973] Bump maven-surefire-plugin from 3.0.0 to 3.1.0 Bumps [maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.0.0 to 3.1.0. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.0.0...surefire-3.1.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dc226e45..14bff49b 100644 --- a/pom.xml +++ b/pom.xml @@ -503,7 +503,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0 + 3.1.0 From b6f52019d08229d823d62e35486675f952189765 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 May 2023 01:01:17 +0000 Subject: [PATCH 237/973] Bump selenium-java from 4.9.0 to 4.9.1 Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.9.0 to 4.9.1. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.9.0...selenium-4.9.1) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 14bff49b..20f6c574 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.9.0 + 4.9.1 test From 8d8d444474659399f69b5e899283589df34b8b99 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 May 2023 01:01:14 +0000 Subject: [PATCH 238/973] Bump maven-pmd-plugin from 3.20.0 to 3.21.0 Bumps [maven-pmd-plugin](https://github.com/apache/maven-pmd-plugin) from 3.20.0 to 3.21.0. - [Release notes](https://github.com/apache/maven-pmd-plugin/releases) - [Commits](https://github.com/apache/maven-pmd-plugin/compare/maven-pmd-plugin-3.20.0...maven-pmd-plugin-3.21.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-pmd-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 20f6c574..68f2b003 100644 --- a/pom.xml +++ b/pom.xml @@ -691,7 +691,7 @@ org.apache.maven.plugins maven-pmd-plugin - 3.20.0 + 3.21.0 true utf-8 From 50187dfea3fbc2ed3268c279a56604d3a67e9b81 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 May 2023 01:01:14 +0000 Subject: [PATCH 239/973] Bump jackson-bom from 2.15.0 to 2.15.1 Bumps [jackson-bom](https://github.com/FasterXML/jackson-bom) from 2.15.0 to 2.15.1. - [Commits](https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.15.0...jackson-bom-2.15.1) --- updated-dependencies: - dependency-name: com.fasterxml.jackson:jackson-bom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 68f2b003..3096a221 100644 --- a/pom.xml +++ b/pom.xml @@ -405,7 +405,7 @@ com.fasterxml.jackson jackson-bom - 2.15.0 + 2.15.1 import pom From 9c914eb2cd753cda945a34eb361f23c3660587b3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 May 2023 01:34:17 +0000 Subject: [PATCH 240/973] Bump maven-source-plugin from 3.2.1 to 3.3.0 Bumps [maven-source-plugin](https://github.com/apache/maven-source-plugin) from 3.2.1 to 3.3.0. - [Commits](https://github.com/apache/maven-source-plugin/compare/maven-source-plugin-3.2.1...maven-source-plugin-3.3.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-source-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3096a221..4ce3e158 100644 --- a/pom.xml +++ b/pom.xml @@ -483,7 +483,7 @@ org.apache.maven.plugins maven-source-plugin - 3.2.1 + 3.3.0 From 177e2f946fba7e38a23a0ece0bf9d9a09c35e658 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 May 2023 01:01:07 +0000 Subject: [PATCH 241/973] Bump maven-checkstyle-plugin from 3.2.2 to 3.3.0 Bumps [maven-checkstyle-plugin](https://github.com/apache/maven-checkstyle-plugin) from 3.2.2 to 3.3.0. - [Commits](https://github.com/apache/maven-checkstyle-plugin/compare/maven-checkstyle-plugin-3.2.2...maven-checkstyle-plugin-3.3.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-checkstyle-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4ce3e158..fa85d452 100644 --- a/pom.xml +++ b/pom.xml @@ -651,7 +651,7 @@ org.apache.maven.plugins maven-checkstyle-plugin - 3.2.2 + 3.3.0 From 0a315bc3d1c93d803cccdbcb601e0f1b3c17ecc9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 May 2023 01:00:52 +0000 Subject: [PATCH 242/973] Bump maven-dependency-plugin from 3.5.0 to 3.6.0 Bumps [maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 3.5.0 to 3.6.0. - [Commits](https://github.com/apache/maven-dependency-plugin/compare/maven-dependency-plugin-3.5.0...maven-dependency-plugin-3.6.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-dependency-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fa85d452..e27e506d 100644 --- a/pom.xml +++ b/pom.xml @@ -436,7 +436,7 @@ org.apache.maven.plugins maven-dependency-plugin - 3.5.0 + 3.6.0 From 8a5696c0e33fbac13fef86c30633be43b9c85c0d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 May 2023 01:12:38 +0000 Subject: [PATCH 243/973] Bump netty.version from 4.1.92.Final to 4.1.93.Final Bumps `netty.version` from 4.1.92.Final to 4.1.93.Final. Updates `netty-all` from 4.1.92.Final to 4.1.93.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.92.Final...netty-4.1.93.Final) Updates `netty-example` from 4.1.92.Final to 4.1.93.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.92.Final...netty-4.1.93.Final) Updates `netty-buffer` from 4.1.92.Final to 4.1.93.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.92.Final...netty-4.1.93.Final) Updates `netty-codec` from 4.1.92.Final to 4.1.93.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.92.Final...netty-4.1.93.Final) Updates `netty-codec-haproxy` from 4.1.92.Final to 4.1.93.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.92.Final...netty-4.1.93.Final) Updates `netty-codec-http` from 4.1.92.Final to 4.1.93.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.92.Final...netty-4.1.93.Final) Updates `netty-codec-socks` from 4.1.92.Final to 4.1.93.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.92.Final...netty-4.1.93.Final) Updates `netty-common` from 4.1.92.Final to 4.1.93.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.92.Final...netty-4.1.93.Final) Updates `netty-handler` from 4.1.92.Final to 4.1.93.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.92.Final...netty-4.1.93.Final) Updates `netty-handler-proxy` from 4.1.92.Final to 4.1.93.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.92.Final...netty-4.1.93.Final) Updates `netty-transport` from 4.1.92.Final to 4.1.93.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.92.Final...netty-4.1.93.Final) Updates `netty-transport-rxtx` from 4.1.92.Final to 4.1.93.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.92.Final...netty-4.1.93.Final) Updates `netty-transport-sctp` from 4.1.92.Final to 4.1.93.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.92.Final...netty-4.1.93.Final) Updates `netty-transport-udp` from 4.1.92.Final to 4.1.93.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e27e506d..95d3e7b1 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.92.Final + 4.1.93.Final 2.0.7 1.8 From e10d2dc3709e085335c74a1ff4224692979b67da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 May 2023 01:34:14 +0000 Subject: [PATCH 244/973] Bump guava from 31.1-jre to 32.0.0-jre Bumps [guava](https://github.com/google/guava) from 31.1-jre to 32.0.0-jre. - [Release notes](https://github.com/google/guava/releases) - [Commits](https://github.com/google/guava/commits) --- updated-dependencies: - dependency-name: com.google.guava:guava dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 95d3e7b1..319300ea 100644 --- a/pom.xml +++ b/pom.xml @@ -161,7 +161,7 @@ com.google.guava guava - 31.1-jre + 32.0.0-jre From efbc845c6e5cd9d19fd2f5d8e58c7763186d1e57 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Mon, 29 May 2023 08:34:19 +0300 Subject: [PATCH 245/973] release LittleProxy 2.0.18 --- README.md | 4 ++-- RELEASE_NOTES.md | 7 +++++-- pom.xml | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f12ad66a..79ac0a35 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.17 + 2.0.18 ``` Or with Gradle like this -`implementation "xyz.rogfam:littleproxy:2.0.17"` +`implementation "xyz.rogfam:littleproxy:2.0.18"` Once you've included LittleProxy, you can start the server with the following: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index ad8736bd..80a1b0ff 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,10 @@ # Release Notes -- 2.0.18 (in progress) - - #242 Bump netty.version from 4.1.90.Final to 4.1.91.Final +- 2.0.18 (29.05.2023, https://github.com/LittleProxy/LittleProxy/milestone/23?closed=1) + - Bump Selenium from 4.8.3 to 4.9.1 (see https://github.com/SeleniumHQ/selenium) + - #242 Bump Netty from 4.1.90.Final to 4.1.93.Final + - Bump Jackson from 2.14.2 to 2.15.1 + - Bump guava from 31.1-jre to 32.0.0-jre - 2.0.17 (01.04.2023, https://github.com/LittleProxy/LittleProxy/milestone/22?closed=1) - #235 Bump netty.version from 4.1.89.Final to 4.1.90.Final diff --git a/pom.xml b/pom.xml index 319300ea..4dcc5150 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.18-SNAPSHOT + 2.0.18 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 4c51bb3150572a95442b7401501aff690ba4bd94 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Mon, 29 May 2023 08:38:21 +0300 Subject: [PATCH 246/973] working on LittleProxy 2.0.19 --- RELEASE_NOTES.md | 3 +++ pom.xml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 80a1b0ff..192391b9 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,8 @@ # Release Notes +- 2.0.19 (in progress) + - ... + - 2.0.18 (29.05.2023, https://github.com/LittleProxy/LittleProxy/milestone/23?closed=1) - Bump Selenium from 4.8.3 to 4.9.1 (see https://github.com/SeleniumHQ/selenium) - #242 Bump Netty from 4.1.90.Final to 4.1.93.Final diff --git a/pom.xml b/pom.xml index 4dcc5150..5119a321 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.18 + 2.0.19-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 9746802d7a8388f7fd23dc296a2bc23723d3c684 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 May 2023 01:00:01 +0000 Subject: [PATCH 247/973] Bump maven-project-info-reports-plugin from 3.4.3 to 3.4.4 Bumps [maven-project-info-reports-plugin](https://github.com/apache/maven-project-info-reports-plugin) from 3.4.3 to 3.4.4. - [Commits](https://github.com/apache/maven-project-info-reports-plugin/compare/maven-project-info-reports-plugin-3.4.3...maven-project-info-reports-plugin-3.4.4) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-project-info-reports-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5119a321..f923ee6b 100644 --- a/pom.xml +++ b/pom.xml @@ -631,7 +631,7 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 3.4.3 + 3.4.4 From db2471f4674291d7c516a9dfce8df5723d91fe3e Mon Sep 17 00:00:00 2001 From: Valery Yatsynovich Date: Wed, 31 May 2023 10:10:33 +0300 Subject: [PATCH 248/973] CI: disable fail-fast in build matrix This option is needed to be disabled to collect information on failures from all platforms. Otherwise the first failure cancels executions at all other platforms. --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 398d9e5f..8837af8f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,6 +13,7 @@ jobs: strategy: matrix: platform: [ubuntu-latest, macos-latest, windows-latest] + fail-fast: false runs-on: ${{ matrix.platform }} From 45a19324129674d4a625c03d8c86919c35add19f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 31 May 2023 01:02:13 +0000 Subject: [PATCH 249/973] Bump jackson-bom from 2.15.1 to 2.15.2 Bumps [jackson-bom](https://github.com/FasterXML/jackson-bom) from 2.15.1 to 2.15.2. - [Commits](https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.15.1...jackson-bom-2.15.2) --- updated-dependencies: - dependency-name: com.fasterxml.jackson:jackson-bom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f923ee6b..000b494a 100644 --- a/pom.xml +++ b/pom.xml @@ -405,7 +405,7 @@ com.fasterxml.jackson jackson-bom - 2.15.1 + 2.15.2 import pom From ca3a4bfc7d80815ecd97b9bca5bdfc3eaec44f6e Mon Sep 17 00:00:00 2001 From: Valery Yatsynovich Date: Wed, 31 May 2023 12:22:29 +0300 Subject: [PATCH 250/973] Migrate to Jetty 11 --- pom.xml | 2 +- .../java/org/littleshoot/proxy/TestUtils.java | 25 ++++++++++++++----- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index 000b494a..f1638915 100644 --- a/pom.xml +++ b/pom.xml @@ -195,7 +195,7 @@ org.eclipse.jetty jetty-server - 9.4.49.v20220914 + 11.0.15 test diff --git a/src/test/java/org/littleshoot/proxy/TestUtils.java b/src/test/java/org/littleshoot/proxy/TestUtils.java index e8669b04..71aab2b7 100644 --- a/src/test/java/org/littleshoot/proxy/TestUtils.java +++ b/src/test/java/org/littleshoot/proxy/TestUtils.java @@ -1,6 +1,8 @@ package org.littleshoot.proxy; import com.sun.management.UnixOperatingSystemMXBean; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; @@ -13,7 +15,10 @@ import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.ssl.SSLContextBuilder; import org.eclipse.jetty.server.Connector; +import org.eclipse.jetty.server.HttpConfiguration; +import org.eclipse.jetty.server.HttpConnectionFactory; import org.eclipse.jetty.server.Request; +import org.eclipse.jetty.server.SecureRequestCustomizer; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.handler.AbstractHandler; @@ -21,8 +26,6 @@ import org.littleshoot.proxy.extras.SelfSignedSslEngineSource; import javax.net.ssl.SSLContext; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; @@ -78,6 +81,7 @@ public static Server startWebServer(boolean enableHttps) { final Server httpServer = new Server(0); httpServer.setHandler(new AbstractHandler() { + @Override public void handle(String target, Request baseRequest, HttpServletRequest request, @@ -109,13 +113,21 @@ public void handle(String target, if (enableHttps) { // Add SSL connector - SslContextFactory sslContextFactory = new SslContextFactory.Server(); - SelfSignedSslEngineSource contextSource = new SelfSignedSslEngineSource(); SSLContext sslContext = contextSource.getSslContext(); + SslContextFactory.Server sslContextFactory = new SslContextFactory.Server(); sslContextFactory.setSslContext(sslContext); - ServerConnector connector = new ServerConnector(httpServer, sslContextFactory); + + SecureRequestCustomizer secureRequestCustomizer = new SecureRequestCustomizer(); + secureRequestCustomizer.setSniHostCheck(false); + + HttpConfiguration httpConfiguration = new HttpConfiguration(); + httpConfiguration.addCustomizer(secureRequestCustomizer); + + HttpConnectionFactory httpConnectionFactory = new HttpConnectionFactory(httpConfiguration); + + ServerConnector connector = new ServerConnector(httpServer, sslContextFactory, httpConnectionFactory); connector.setPort(0); connector.setIdleTimeout(0); httpServer.addConnector(connector); @@ -141,6 +153,7 @@ public void handle(String target, public static Server startWebServerWithResponse(boolean enableHttps, final byte[] content) { final Server httpServer = new Server(0); httpServer.setHandler(new AbstractHandler() { + @Override public void handle(String target, Request baseRequest, HttpServletRequest request, @@ -172,7 +185,7 @@ public void handle(String target, if (enableHttps) { // Add SSL connector - SslContextFactory sslContextFactory = new SslContextFactory.Server(); + SslContextFactory.Server sslContextFactory = new SslContextFactory.Server(); SelfSignedSslEngineSource contextSource = new SelfSignedSslEngineSource(); SSLContext sslContext = contextSource.getSslContext(); From e5ec073789d800acbad4705b4c283c4db4b0cc7f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 01:28:10 +0000 Subject: [PATCH 251/973] Bump maven-release-plugin from 3.0.0 to 3.0.1 Bumps [maven-release-plugin](https://github.com/apache/maven-release) from 3.0.0 to 3.0.1. - [Release notes](https://github.com/apache/maven-release/releases) - [Commits](https://github.com/apache/maven-release/compare/maven-release-3.0.0...maven-release-3.0.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-release-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f1638915..9ce87e05 100644 --- a/pom.xml +++ b/pom.xml @@ -430,7 +430,7 @@ org.apache.maven.plugins maven-release-plugin - 3.0.0 + 3.0.1 From a628433479afd6c8b32adb9591a0437cea8add86 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Jun 2023 01:01:38 +0000 Subject: [PATCH 252/973] Bump versions-maven-plugin from 2.15.0 to 2.16.0 Bumps [versions-maven-plugin](https://github.com/mojohaus/versions) from 2.15.0 to 2.16.0. - [Release notes](https://github.com/mojohaus/versions/releases) - [Changelog](https://github.com/mojohaus/versions/blob/master/ReleaseNotes.md) - [Commits](https://github.com/mojohaus/versions/compare/2.15.0...2.16.0) --- updated-dependencies: - dependency-name: org.codehaus.mojo:versions-maven-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9ce87e05..7d02dcdd 100644 --- a/pom.xml +++ b/pom.xml @@ -703,7 +703,7 @@ org.codehaus.mojo versions-maven-plugin - 2.15.0 + 2.16.0 From a646b3eee91532581a1ad7e6a532510a82329225 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Jun 2023 01:01:28 +0000 Subject: [PATCH 253/973] Bump maven-surefire-report-plugin from 3.1.0 to 3.1.2 Bumps [maven-surefire-report-plugin](https://github.com/apache/maven-surefire) from 3.1.0 to 3.1.2. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.1.0...surefire-3.1.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-report-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7d02dcdd..9070da69 100644 --- a/pom.xml +++ b/pom.xml @@ -642,7 +642,7 @@ org.apache.maven.plugins maven-surefire-report-plugin - 3.1.0 + 3.1.2 false From 0d36d9d3b278cf86a0e5915c469adfd9444f0a85 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Jun 2023 01:01:19 +0000 Subject: [PATCH 254/973] Bump maven-project-info-reports-plugin from 3.4.4 to 3.4.5 Bumps [maven-project-info-reports-plugin](https://github.com/apache/maven-project-info-reports-plugin) from 3.4.4 to 3.4.5. - [Commits](https://github.com/apache/maven-project-info-reports-plugin/compare/maven-project-info-reports-plugin-3.4.4...maven-project-info-reports-plugin-3.4.5) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-project-info-reports-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9070da69..71983041 100644 --- a/pom.xml +++ b/pom.xml @@ -631,7 +631,7 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 3.4.4 + 3.4.5 From 4da531c4343e97737220d11022e21ad54b083526 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Jun 2023 01:01:13 +0000 Subject: [PATCH 255/973] Bump maven-surefire-plugin from 3.1.0 to 3.1.2 Bumps [maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.1.0 to 3.1.2. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.1.0...surefire-3.1.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 71983041..55250d2a 100644 --- a/pom.xml +++ b/pom.xml @@ -503,7 +503,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.1.0 + 3.1.2 From 72f22639fd1bec95bb9bcf34dfa301d1abe0160c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 Jun 2023 01:01:00 +0000 Subject: [PATCH 256/973] Bump selenium-java from 4.9.1 to 4.10.0 Bumps [selenium-java](https://github.com/SeleniumHQ/selenium) from 4.9.1 to 4.10.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.9.1...selenium-4.10.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 55250d2a..89845851 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.9.1 + 4.10.0 test From 7820c882da637a70c7102e1c59cfd72a5d72f05c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 9 Jun 2023 01:01:11 +0000 Subject: [PATCH 257/973] Bump guava from 32.0.0-jre to 32.0.1-jre Bumps [guava](https://github.com/google/guava) from 32.0.0-jre to 32.0.1-jre. - [Release notes](https://github.com/google/guava/releases) - [Commits](https://github.com/google/guava/commits) --- updated-dependencies: - dependency-name: com.google.guava:guava dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 89845851..b7f17a07 100644 --- a/pom.xml +++ b/pom.xml @@ -161,7 +161,7 @@ com.google.guava guava - 32.0.0-jre + 32.0.1-jre From 3802c9959c506e25b927db2f389e009470ccbe42 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Jun 2023 01:28:11 +0000 Subject: [PATCH 258/973] Bump maven-shade-plugin from 3.4.1 to 3.5.0 Bumps [maven-shade-plugin](https://github.com/apache/maven-shade-plugin) from 3.4.1 to 3.5.0. - [Release notes](https://github.com/apache/maven-shade-plugin/releases) - [Commits](https://github.com/apache/maven-shade-plugin/compare/maven-shade-plugin-3.4.1...maven-shade-plugin-3.5.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-shade-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b7f17a07..56f9935d 100644 --- a/pom.xml +++ b/pom.xml @@ -543,7 +543,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.4.1 + 3.5.0 package From 87d6bf21686ae41f8b511646000193a920f862af Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Jun 2023 01:28:05 +0000 Subject: [PATCH 259/973] Bump mockito-core from 5.3.1 to 5.4.0 Bumps [mockito-core](https://github.com/mockito/mockito) from 5.3.1 to 5.4.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.3.1...v5.4.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 56f9935d..e58a01bf 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 5.3.1 + 5.4.0 test From 079d820ae5a53bc672097bd92a88d85e4522d652 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Jun 2023 16:37:53 +0000 Subject: [PATCH 260/973] Bump netty-handler from 4.1.93.Final to 4.1.94.Final Bumps [netty-handler](https://github.com/netty/netty) from 4.1.93.Final to 4.1.94.Final. - [Commits](https://github.com/netty/netty/compare/netty-4.1.93.Final...netty-4.1.94.Final) --- updated-dependencies: - dependency-name: io.netty:netty-handler dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e58a01bf..9742f8ce 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.93.Final + 4.1.94.Final 2.0.7 1.8 From 2276eda0f7f7ed253bac014b5edc5f9cfa41947a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Jun 2023 01:02:00 +0000 Subject: [PATCH 261/973] Bump maven-clean-plugin from 3.2.0 to 3.3.1 Bumps [maven-clean-plugin](https://github.com/apache/maven-clean-plugin) from 3.2.0 to 3.3.1. - [Release notes](https://github.com/apache/maven-clean-plugin/releases) - [Commits](https://github.com/apache/maven-clean-plugin/compare/maven-clean-plugin-3.2.0...maven-clean-plugin-3.3.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-clean-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9742f8ce..92e77c5c 100644 --- a/pom.xml +++ b/pom.xml @@ -442,7 +442,7 @@ org.apache.maven.plugins maven-clean-plugin - 3.2.0 + 3.3.1 From 36476db46e77722ce0fae81cd1d7e93e88814dc6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 00:15:31 +0000 Subject: [PATCH 262/973] Bump guava from 32.0.1-jre to 32.1.0-jre Bumps [guava](https://github.com/google/guava) from 32.0.1-jre to 32.1.0-jre. - [Release notes](https://github.com/google/guava/releases) - [Commits](https://github.com/google/guava/commits) --- updated-dependencies: - dependency-name: com.google.guava:guava dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 92e77c5c..129be288 100644 --- a/pom.xml +++ b/pom.xml @@ -161,7 +161,7 @@ com.google.guava guava - 32.0.1-jre + 32.1.0-jre From e1be71aa688985e3739914845fa182f6d27bb0b1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Jul 2023 01:05:21 +0000 Subject: [PATCH 263/973] Bump guava from 32.1.0-jre to 32.1.1-jre Bumps [guava](https://github.com/google/guava) from 32.1.0-jre to 32.1.1-jre. - [Release notes](https://github.com/google/guava/releases) - [Commits](https://github.com/google/guava/commits) --- updated-dependencies: - dependency-name: com.google.guava:guava dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 129be288..2728a0f6 100644 --- a/pom.xml +++ b/pom.xml @@ -161,7 +161,7 @@ com.google.guava guava - 32.1.0-jre + 32.1.1-jre From f2f84a3cb9136a84313eae020d02d164fb6b94aa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Jul 2023 00:51:30 +0000 Subject: [PATCH 264/973] Bump netty.version from 4.1.94.Final to 4.1.95.Final Bumps `netty.version` from 4.1.94.Final to 4.1.95.Final. Updates `io.netty:netty-all` from 4.1.94.Final to 4.1.95.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.94.Final...netty-4.1.95.Final) Updates `io.netty:netty-example` from 4.1.94.Final to 4.1.95.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.94.Final...netty-4.1.95.Final) Updates `io.netty:netty-buffer` from 4.1.94.Final to 4.1.95.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.94.Final...netty-4.1.95.Final) Updates `io.netty:netty-codec` from 4.1.94.Final to 4.1.95.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.94.Final...netty-4.1.95.Final) Updates `io.netty:netty-codec-haproxy` from 4.1.94.Final to 4.1.95.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.94.Final...netty-4.1.95.Final) Updates `io.netty:netty-codec-http` from 4.1.94.Final to 4.1.95.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.94.Final...netty-4.1.95.Final) Updates `io.netty:netty-codec-socks` from 4.1.94.Final to 4.1.95.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.94.Final...netty-4.1.95.Final) Updates `io.netty:netty-common` from 4.1.94.Final to 4.1.95.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.94.Final...netty-4.1.95.Final) Updates `io.netty:netty-handler` from 4.1.94.Final to 4.1.95.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.94.Final...netty-4.1.95.Final) Updates `io.netty:netty-handler-proxy` from 4.1.94.Final to 4.1.95.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.94.Final...netty-4.1.95.Final) Updates `io.netty:netty-transport` from 4.1.94.Final to 4.1.95.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.94.Final...netty-4.1.95.Final) Updates `io.netty:netty-transport-rxtx` from 4.1.94.Final to 4.1.95.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.94.Final...netty-4.1.95.Final) Updates `io.netty:netty-transport-sctp` from 4.1.94.Final to 4.1.95.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.94.Final...netty-4.1.95.Final) Updates `io.netty:netty-transport-udp` from 4.1.94.Final to 4.1.95.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2728a0f6..56ca228a 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.94.Final + 4.1.95.Final 2.0.7 1.8 From 4bdb7ca04dcff75aeddc2c93812d90319fccd7dd Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 21 Jul 2023 15:56:55 -0400 Subject: [PATCH 265/973] On proxy connection unregister, unregister downstream channels When the proxy connection's channel is unregistered, also unregister all of its associated channels to avoid leaking memory. --- .../littleshoot/proxy/impl/DefaultHttpProxyServer.java | 8 ++++++++ .../java/org/littleshoot/proxy/impl/ProxyConnection.java | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java b/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java index 4c52a626..d3a450be 100644 --- a/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java +++ b/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java @@ -445,6 +445,14 @@ protected void registerChannel(Channel channel) { allChannels.add(channel); } + protected void unregisterChannel(Channel channel) { + if (channel.isOpen()) { + // Unlikely to happen, but just in case... + channel.close(); + } + allChannels.remove(channel); + } + /** * Closes all channels opened by this proxy server. * diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java index 60fe423c..2bab1a75 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java @@ -567,6 +567,12 @@ public void channelRegistered(ChannelHandlerContext ctx) throws Exception { } } + @Override + public void channelUnregistered(ChannelHandlerContext ctx) throws Exception { + this.proxyServer.unregisterChannel(ctx.channel()); + super.channelUnregistered(ctx); + } + /** * Only once the Netty Channel is active to we recognize the ProxyConnection * as connected. From c02bba707d23603c859f2b03073bbe12bba8f8aa Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Sat, 22 Jul 2023 23:04:35 +0300 Subject: [PATCH 266/973] release LittleProxy 2.0.19 --- README.md | 4 ++-- RELEASE_NOTES.md | 12 ++++++++++-- pom.xml | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 79ac0a35..2f171b4c 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.18 + 2.0.19 ``` Or with Gradle like this -`implementation "xyz.rogfam:littleproxy:2.0.18"` +`implementation "xyz.rogfam:littleproxy:2.0.19"` Once you've included LittleProxy, you can start the server with the following: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 192391b9..a3d1519d 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,15 @@ # Release Notes -- 2.0.19 (in progress) - - ... +- 2.0.20 (in progress) + - ... + +- 2.0.19 (22.07.2023, https://github.com/LittleProxy/LittleProxy/milestone/24?closed=1) + - #283 fix memory leak: On proxy connection unregister, unregister downstream channels - thanks to Craig Andrews + - #274 Bump Selenium from 4.9.1 to 4.10.0 (see https://github.com/SeleniumHQ/selenium) + - #266 Bump Jackson from 2.15.1 to 2.15.2 + - #281 Bump guava from 32.0.0-jre to 32.1.1-jre + - #282 Bump Netty from 4.1.93.Final to 4.1.95.Final + - #264 Migrate Jetty 9 to Jetty 11 - thanks to Valery Yatsynovich - 2.0.18 (29.05.2023, https://github.com/LittleProxy/LittleProxy/milestone/23?closed=1) - Bump Selenium from 4.8.3 to 4.9.1 (see https://github.com/SeleniumHQ/selenium) diff --git a/pom.xml b/pom.xml index 56ca228a..22988548 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.19-SNAPSHOT + 2.0.19 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 0e9dd760929d993b7ffba1b62b28fc226af987a5 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Sun, 23 Jul 2023 08:49:58 +0300 Subject: [PATCH 267/973] working on LittleProxy 2.0.20 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 22988548..a0a0d451 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.19 + 2.0.20-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 523fe65a2d8fad0d1dd030edcd6a13dd24cc3be6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 28 Jul 2023 00:56:27 +0000 Subject: [PATCH 268/973] Bump netty.version from 4.1.95.Final to 4.1.96.Final Bumps `netty.version` from 4.1.95.Final to 4.1.96.Final. Updates `io.netty:netty-all` from 4.1.95.Final to 4.1.96.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.95.Final...netty-4.1.96.Final) Updates `io.netty:netty-example` from 4.1.95.Final to 4.1.96.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.95.Final...netty-4.1.96.Final) Updates `io.netty:netty-buffer` from 4.1.95.Final to 4.1.96.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.95.Final...netty-4.1.96.Final) Updates `io.netty:netty-codec` from 4.1.95.Final to 4.1.96.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.95.Final...netty-4.1.96.Final) Updates `io.netty:netty-codec-haproxy` from 4.1.95.Final to 4.1.96.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.95.Final...netty-4.1.96.Final) Updates `io.netty:netty-codec-http` from 4.1.95.Final to 4.1.96.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.95.Final...netty-4.1.96.Final) Updates `io.netty:netty-codec-socks` from 4.1.95.Final to 4.1.96.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.95.Final...netty-4.1.96.Final) Updates `io.netty:netty-common` from 4.1.95.Final to 4.1.96.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.95.Final...netty-4.1.96.Final) Updates `io.netty:netty-handler` from 4.1.95.Final to 4.1.96.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.95.Final...netty-4.1.96.Final) Updates `io.netty:netty-handler-proxy` from 4.1.95.Final to 4.1.96.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.95.Final...netty-4.1.96.Final) Updates `io.netty:netty-transport` from 4.1.95.Final to 4.1.96.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.95.Final...netty-4.1.96.Final) Updates `io.netty:netty-transport-rxtx` from 4.1.95.Final to 4.1.96.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.95.Final...netty-4.1.96.Final) Updates `io.netty:netty-transport-sctp` from 4.1.95.Final to 4.1.96.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.95.Final...netty-4.1.96.Final) Updates `io.netty:netty-transport-udp` from 4.1.95.Final to 4.1.96.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a0a0d451..236a74b9 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.95.Final + 4.1.96.Final 2.0.7 1.8 From e0e0d8acf01dd875cac9dbdbe5d9d5b87d43021a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 00:57:58 +0000 Subject: [PATCH 269/973] Bump org.apache.commons:commons-lang3 from 3.12.0 to 3.13.0 Bumps org.apache.commons:commons-lang3 from 3.12.0 to 3.13.0. --- updated-dependencies: - dependency-name: org.apache.commons:commons-lang3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 236a74b9..05727a04 100644 --- a/pom.xml +++ b/pom.xml @@ -175,7 +175,7 @@ org.apache.commons commons-lang3 - 3.12.0 + 3.13.0 From dceba3d0860f8f632ad32bebf8f35f3665b14c8e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 00:22:29 +0000 Subject: [PATCH 270/973] Bump com.google.guava:guava from 32.1.1-jre to 32.1.2-jre Bumps [com.google.guava:guava](https://github.com/google/guava) from 32.1.1-jre to 32.1.2-jre. - [Release notes](https://github.com/google/guava/releases) - [Commits](https://github.com/google/guava/commits) --- updated-dependencies: - dependency-name: com.google.guava:guava dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 05727a04..02b0e4a6 100644 --- a/pom.xml +++ b/pom.xml @@ -161,7 +161,7 @@ com.google.guava guava - 32.1.1-jre + 32.1.2-jre From 2f199ea161615a7f60848a869716d18a2745d0a0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 00:22:14 +0000 Subject: [PATCH 271/973] Bump org.seleniumhq.selenium:selenium-java from 4.10.0 to 4.11.0 Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.10.0 to 4.11.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.10.0...selenium-4.11.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 02b0e4a6..a3c5d18e 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.10.0 + 4.11.0 test From 714b41eb26a88281ebe40531517eaabc6833130f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Aug 2023 00:34:10 +0000 Subject: [PATCH 272/973] Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.3.0 to 3.4.0 Bumps [org.apache.maven.plugins:maven-enforcer-plugin](https://github.com/apache/maven-enforcer) from 3.3.0 to 3.4.0. - [Release notes](https://github.com/apache/maven-enforcer/releases) - [Commits](https://github.com/apache/maven-enforcer/compare/enforcer-3.3.0...enforcer-3.4.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-enforcer-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a3c5d18e..91df1d10 100644 --- a/pom.xml +++ b/pom.xml @@ -418,7 +418,7 @@ org.apache.maven.plugins maven-enforcer-plugin - 3.3.0 + 3.4.0 From b1501cc29c1c932c8e8fc4770d2dcdaa94d8e0c0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Aug 2023 00:34:06 +0000 Subject: [PATCH 273/973] Bump org.mockito:mockito-core from 5.4.0 to 5.5.0 Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.4.0 to 5.5.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.4.0...v5.5.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 91df1d10..2653cc17 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 5.4.0 + 5.5.0 test From 2e91b4f3062b6120bd22fef89182d815776d294a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 24 Aug 2023 00:50:22 +0000 Subject: [PATCH 274/973] Bump netty.version from 4.1.96.Final to 4.1.97.Final Bumps `netty.version` from 4.1.96.Final to 4.1.97.Final. Updates `io.netty:netty-all` from 4.1.96.Final to 4.1.97.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.96.Final...netty-4.1.97.Final) Updates `io.netty:netty-example` from 4.1.96.Final to 4.1.97.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.96.Final...netty-4.1.97.Final) Updates `io.netty:netty-buffer` from 4.1.96.Final to 4.1.97.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.96.Final...netty-4.1.97.Final) Updates `io.netty:netty-codec` from 4.1.96.Final to 4.1.97.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.96.Final...netty-4.1.97.Final) Updates `io.netty:netty-codec-haproxy` from 4.1.96.Final to 4.1.97.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.96.Final...netty-4.1.97.Final) Updates `io.netty:netty-codec-http` from 4.1.96.Final to 4.1.97.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.96.Final...netty-4.1.97.Final) Updates `io.netty:netty-codec-socks` from 4.1.96.Final to 4.1.97.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.96.Final...netty-4.1.97.Final) Updates `io.netty:netty-common` from 4.1.96.Final to 4.1.97.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.96.Final...netty-4.1.97.Final) Updates `io.netty:netty-handler` from 4.1.96.Final to 4.1.97.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.96.Final...netty-4.1.97.Final) Updates `io.netty:netty-handler-proxy` from 4.1.96.Final to 4.1.97.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.96.Final...netty-4.1.97.Final) Updates `io.netty:netty-transport` from 4.1.96.Final to 4.1.97.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.96.Final...netty-4.1.97.Final) Updates `io.netty:netty-transport-rxtx` from 4.1.96.Final to 4.1.97.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.96.Final...netty-4.1.97.Final) Updates `io.netty:netty-transport-sctp` from 4.1.96.Final to 4.1.97.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.96.Final...netty-4.1.97.Final) Updates `io.netty:netty-transport-udp` from 4.1.96.Final to 4.1.97.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2653cc17..5e28da17 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.96.Final + 4.1.97.Final 2.0.7 1.8 From a9877645559edb7052f7b1142c35c12606c5f2cb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Sep 2023 00:10:38 +0000 Subject: [PATCH 275/973] Bump org.seleniumhq.selenium:selenium-java from 4.11.0 to 4.12.0 Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.11.0 to 4.12.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.11.0...selenium-4.12.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5e28da17..05d75be8 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.11.0 + 4.12.0 test From 9387c7c517f0ada397c1acae5af5d8584d907de3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Sep 2023 00:56:15 +0000 Subject: [PATCH 276/973] Bump slf4j.version from 2.0.7 to 2.0.9 Bumps `slf4j.version` from 2.0.7 to 2.0.9. Updates `org.slf4j:slf4j-reload4j` from 2.0.7 to 2.0.9 Updates `org.slf4j:slf4j-api` from 2.0.7 to 2.0.9 --- updated-dependencies: - dependency-name: org.slf4j:slf4j-reload4j dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.slf4j:slf4j-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 05d75be8..0f6b4ea7 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ UTF-8 github 4.1.97.Final - 2.0.7 + 2.0.9 1.8 From b00278fcf2e0ad5b43ab03ffaa8adf293d2b7fb0 Mon Sep 17 00:00:00 2001 From: Sujit Joshi Date: Mon, 4 Sep 2023 10:37:26 -0400 Subject: [PATCH 277/973] Fixing leak --- .../java/org/littleshoot/proxy/impl/ClientToProxyConnection.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index 19f1a953..2b121751 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -239,6 +239,7 @@ protected ConnectionState readHTTPInitial(HttpRequest httpRequest) { *

    */ private ConnectionState doReadHTTPInitial(HttpRequest httpRequest) { + resetCurrentRequest(); // Make a copy of the original request this.currentRequest = copy(httpRequest); From 2063efd387ea392cdcb64d46c4f7c6b41dce827e Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Mon, 4 Sep 2023 20:02:30 +0300 Subject: [PATCH 278/973] release LittleProxy 2.0.20 --- README.md | 4 ++-- RELEASE_NOTES.md | 10 +++++++++- pom.xml | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2f171b4c..bef0f6a1 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.19 + 2.0.20 ``` Or with Gradle like this -`implementation "xyz.rogfam:littleproxy:2.0.19"` +`implementation "xyz.rogfam:littleproxy:2.0.20"` Once you've included LittleProxy, you can start the server with the following: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index a3d1519d..9d4585ed 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,8 +1,16 @@ # Release Notes -- 2.0.20 (in progress) +- 2.0.21 (in progress) - ... +- 2.0.20 (04.09.2023, https://github.com/LittleProxy/LittleProxy/milestone/25?closed=1) + - #295 #131 fix memory leak "LEAK: ByteBuf.release() was not called..." -- thanks to Sujit Joshi for the fix + - #284 #291 Bump netty.version from 4.1.95.Final to 4.1.97.Final + - #286 #293 Bump org.seleniumhq.selenium:selenium-java from 4.10.0 to 4.12.0 + - #285 Bump org.apache.commons:commons-lang3 from 3.12.0 to 3.13.0 + - #287 Bump com.google.guava:guava from 32.1.1-jre to 32.1.2-jre + - #294 Bump slf4j.version from 2.0.7 to 2.0.9 + - 2.0.19 (22.07.2023, https://github.com/LittleProxy/LittleProxy/milestone/24?closed=1) - #283 fix memory leak: On proxy connection unregister, unregister downstream channels - thanks to Craig Andrews - #274 Bump Selenium from 4.9.1 to 4.10.0 (see https://github.com/SeleniumHQ/selenium) diff --git a/pom.xml b/pom.xml index 0f6b4ea7..e21c019c 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.20-SNAPSHOT + 2.0.20 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 7dce0af1393dd15280a7c9746389aa72fd576e75 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Mon, 4 Sep 2023 20:13:48 +0300 Subject: [PATCH 279/973] working on LittleProxy 2.0.21 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e21c019c..5cf5164a 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.20 + 2.0.21-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 9f914149fc1f8ea917704a196097c72bb1665b09 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Sep 2023 00:46:39 +0000 Subject: [PATCH 280/973] Bump org.seleniumhq.selenium:selenium-java from 4.12.0 to 4.12.1 Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.12.0 to 4.12.1. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/commits) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5cf5164a..45237530 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.12.0 + 4.12.1 test From 5daadca3cc253b11c2aef48b4d63d4bf993348d7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Sep 2023 00:43:07 +0000 Subject: [PATCH 281/973] Bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8837af8f..2a8892ce 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,7 +18,7 @@ jobs: runs-on: ${{ matrix.platform }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up JDK 11 uses: actions/setup-java@v3 with: From c3dbce542d9dfba0c43b619ff6b9f38fae7adead Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Sep 2023 00:36:07 +0000 Subject: [PATCH 282/973] Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.4.0 to 3.4.1 Bumps [org.apache.maven.plugins:maven-enforcer-plugin](https://github.com/apache/maven-enforcer) from 3.4.0 to 3.4.1. - [Release notes](https://github.com/apache/maven-enforcer/releases) - [Commits](https://github.com/apache/maven-enforcer/compare/enforcer-3.4.0...enforcer-3.4.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-enforcer-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 45237530..d6084dc7 100644 --- a/pom.xml +++ b/pom.xml @@ -418,7 +418,7 @@ org.apache.maven.plugins maven-enforcer-plugin - 3.4.0 + 3.4.1 From b32998a82edbc0ed451c7419c325b6e18932c9ba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Sep 2023 00:32:40 +0000 Subject: [PATCH 283/973] Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.5.0 to 3.6.0 Bumps [org.apache.maven.plugins:maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) from 3.5.0 to 3.6.0. - [Release notes](https://github.com/apache/maven-javadoc-plugin/releases) - [Commits](https://github.com/apache/maven-javadoc-plugin/compare/maven-javadoc-plugin-3.5.0...maven-javadoc-plugin-3.6.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-javadoc-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d6084dc7..815e6f44 100644 --- a/pom.xml +++ b/pom.xml @@ -489,7 +489,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.5.0 + 3.6.0 all,-missing private From f9b0b650d95a77b429f5e3c21f458abdbdabb97b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Sep 2023 00:49:20 +0000 Subject: [PATCH 284/973] Bump org.codehaus.mojo:versions-maven-plugin from 2.16.0 to 2.16.1 Bumps [org.codehaus.mojo:versions-maven-plugin](https://github.com/mojohaus/versions) from 2.16.0 to 2.16.1. - [Release notes](https://github.com/mojohaus/versions/releases) - [Changelog](https://github.com/mojohaus/versions/blob/master/ReleaseNotes.md) - [Commits](https://github.com/mojohaus/versions/compare/2.16.0...2.16.1) --- updated-dependencies: - dependency-name: org.codehaus.mojo:versions-maven-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 815e6f44..02dc64f4 100644 --- a/pom.xml +++ b/pom.xml @@ -703,7 +703,7 @@ org.codehaus.mojo versions-maven-plugin - 2.16.0 + 2.16.1 From 9ea849b01731b109194f8f9941a6afee2829d578 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 18 Sep 2023 15:21:45 -0400 Subject: [PATCH 285/973] Always use a new connection for websockets Don't try to reuse an existing connection when servicing a request to upgrade a connection to websockets. Websockets connections can't be reused. An attempt to reuse a websockets connection for HTTP will fail. Fixes an issue where a websockets connection is attempted to be reused resulting in garbage and failures when that connection is reused. --- .../proxy/impl/ClientToProxyConnection.java | 5 +++++ .../java/org/littleshoot/proxy/impl/ProxyUtils.java | 12 ++++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index 2b121751..acc3f764 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -303,6 +303,11 @@ private ConnectionState doReadHTTPInitial(HttpRequest httpRequest) { "Not reusing existing ProxyToServerConnection because request is a CONNECT for: {}", serverHostAndPort); newConnectionRequired = true; + } else if (ProxyUtils.isSwitchingToWebSocketProtocol(httpRequest)) { + LOG.debug( + "Not reusing existing ProxyToServerConnection because request is an upgrade to websocket for: {}", + serverHostAndPort); + newConnectionRequired = true; } else if (currentServerConnection == null) { LOG.debug("Didn't find existing ProxyToServerConnection for: {}", serverHostAndPort); diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java index 04320cf3..8a0c34ed 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java @@ -643,4 +643,16 @@ public static boolean isSwitchingToWebSocketProtocol(HttpResponse response) { && response.headers().contains(HttpHeaderNames.CONNECTION, HttpHeaderNames.UPGRADE, true) && response.headers().contains(HttpHeaderNames.UPGRADE, "websocket", true); } + + /** + * Tests whether the given request indicates that the connection is switching + * to the WebSocket protocol. + * + * @param request the request to check. + * @return true if switching to the WebSocket protocol; false otherwise; + */ + public static boolean isSwitchingToWebSocketProtocol(HttpRequest request) { + return request.headers().contains(HttpHeaderNames.CONNECTION, HttpHeaderNames.UPGRADE, true) + && request.headers().contains(HttpHeaderNames.UPGRADE, "websocket", true); + } } From 6960946bf99560d7831b377dccd508362975aa84 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 22 Sep 2023 00:08:05 +0000 Subject: [PATCH 286/973] Bump netty.version from 4.1.97.Final to 4.1.98.Final Bumps `netty.version` from 4.1.97.Final to 4.1.98.Final. Updates `io.netty:netty-all` from 4.1.97.Final to 4.1.98.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.97.Final...netty-4.1.98.Final) Updates `io.netty:netty-example` from 4.1.97.Final to 4.1.98.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.97.Final...netty-4.1.98.Final) Updates `io.netty:netty-buffer` from 4.1.97.Final to 4.1.98.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.97.Final...netty-4.1.98.Final) Updates `io.netty:netty-codec` from 4.1.97.Final to 4.1.98.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.97.Final...netty-4.1.98.Final) Updates `io.netty:netty-codec-haproxy` from 4.1.97.Final to 4.1.98.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.97.Final...netty-4.1.98.Final) Updates `io.netty:netty-codec-http` from 4.1.97.Final to 4.1.98.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.97.Final...netty-4.1.98.Final) Updates `io.netty:netty-codec-socks` from 4.1.97.Final to 4.1.98.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.97.Final...netty-4.1.98.Final) Updates `io.netty:netty-common` from 4.1.97.Final to 4.1.98.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.97.Final...netty-4.1.98.Final) Updates `io.netty:netty-handler` from 4.1.97.Final to 4.1.98.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.97.Final...netty-4.1.98.Final) Updates `io.netty:netty-handler-proxy` from 4.1.97.Final to 4.1.98.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.97.Final...netty-4.1.98.Final) Updates `io.netty:netty-transport` from 4.1.97.Final to 4.1.98.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.97.Final...netty-4.1.98.Final) Updates `io.netty:netty-transport-rxtx` from 4.1.97.Final to 4.1.98.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.97.Final...netty-4.1.98.Final) Updates `io.netty:netty-transport-sctp` from 4.1.97.Final to 4.1.98.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.97.Final...netty-4.1.98.Final) Updates `io.netty:netty-transport-udp` from 4.1.97.Final to 4.1.98.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 02dc64f4..5e67a2ef 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.97.Final + 4.1.98.Final 2.0.9 1.8 From b39758fdfc577b9ec13e651e765901b982fa88f3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Sep 2023 00:58:20 +0000 Subject: [PATCH 287/973] Bump org.apache.maven.plugins:maven-shade-plugin from 3.5.0 to 3.5.1 Bumps [org.apache.maven.plugins:maven-shade-plugin](https://github.com/apache/maven-shade-plugin) from 3.5.0 to 3.5.1. - [Release notes](https://github.com/apache/maven-shade-plugin/releases) - [Commits](https://github.com/apache/maven-shade-plugin/compare/maven-shade-plugin-3.5.0...maven-shade-plugin-3.5.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-shade-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5e67a2ef..b03b30a8 100644 --- a/pom.xml +++ b/pom.xml @@ -543,7 +543,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.5.0 + 3.5.1 package From bec10e48276ffab1aeaa5b974ee46447d1233154 Mon Sep 17 00:00:00 2001 From: Matthias Kraaz Date: Sun, 24 Sep 2023 21:43:07 +0200 Subject: [PATCH 288/973] Fixes #299 --- .../proxy/impl/ClientToProxyConnection.java | 8 +----- .../littleshoot/proxy/impl/ProxyUtils.java | 12 +++++++++ .../littleshoot/proxy/ProxyHeadersTest.java | 26 +++++++++++++++++++ 3 files changed, 39 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index acc3f764..fe52f1a5 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -46,7 +46,6 @@ import java.util.List; import java.util.Locale; import java.util.Map; -import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.atomic.AtomicBoolean; @@ -1243,12 +1242,7 @@ private void stripConnectionTokens(HttpHeaders headers) { * The headers to modify */ private void stripHopByHopHeaders(HttpHeaders headers) { - Set headerNames = headers.names(); - for (String headerName : headerNames) { - if (ProxyUtils.shouldRemoveHopByHopHeader(headerName)) { - headers.remove(headerName); - } - } + ProxyUtils.stripHopByHopHeaders(headers); } /* ************************************************************************* diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java index 8a0c34ed..b40f29c8 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java @@ -519,6 +519,18 @@ public static boolean shouldRemoveHopByHopHeader(String headerName) { return SHOULD_NOT_PROXY_HOP_BY_HOP_HEADERS.contains(headerName); } + /** + * Removes all headers that should not be forwarded. See RFC 2616 13.5.1 + * End-to-end and Hop-by-hop Headers. + * + * @param headers + * The headers to modify + */ + public static void stripHopByHopHeaders(HttpHeaders headers) { + // Not explicitly documented, but remove is case insensitve as a HTTP header handling function should be + SHOULD_NOT_PROXY_HOP_BY_HOP_HEADERS.forEach(headers::remove); + } + /** * Splits comma-separated header values into tokens. For example, if the value of the Connection header is "Transfer-Encoding, close", * this method will return "Transfer-Encoding" and "close". This method strips trims any optional whitespace from diff --git a/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java b/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java index c8560353..74f9d616 100644 --- a/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java +++ b/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java @@ -12,11 +12,14 @@ import org.mockserver.integration.ClientAndServer; import org.mockserver.matchers.Times; import org.mockserver.model.ConnectionOptions; +import org.mockserver.model.HttpRequest; +import org.mockserver.model.NottableString; import static org.hamcrest.Matchers.emptyArray; import static org.hamcrest.MatcherAssert.assertThat; import static org.mockserver.model.HttpRequest.request; import static org.mockserver.model.HttpResponse.response; +import static org.junit.Assert.assertEquals; /** * Tests the proxy's handling and manipulation of headers. @@ -74,4 +77,27 @@ public void testProxyRemovesConnectionHeadersFromServer() throws Exception { assertThat("Expected proxy to remove the Dummy-Header specified in the Connection header", dummyHeaders, emptyArray()); } } + + @Test + public void testProxyRemovesHopByHopHeadersFromClient() throws Exception { + HttpRequest expectedServerRequest = request() // + .withMethod("GET") // + .withPath("/connectionheaders") // + .withHeader(NottableString.not("proxy-authenticate")) // + .withHeader(NottableString.not("proxy-authorization")); + mockServer.when(expectedServerRequest, Times.exactly(1)) // + .respond(response().withStatusCode(200).withBody("success")); + + this.proxyServer = DefaultHttpProxyServer.bootstrap().withPort(0).start(); + + try (CloseableHttpClient httpClient = TestUtils + .createProxiedHttpClient(proxyServer.getListenAddress().getPort())) { + HttpGet clientRequest = new HttpGet("http://localhost:" + mockServerPort + "/connectionheaders"); + clientRequest.addHeader("Proxy-Authenticate", ""); + clientRequest.addHeader("Proxy-Authorization", ""); + HttpResponse response = httpClient.execute(clientRequest); + EntityUtils.consume(response.getEntity()); + assertEquals(200, response.getStatusLine().getStatusCode()); + } + } } From c2688c3258efcebb2b8146b13151a35a9651ae53 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Sep 2023 00:29:21 +0000 Subject: [PATCH 289/973] Bump org.seleniumhq.selenium:selenium-java from 4.12.1 to 4.13.0 Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.12.1 to 4.13.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/commits/selenium-4.13.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b03b30a8..7dc2868e 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.12.1 + 4.13.0 test From 2610fff9278426af28b899dac70df6e34345ded5 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Wed, 27 Sep 2023 23:35:03 +0300 Subject: [PATCH 290/973] release LittleProxy 2.0.21 --- README.md | 4 ++-- RELEASE_NOTES.md | 10 ++++++++-- pom.xml | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index bef0f6a1..f01377db 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.20 + 2.0.21 ``` Or with Gradle like this -`implementation "xyz.rogfam:littleproxy:2.0.20"` +`implementation "xyz.rogfam:littleproxy:2.0.21"` Once you've included LittleProxy, you can start the server with the following: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 9d4585ed..18f1c602 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,13 @@ # Release Notes -- 2.0.21 (in progress) - - ... +- 2.0.22 (in progress) + - ... + +- 2.0.21 (27.09.2023, https://github.com/LittleProxy/LittleProxy/milestone/26?closed=1) + - #301 Always use a new connection for websockets -- thanks to Craig Andrews + - #299 fix problem with filtering proxy Authorization header -- thanks to Matthias Kraaz for PR #304 + - #297 #306 Bump org.seleniumhq.selenium:selenium-java from 4.12.0 to 4.13.0 + - #303 Bump `netty.version` from 4.1.97.Final to 4.1.98.Final. - 2.0.20 (04.09.2023, https://github.com/LittleProxy/LittleProxy/milestone/25?closed=1) - #295 #131 fix memory leak "LEAK: ByteBuf.release() was not called..." -- thanks to Sujit Joshi for the fix diff --git a/pom.xml b/pom.xml index 7dc2868e..32473c68 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.21-SNAPSHOT + 2.0.21 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From b390bba25c2a4fd9f783dc7e3e9721c36078de03 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Wed, 27 Sep 2023 23:42:09 +0300 Subject: [PATCH 291/973] working on LittleProxy 2.0.22 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 32473c68..7c153cba 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.21 + 2.0.22-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 03dde29bb7bbe7f5b64f8669b492f7a3146b3081 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Sep 2023 00:39:30 +0000 Subject: [PATCH 292/973] Bump netty.version from 4.1.98.Final to 4.1.99.Final Bumps `netty.version` from 4.1.98.Final to 4.1.99.Final. Updates `io.netty:netty-all` from 4.1.98.Final to 4.1.99.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.98.Final...netty-4.1.99.Final) Updates `io.netty:netty-example` from 4.1.98.Final to 4.1.99.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.98.Final...netty-4.1.99.Final) Updates `io.netty:netty-buffer` from 4.1.98.Final to 4.1.99.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.98.Final...netty-4.1.99.Final) Updates `io.netty:netty-codec` from 4.1.98.Final to 4.1.99.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.98.Final...netty-4.1.99.Final) Updates `io.netty:netty-codec-haproxy` from 4.1.98.Final to 4.1.99.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.98.Final...netty-4.1.99.Final) Updates `io.netty:netty-codec-http` from 4.1.98.Final to 4.1.99.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.98.Final...netty-4.1.99.Final) Updates `io.netty:netty-codec-socks` from 4.1.98.Final to 4.1.99.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.98.Final...netty-4.1.99.Final) Updates `io.netty:netty-common` from 4.1.98.Final to 4.1.99.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.98.Final...netty-4.1.99.Final) Updates `io.netty:netty-handler` from 4.1.98.Final to 4.1.99.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.98.Final...netty-4.1.99.Final) Updates `io.netty:netty-handler-proxy` from 4.1.98.Final to 4.1.99.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.98.Final...netty-4.1.99.Final) Updates `io.netty:netty-transport` from 4.1.98.Final to 4.1.99.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.98.Final...netty-4.1.99.Final) Updates `io.netty:netty-transport-rxtx` from 4.1.98.Final to 4.1.99.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.98.Final...netty-4.1.99.Final) Updates `io.netty:netty-transport-sctp` from 4.1.98.Final to 4.1.99.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.98.Final...netty-4.1.99.Final) Updates `io.netty:netty-transport-udp` from 4.1.98.Final to 4.1.99.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7c153cba..6d3a049e 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.98.Final + 4.1.99.Final 2.0.9 1.8 From 9745e420b4508063f15a63fbc03db054c65c7e7d Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 6 Oct 2023 12:51:58 -0400 Subject: [PATCH 293/973] Return ChannelFuture in write methods Allows callers of these methods to add listeners so they can know when the writes are completed. --- .../proxy/impl/ClientToProxyConnection.java | 5 +++-- .../proxy/impl/ProxyConnection.java | 20 +++++++++---------- .../proxy/impl/ProxyToServerConnection.java | 11 +++++----- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index fe52f1a5..32aec5af 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -4,6 +4,7 @@ import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.channel.Channel; +import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelPipeline; import io.netty.handler.codec.haproxy.HAProxyMessage; import io.netty.handler.codec.haproxy.HAProxyMessageDecoder; @@ -1388,8 +1389,8 @@ private String identifyHostAndPort(HttpRequest httpRequest) { * and using the empty buffer's future instead to handle any operations we * need to when responses are fully written back to clients. */ - private void writeEmptyBuffer() { - write(Unpooled.EMPTY_BUFFER); + private ChannelFuture writeEmptyBuffer() { + return write(Unpooled.EMPTY_BUFFER); } public boolean isMitming() { diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java index 2bab1a75..f6c4702d 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java @@ -211,23 +211,23 @@ private void readHTTP(HttpObject httpObject) { * This method is called by users of the ProxyConnection to send stuff out * over the socket. */ - void write(Object msg) { + ChannelFuture write(Object msg) { if (msg instanceof ReferenceCounted) { LOG.debug("Retaining reference counted message"); ((ReferenceCounted) msg).retain(); } - doWrite(msg); + return doWrite(msg); } - void doWrite(Object msg) { + ChannelFuture doWrite(Object msg) { LOG.debug("Writing: {}", msg); try { if (msg instanceof HttpObject) { - writeHttp((HttpObject) msg); + return writeHttp((HttpObject) msg); } else { - writeRaw((ByteBuf) msg); + return writeRaw((ByteBuf) msg); } } finally { LOG.debug("Wrote: {}", msg); @@ -237,21 +237,21 @@ void doWrite(Object msg) { /** * Writes HttpObjects to the connection asynchronously. */ - protected void writeHttp(HttpObject httpObject) { + protected ChannelFuture writeHttp(HttpObject httpObject) { if (ProxyUtils.isLastChunk(httpObject)) { channel.write(httpObject); LOG.debug("Writing an empty buffer to signal the end of our chunked transfer"); - writeToChannel(Unpooled.EMPTY_BUFFER); + return writeToChannel(Unpooled.EMPTY_BUFFER); } else { - writeToChannel(httpObject); + return writeToChannel(httpObject); } } /** * Writes raw buffers to the connection. */ - protected void writeRaw(ByteBuf buf) { - writeToChannel(buf); + protected ChannelFuture writeRaw(ByteBuf buf) { + return writeToChannel(buf); } protected ChannelFuture writeToChannel(final Object msg) { diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java index af78c8ca..337daa5d 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java @@ -351,7 +351,7 @@ void write(Object msg, HttpFilters filters) { } @Override - void write(Object msg) { + ChannelFuture write(Object msg) { LOG.debug("Requested write of {}", msg); if (msg instanceof ReferenceCounted) { @@ -362,6 +362,7 @@ void write(Object msg) { if (is(DISCONNECTED) && msg instanceof HttpRequest) { LOG.debug("Currently disconnected, connect and then write the message"); connectAndWrite((HttpRequest) msg); + return this.clientConnection.channel.newSucceededFuture(); } else { if (isConnecting()) { synchronized (connectLock) { @@ -381,16 +382,16 @@ void write(Object msg) { // already disconnected if (isConnecting() || getCurrentState().isDisconnectingOrDisconnected()) { LOG.debug("Connection failed or timed out while waiting to write message to server. Message will be discarded: {}", msg); - return; + return channel.newFailedFuture(new Exception("Connection failed or timed out while waiting to write message to server. Message will be discarded.")); } LOG.debug("Using existing connection to: {}", remoteAddress); - doWrite(msg); + return doWrite(msg); } } @Override - protected void writeHttp(HttpObject httpObject) { + protected ChannelFuture writeHttp(HttpObject httpObject) { if (chainedProxy != null) { chainedProxy.filterRequest(httpObject); } @@ -398,7 +399,7 @@ protected void writeHttp(HttpObject httpObject) { // Remember that we issued this HttpRequest for later currentHttpRequest = (HttpRequest) httpObject; } - super.writeHttp(httpObject); + return super.writeHttp(httpObject); } /* ************************************************************************* From a56f1c50b59de9e357d821578dc11bb0e2b9f571 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 6 Oct 2023 13:12:59 -0400 Subject: [PATCH 294/973] ProxyConnection: debug log when a write fails --- .../java/org/littleshoot/proxy/impl/ProxyConnection.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java index f6c4702d..be3966de 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java @@ -255,7 +255,11 @@ protected ChannelFuture writeRaw(ByteBuf buf) { } protected ChannelFuture writeToChannel(final Object msg) { - return channel.writeAndFlush(msg); + return channel.writeAndFlush(msg).addListener(l-> { + if (!l.isSuccess()) { + LOG.debug("writeToChannel failed sending message {}", msg, l.cause()); + } + }); } /* ************************************************************************* From 40cfc7011829f1febf80a636e5810d21ca64a18f Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 6 Oct 2023 12:20:07 -0400 Subject: [PATCH 295/973] Websockets: reuse connection Revert 9ea849b01731b109194f8f9941a6afee2829d578 Websockets must (in the case of wss) tunnel over an existing `CONNECT` connection, otherwise, wss connections don't work at all. --- .../org/littleshoot/proxy/impl/ClientToProxyConnection.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index 32aec5af..b0908f8c 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -303,11 +303,6 @@ private ConnectionState doReadHTTPInitial(HttpRequest httpRequest) { "Not reusing existing ProxyToServerConnection because request is a CONNECT for: {}", serverHostAndPort); newConnectionRequired = true; - } else if (ProxyUtils.isSwitchingToWebSocketProtocol(httpRequest)) { - LOG.debug( - "Not reusing existing ProxyToServerConnection because request is an upgrade to websocket for: {}", - serverHostAndPort); - newConnectionRequired = true; } else if (currentServerConnection == null) { LOG.debug("Didn't find existing ProxyToServerConnection for: {}", serverHostAndPort); From c4eaf06a51c285135f565c899aa47fba9cbe6c2d Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 6 Oct 2023 12:52:50 -0400 Subject: [PATCH 296/973] Websockets: wait for message to be written before changing pipeline After the "HTTP/1.1 101 Switching Protocols" message is sent to the client, the pipeline needs to be reconfigured. The pipeline cannot be reconfigured until after the message is written - if it's reconfigured before the message is written, the pipeline won't have the "encoder" necessary to encode the `DefaultHttpResponse` to a byte buffer, resulting in this exception: ``` io.netty.handler.codec.UnsupportedMessageTypeException: io.netty.handler.codec.http.DefaultHttpResponse (expected: io.netty.buffer.ByteBuf) at io.netty.handler.ssl.SslHandler.write(SslHandler.java:772) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863) at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968) at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856) at io.netty.channel.ChannelOutboundHandlerAdapter.write(ChannelOutboundHandlerAdapter.java:113) at org.littleshoot.proxy.impl.ProxyConnection$BytesWrittenMonitor.write(ProxyConnection.java:738) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863) at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968) at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856) at io.netty.handler.timeout.IdleStateHandler.write(IdleStateHandler.java:302) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:879) at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:940) at io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1247) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.base/java.lang.Thread.run(Thread.java:1623) ``` Netty performs write asynchronously, so calling `write` then reconfiguring the pipeline may result in the pipeline being reconfigured before the the message is actually written - a classic race condition. To guarantee the pipeline is reconfigured after the message is written, a listener that reconfigures the pipeline must be attached to the `ChannelFuture` returned by the `write` method. --- .../proxy/impl/ClientToProxyConnection.java | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index b0908f8c..20e9cf93 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -451,7 +451,7 @@ void respond(ProxyToServerConnection serverConnection, HttpFilters filters, return; } - boolean isSwitchingToWebSocketProtocol = false; + final boolean isSwitchingToWebSocketProtocol; if (httpObject instanceof HttpResponse) { HttpResponse httpResponse = (HttpResponse) httpObject; @@ -480,25 +480,28 @@ void respond(ProxyToServerConnection serverConnection, HttpFilters filters, fixHttpVersionHeaderIfNecessary(httpResponse); modifyResponseHeadersToReflectProxying(httpResponse); + } else { + isSwitchingToWebSocketProtocol = false; } - httpObject = filters.proxyToClientResponse(httpObject); - if (httpObject == null) { + final HttpObject filteredhttpObject = filters.proxyToClientResponse(httpObject); + if (filteredhttpObject == null) { forceDisconnect(serverConnection); return; } - write(httpObject); + write(filteredhttpObject).addListener(l -> { - if (ProxyUtils.isLastChunk(httpObject)) { - writeEmptyBuffer(); - } - else if (isSwitchingToWebSocketProtocol) { - switchToWebSocketProtocol(serverConnection); - } + if (ProxyUtils.isLastChunk(filteredhttpObject)) { + writeEmptyBuffer(); + } + else if (isSwitchingToWebSocketProtocol) { + switchToWebSocketProtocol(serverConnection); + } - closeConnectionsAfterWriteIfNecessary(serverConnection, - currentHttpRequest, currentHttpResponse, httpObject); + closeConnectionsAfterWriteIfNecessary(serverConnection, + currentHttpRequest, currentHttpResponse, filteredhttpObject); + }); } private void resetCurrentRequest() { From 95590b219a215777464d8bd2d1fe3165bd9fdaa1 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 6 Oct 2023 14:43:47 -0400 Subject: [PATCH 297/973] Websockets: Switch the server connection to tunneling mode When switching to Websockets, switch the server connection to tunnel mode so it passed any message through as-is instead of trying to handle them as `HttpObject` instances (which they are not). Fixes this exception: ``` java.lang.ClassCastException: class io.netty.buffer.PooledUnsafeDirectByteBuf cannot be cast to class io.netty.handler.codec.http.HttpObject (io.netty.buffer.PooledUnsafeDirectByteBuf and io.netty.handler.codec.http.HttpObject are in unnamed module of loader org.springframework.boot.loader.LaunchedURLClassLoader @7291c18f) at org.littleshoot.proxy.impl.ProxyConnection.read(ProxyConnection.java:120) at org.littleshoot.proxy.impl.ProxyToServerConnection.read(ProxyToServerConnection.java:250) at org.littleshoot.proxy.impl.ProxyConnection.channelRead0(ProxyConnection.java:560) at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) at org.littleshoot.proxy.impl.ProxyConnection$ResponseReadMonitor.channelRead(ProxyConnection.java:716) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) at org.littleshoot.proxy.impl.ProxyConnection$BytesReadMonitor.channelRead(ProxyConnection.java:670) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1471) at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1334) at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1383) at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:529) at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:468) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.base/java.lang.Thread.run(Thread.java:1583) ``` --- .../org/littleshoot/proxy/impl/ClientToProxyConnection.java | 4 +++- src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java | 2 +- .../org/littleshoot/proxy/impl/ProxyToServerConnection.java | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index 20e9cf93..9eb28115 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -490,6 +490,9 @@ void respond(ProxyToServerConnection serverConnection, HttpFilters filters, return; } + if (isSwitchingToWebSocketProtocol) { + serverConnection.switchToWebSocketProtocol(); + } write(filteredhttpObject).addListener(l -> { if (ProxyUtils.isLastChunk(filteredhttpObject)) { @@ -519,7 +522,6 @@ private void switchToWebSocketProtocol(final ProxyToServerConnection serverConne new ProxyConnectionPipeHandler(serverConnection)); } orderedHandlersToRemove.forEach(this::removeHandlerIfPresent); - serverConnection.switchToWebSocketProtocol(); } /* ************************************************************************* diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java index be3966de..cb8032de 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java @@ -71,7 +71,7 @@ abstract class ProxyConnection extends protected volatile Channel channel; private volatile ConnectionState currentState; - private volatile boolean tunneling = false; + protected volatile boolean tunneling = false; protected volatile long lastReadTime = 0; /** diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java index 337daa5d..7d43be37 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java @@ -1218,6 +1218,7 @@ void switchToWebSocketProtocol() { new ProxyConnectionPipeHandler(clientConnection)); } orderedHandlersToRemove.forEach(this::removeHandlerIfPresent); + tunneling = true; } /* ************************************************************************* From 7fad2bcf0e99eb95d9fe82da6470a0175c732a56 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Sun, 8 Oct 2023 00:25:33 +0300 Subject: [PATCH 298/973] release LittleProxy 2.0.22 --- README.md | 4 ++-- RELEASE_NOTES.md | 6 +++++- pom.xml | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f01377db..433a3f56 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.21 + 2.0.22 ``` Or with Gradle like this -`implementation "xyz.rogfam:littleproxy:2.0.21"` +`implementation "xyz.rogfam:littleproxy:2.0.22"` Once you've included LittleProxy, you can start the server with the following: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 18f1c602..d29b2e84 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,11 @@ # Release Notes -- 2.0.22 (in progress) +- 2.0.23 (in progress) - ... + +- 2.0.22 (08.10.2023, https://github.com/LittleProxy/LittleProxy/milestone/27?closed=1) + - #35 Fix Websocket race condition while protocol switching -- thanks to Craig Andrews for PR #308 + - #307 bump Netty from 4.1.98.Final to 4.1.99.Final - 2.0.21 (27.09.2023, https://github.com/LittleProxy/LittleProxy/milestone/26?closed=1) - #301 Always use a new connection for websockets -- thanks to Craig Andrews diff --git a/pom.xml b/pom.xml index 6d3a049e..b5ceaf9f 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.22-SNAPSHOT + 2.0.22 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 81e5a5792ca5a57752182ea98ca7daf37b4749c5 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Sun, 8 Oct 2023 00:40:38 +0300 Subject: [PATCH 299/973] working on LittleProxy 2.0.23 --- RELEASE_NOTES.md | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index d29b2e84..da511e33 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,6 +1,6 @@ # Release Notes -- 2.0.23 (in progress) +- 2.0.23 (in progress, https://github.com/LittleProxy/LittleProxy/milestone/28?closed=1) - ... - 2.0.22 (08.10.2023, https://github.com/LittleProxy/LittleProxy/milestone/27?closed=1) diff --git a/pom.xml b/pom.xml index b5ceaf9f..c980ffd8 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.22 + 2.0.23-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 154546f318a3dc90cf18826bc18855f171fd8cf4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Oct 2023 01:22:32 +0000 Subject: [PATCH 300/973] Bump org.mockito:mockito-core from 5.5.0 to 5.6.0 Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.5.0 to 5.6.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.5.0...v5.6.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c980ffd8..c07ea48f 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 5.5.0 + 5.6.0 test From 7918b7e1ec1b630ce98a2e0baa9c9498e6e2da1a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Oct 2023 01:01:06 +0000 Subject: [PATCH 301/973] Bump com.google.guava:guava from 32.1.2-jre to 32.1.3-jre Bumps [com.google.guava:guava](https://github.com/google/guava) from 32.1.2-jre to 32.1.3-jre. - [Release notes](https://github.com/google/guava/releases) - [Commits](https://github.com/google/guava/commits) --- updated-dependencies: - dependency-name: com.google.guava:guava dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c07ea48f..76a55cda 100644 --- a/pom.xml +++ b/pom.xml @@ -161,7 +161,7 @@ com.google.guava guava - 32.1.2-jre + 32.1.3-jre From 1814df145693b846b6a86eb8ed421e9c091c6f39 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Oct 2023 01:00:46 +0000 Subject: [PATCH 302/973] Bump org.seleniumhq.selenium:selenium-java from 4.13.0 to 4.14.0 Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.13.0 to 4.14.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.13.0...selenium-4.14.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 76a55cda..96e611c7 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.13.0 + 4.14.0 test From 6c4d9d99d8d2f3dc56fd7336c714bb18e0d04b81 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Oct 2023 00:59:49 +0000 Subject: [PATCH 303/973] Bump netty.version from 4.1.99.Final to 4.1.100.Final Bumps `netty.version` from 4.1.99.Final to 4.1.100.Final. Updates `io.netty:netty-all` from 4.1.99.Final to 4.1.100.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.99.Final...netty-4.1.100.Final) Updates `io.netty:netty-example` from 4.1.99.Final to 4.1.100.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.99.Final...netty-4.1.100.Final) Updates `io.netty:netty-buffer` from 4.1.99.Final to 4.1.100.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.99.Final...netty-4.1.100.Final) Updates `io.netty:netty-codec` from 4.1.99.Final to 4.1.100.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.99.Final...netty-4.1.100.Final) Updates `io.netty:netty-codec-haproxy` from 4.1.99.Final to 4.1.100.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.99.Final...netty-4.1.100.Final) Updates `io.netty:netty-codec-http` from 4.1.99.Final to 4.1.100.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.99.Final...netty-4.1.100.Final) Updates `io.netty:netty-codec-socks` from 4.1.99.Final to 4.1.100.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.99.Final...netty-4.1.100.Final) Updates `io.netty:netty-common` from 4.1.99.Final to 4.1.100.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.99.Final...netty-4.1.100.Final) Updates `io.netty:netty-handler` from 4.1.99.Final to 4.1.100.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.99.Final...netty-4.1.100.Final) Updates `io.netty:netty-handler-proxy` from 4.1.99.Final to 4.1.100.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.99.Final...netty-4.1.100.Final) Updates `io.netty:netty-transport` from 4.1.99.Final to 4.1.100.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.99.Final...netty-4.1.100.Final) Updates `io.netty:netty-transport-rxtx` from 4.1.99.Final to 4.1.100.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.99.Final...netty-4.1.100.Final) Updates `io.netty:netty-transport-sctp` from 4.1.99.Final to 4.1.100.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.99.Final...netty-4.1.100.Final) Updates `io.netty:netty-transport-udp` from 4.1.99.Final to 4.1.100.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 96e611c7..a66c2ac3 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.99.Final + 4.1.100.Final 2.0.9 1.8 From e9bf69454d53ad97d7171c471820ecd1a4c9bf35 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Oct 2023 01:02:12 +0000 Subject: [PATCH 304/973] Bump org.seleniumhq.selenium:selenium-java from 4.14.0 to 4.14.1 Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.14.0 to 4.14.1. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/commits) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a66c2ac3..6da6f93f 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.14.0 + 4.14.1 test From 7162723cf1cd502302870aad86c54d2a00c6fd74 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Oct 2023 01:01:51 +0000 Subject: [PATCH 305/973] Bump com.fasterxml.jackson:jackson-bom from 2.15.2 to 2.15.3 Bumps [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) from 2.15.2 to 2.15.3. - [Commits](https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.15.2...jackson-bom-2.15.3) --- updated-dependencies: - dependency-name: com.fasterxml.jackson:jackson-bom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6da6f93f..3a84626f 100644 --- a/pom.xml +++ b/pom.xml @@ -405,7 +405,7 @@ com.fasterxml.jackson jackson-bom - 2.15.2 + 2.15.3 import pom From 8dd12074b4cac559255739b5a0e0d28284c7afc0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 00:16:15 +0000 Subject: [PATCH 306/973] Bump org.apache.logging.log4j:log4j-core from 2.20.0 to 2.21.0 Bumps org.apache.logging.log4j:log4j-core from 2.20.0 to 2.21.0. --- updated-dependencies: - dependency-name: org.apache.logging.log4j:log4j-core dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3a84626f..1cbfec5a 100644 --- a/pom.xml +++ b/pom.xml @@ -235,7 +235,7 @@ org.apache.logging.log4j log4j-core - 2.20.0 + 2.21.0 true From bde8e5f720f52c7a3688c2dae62f48029eb89226 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 00:28:21 +0000 Subject: [PATCH 307/973] Bump org.apache.maven.plugins:maven-jxr-plugin from 3.3.0 to 3.3.1 Bumps [org.apache.maven.plugins:maven-jxr-plugin](https://github.com/apache/maven-jxr) from 3.3.0 to 3.3.1. - [Commits](https://github.com/apache/maven-jxr/compare/jxr-3.3.0...jxr-3.3.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-jxr-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1cbfec5a..e71632e1 100644 --- a/pom.xml +++ b/pom.xml @@ -685,7 +685,7 @@ org.apache.maven.plugins maven-jxr-plugin - 3.3.0 + 3.3.1 From bce50cfce910734f72affd990de3965d5090d5b5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 00:28:15 +0000 Subject: [PATCH 308/973] Bump org.apache.maven.plugins:maven-dependency-plugin Bumps [org.apache.maven.plugins:maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 3.6.0 to 3.6.1. - [Commits](https://github.com/apache/maven-dependency-plugin/compare/maven-dependency-plugin-3.6.0...maven-dependency-plugin-3.6.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-dependency-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e71632e1..52186c0d 100644 --- a/pom.xml +++ b/pom.xml @@ -436,7 +436,7 @@ org.apache.maven.plugins maven-dependency-plugin - 3.6.0 + 3.6.1 From 6cb2a0d6128dd96160b70b3bf3b2853737ab8d1d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 00:28:03 +0000 Subject: [PATCH 309/973] Bump org.apache.maven.plugins:maven-surefire-plugin from 3.1.2 to 3.2.1 Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.1.2 to 3.2.1. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.1.2...surefire-3.2.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 52186c0d..ddc08af6 100644 --- a/pom.xml +++ b/pom.xml @@ -503,7 +503,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.1.2 + 3.2.1 From c76cf4c2dde8d6cba410f006108caad781dfa3a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 00:27:59 +0000 Subject: [PATCH 310/973] Bump org.apache.maven.plugins:maven-surefire-report-plugin Bumps [org.apache.maven.plugins:maven-surefire-report-plugin](https://github.com/apache/maven-surefire) from 3.1.2 to 3.2.1. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.1.2...surefire-3.2.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-report-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ddc08af6..c9d77048 100644 --- a/pom.xml +++ b/pom.xml @@ -642,7 +642,7 @@ org.apache.maven.plugins maven-surefire-report-plugin - 3.1.2 + 3.2.1 false From d5857252c7edbbf3c4e65346eac637d6d6a0514f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Oct 2023 00:56:28 +0000 Subject: [PATCH 311/973] Bump org.apache.logging.log4j:log4j-core from 2.21.0 to 2.21.1 Bumps org.apache.logging.log4j:log4j-core from 2.21.0 to 2.21.1. --- updated-dependencies: - dependency-name: org.apache.logging.log4j:log4j-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c9d77048..105c0f13 100644 --- a/pom.xml +++ b/pom.xml @@ -235,7 +235,7 @@ org.apache.logging.log4j log4j-core - 2.21.0 + 2.21.1 true From 1ad801ff3c613268f2d0ebff3e7fb0fb2889046a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Oct 2023 00:56:15 +0000 Subject: [PATCH 312/973] Bump org.apache.maven.plugins:maven-checkstyle-plugin Bumps [org.apache.maven.plugins:maven-checkstyle-plugin](https://github.com/apache/maven-checkstyle-plugin) from 3.3.0 to 3.3.1. - [Commits](https://github.com/apache/maven-checkstyle-plugin/compare/maven-checkstyle-plugin-3.3.0...maven-checkstyle-plugin-3.3.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-checkstyle-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 105c0f13..2f0e5aab 100644 --- a/pom.xml +++ b/pom.xml @@ -651,7 +651,7 @@ org.apache.maven.plugins maven-checkstyle-plugin - 3.3.0 + 3.3.1 From 85663cf007c4196ecc2f8b338cefe1464ab8cda9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Oct 2023 00:07:43 +0000 Subject: [PATCH 313/973] Bump org.apache.maven.plugins:maven-clean-plugin from 3.3.1 to 3.3.2 Bumps [org.apache.maven.plugins:maven-clean-plugin](https://github.com/apache/maven-clean-plugin) from 3.3.1 to 3.3.2. - [Release notes](https://github.com/apache/maven-clean-plugin/releases) - [Commits](https://github.com/apache/maven-clean-plugin/compare/maven-clean-plugin-3.3.1...maven-clean-plugin-3.3.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-clean-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2f0e5aab..12dd780b 100644 --- a/pom.xml +++ b/pom.xml @@ -442,7 +442,7 @@ org.apache.maven.plugins maven-clean-plugin - 3.3.1 + 3.3.2 From ae4363b5e6269e84e6894430c849e2368d598112 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Oct 2023 00:07:38 +0000 Subject: [PATCH 314/973] Bump commons-cli:commons-cli from 1.5.0 to 1.6.0 Bumps commons-cli:commons-cli from 1.5.0 to 1.6.0. --- updated-dependencies: - dependency-name: commons-cli:commons-cli dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 12dd780b..78558826 100644 --- a/pom.xml +++ b/pom.xml @@ -167,7 +167,7 @@ commons-cli commons-cli - 1.5.0 + 1.6.0 true From 441a57d8313aef9d993e99aaa9597ba7f904a33b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Nov 2023 09:19:30 +0200 Subject: [PATCH 315/973] Bump org.seleniumhq.selenium:selenium-java from 4.14.1 to 4.15.0 (#326) Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.14.1 to 4.15.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/commits/selenium-4.15.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 78558826..e0117193 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.14.1 + 4.15.0 test From a446b6b902e980f21ed0e81e748e76668971d378 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 01:01:14 +0000 Subject: [PATCH 316/973] Bump org.apache.maven.plugins:maven-pmd-plugin from 3.21.0 to 3.21.2 Bumps [org.apache.maven.plugins:maven-pmd-plugin](https://github.com/apache/maven-pmd-plugin) from 3.21.0 to 3.21.2. - [Release notes](https://github.com/apache/maven-pmd-plugin/releases) - [Commits](https://github.com/apache/maven-pmd-plugin/compare/maven-pmd-plugin-3.21.0...maven-pmd-plugin-3.21.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-pmd-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e0117193..dd36b0c2 100644 --- a/pom.xml +++ b/pom.xml @@ -691,7 +691,7 @@ org.apache.maven.plugins maven-pmd-plugin - 3.21.0 + 3.21.2 true utf-8 From 87ffe22a6a8a2b0b43a6c68a84750bbfc8d0f7fb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 01:01:23 +0000 Subject: [PATCH 317/973] Bump org.mockito:mockito-core from 5.6.0 to 5.7.0 Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.6.0 to 5.7.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.6.0...v5.7.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dd36b0c2..3b493c80 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 5.6.0 + 5.7.0 test From 7341e55d74761a63061cf4598ebd15145c4b9f08 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Nov 2023 00:47:30 +0000 Subject: [PATCH 318/973] Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.0 to 3.6.2 Bumps [org.apache.maven.plugins:maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) from 3.6.0 to 3.6.2. - [Release notes](https://github.com/apache/maven-javadoc-plugin/releases) - [Commits](https://github.com/apache/maven-javadoc-plugin/compare/maven-javadoc-plugin-3.6.0...maven-javadoc-plugin-3.6.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-javadoc-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3b493c80..6720245d 100644 --- a/pom.xml +++ b/pom.xml @@ -489,7 +489,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.6.0 + 3.6.2 all,-missing private From ad03548d40a4bfa3d7e7e52b614c42fe300b6c0a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Nov 2023 00:47:24 +0000 Subject: [PATCH 319/973] Bump org.apache.maven.plugins:maven-surefire-report-plugin Bumps [org.apache.maven.plugins:maven-surefire-report-plugin](https://github.com/apache/maven-surefire) from 3.2.1 to 3.2.2. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.2.1...surefire-3.2.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-report-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6720245d..eb73d111 100644 --- a/pom.xml +++ b/pom.xml @@ -642,7 +642,7 @@ org.apache.maven.plugins maven-surefire-report-plugin - 3.2.1 + 3.2.2 false From 379b30b5fb6e70fe7a2777be164d83be2e9e713f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Nov 2023 00:47:19 +0000 Subject: [PATCH 320/973] Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.1 to 3.2.2 Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.2.1 to 3.2.2. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.2.1...surefire-3.2.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index eb73d111..13d3924b 100644 --- a/pom.xml +++ b/pom.xml @@ -503,7 +503,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.2.1 + 3.2.2 From e5daabbc1b4c2859586b01a7dc225c38dde6cc34 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Nov 2023 00:08:32 +0000 Subject: [PATCH 321/973] Bump netty.version from 4.1.100.Final to 4.1.101.Final Bumps `netty.version` from 4.1.100.Final to 4.1.101.Final. Updates `io.netty:netty-all` from 4.1.100.Final to 4.1.101.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.100.Final...netty-4.1.101.Final) Updates `io.netty:netty-example` from 4.1.100.Final to 4.1.101.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.100.Final...netty-4.1.101.Final) Updates `io.netty:netty-buffer` from 4.1.100.Final to 4.1.101.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.100.Final...netty-4.1.101.Final) Updates `io.netty:netty-codec` from 4.1.100.Final to 4.1.101.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.100.Final...netty-4.1.101.Final) Updates `io.netty:netty-codec-haproxy` from 4.1.100.Final to 4.1.101.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.100.Final...netty-4.1.101.Final) Updates `io.netty:netty-codec-http` from 4.1.100.Final to 4.1.101.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.100.Final...netty-4.1.101.Final) Updates `io.netty:netty-codec-socks` from 4.1.100.Final to 4.1.101.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.100.Final...netty-4.1.101.Final) Updates `io.netty:netty-common` from 4.1.100.Final to 4.1.101.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.100.Final...netty-4.1.101.Final) Updates `io.netty:netty-handler` from 4.1.100.Final to 4.1.101.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.100.Final...netty-4.1.101.Final) Updates `io.netty:netty-handler-proxy` from 4.1.100.Final to 4.1.101.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.100.Final...netty-4.1.101.Final) Updates `io.netty:netty-transport` from 4.1.100.Final to 4.1.101.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.100.Final...netty-4.1.101.Final) Updates `io.netty:netty-transport-rxtx` from 4.1.100.Final to 4.1.101.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.100.Final...netty-4.1.101.Final) Updates `io.netty:netty-transport-sctp` from 4.1.100.Final to 4.1.101.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.100.Final...netty-4.1.101.Final) Updates `io.netty:netty-transport-udp` from 4.1.100.Final to 4.1.101.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 13d3924b..c853bad0 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.100.Final + 4.1.101.Final 2.0.9 1.8 From a9fa67f857eec3a91afb204bd3f3cd9048839d97 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Nov 2023 00:36:20 +0000 Subject: [PATCH 322/973] Bump dnsjava:dnsjava from 3.5.2 to 3.5.3 Bumps [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) from 3.5.2 to 3.5.3. - [Release notes](https://github.com/dnsjava/dnsjava/releases) - [Changelog](https://github.com/dnsjava/dnsjava/blob/master/Changelog) - [Commits](https://github.com/dnsjava/dnsjava/compare/v3.5.2...v3.5.3) --- updated-dependencies: - dependency-name: dnsjava:dnsjava dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c853bad0..01270b15 100644 --- a/pom.xml +++ b/pom.xml @@ -278,7 +278,7 @@ dnsjava dnsjava - 3.5.2 + 3.5.3 true From 0e6a4a794567d75f5c207735ebd6a6b66ecae590 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Nov 2023 00:36:05 +0000 Subject: [PATCH 323/973] Bump com.fasterxml.jackson:jackson-bom from 2.15.3 to 2.16.0 Bumps [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) from 2.15.3 to 2.16.0. - [Commits](https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.15.3...jackson-bom-2.16.0) --- updated-dependencies: - dependency-name: com.fasterxml.jackson:jackson-bom dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 01270b15..67112e98 100644 --- a/pom.xml +++ b/pom.xml @@ -405,7 +405,7 @@ com.fasterxml.jackson jackson-bom - 2.15.3 + 2.16.0 import pom From e6e1242fefaf60306ab65693dbccfd2c5ca52f61 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 Nov 2023 00:18:01 +0000 Subject: [PATCH 324/973] Bump org.codehaus.mojo:versions-maven-plugin from 2.16.1 to 2.16.2 Bumps [org.codehaus.mojo:versions-maven-plugin](https://github.com/mojohaus/versions) from 2.16.1 to 2.16.2. - [Release notes](https://github.com/mojohaus/versions/releases) - [Changelog](https://github.com/mojohaus/versions/blob/master/ReleaseNotes.md) - [Commits](https://github.com/mojohaus/versions/compare/2.16.1...2.16.2) --- updated-dependencies: - dependency-name: org.codehaus.mojo:versions-maven-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 67112e98..26ef3175 100644 --- a/pom.xml +++ b/pom.xml @@ -703,7 +703,7 @@ org.codehaus.mojo versions-maven-plugin - 2.16.1 + 2.16.2 From 28bb9a5cac7a5c97ce8ad835090c183410138965 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Mon, 20 Nov 2023 21:54:32 +0200 Subject: [PATCH 325/973] release LittleProxy 2.1.0 --- README.md | 4 ++-- RELEASE_NOTES.md | 10 +++++++++- pom.xml | 4 ++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 433a3f56..3b60c8bf 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.0.22 + 2.1.0 ``` Or with Gradle like this -`implementation "xyz.rogfam:littleproxy:2.0.22"` +`implementation "xyz.rogfam:littleproxy:2.1.0"` Once you've included LittleProxy, you can start the server with the following: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index da511e33..021a9aea 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,8 +1,16 @@ # Release Notes -- 2.0.23 (in progress, https://github.com/LittleProxy/LittleProxy/milestone/28?closed=1) +- 2.1.1 (in progress, https://github.com/LittleProxy/LittleProxy/milestone/29?closed=1) - ... +- 2.1.0 (20.11.2023, https://github.com/LittleProxy/LittleProxy/milestone/28?closed=1) + - Upgrade from Java 8 to Java 11+ + - Bump Selenium from 4.13.0 to 4.15.0 + - Bump Netty from 4.1.99.Final to 4.1.101.Final + - Bump Jackson from 2.15.2 to 2.16.0 + - Bump Log4j from 2.20.0 to 2.21.1 + - Bump Guava from 32.1.2-jre to 32.1.3-jre + - 2.0.22 (08.10.2023, https://github.com/LittleProxy/LittleProxy/milestone/27?closed=1) - #35 Fix Websocket race condition while protocol switching -- thanks to Craig Andrews for PR #308 - #307 bump Netty from 4.1.98.Final to 4.1.99.Final diff --git a/pom.xml b/pom.xml index 26ef3175..a6f49987 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.0.23-SNAPSHOT + 2.1.0 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. @@ -16,7 +16,7 @@ github 4.1.101.Final 2.0.9 - 1.8 + 11 From c41eb07bac0b0cb08655623865e5c45f1a84ce34 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Mon, 20 Nov 2023 22:03:15 +0200 Subject: [PATCH 326/973] working on LittleProxy 2.1.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a6f49987..e74bc09e 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.1.0 + 2.1.1-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From cc7e34b78b17e3108d9d14d4b34439e971562a32 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Nov 2023 01:02:02 +0000 Subject: [PATCH 327/973] Bump org.apache.logging.log4j:log4j-core from 2.21.1 to 2.22.0 Bumps org.apache.logging.log4j:log4j-core from 2.21.1 to 2.22.0. --- updated-dependencies: - dependency-name: org.apache.logging.log4j:log4j-core dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e74bc09e..b248b157 100644 --- a/pom.xml +++ b/pom.xml @@ -235,7 +235,7 @@ org.apache.logging.log4j log4j-core - 2.21.1 + 2.22.0 true From db98c3b8196c9c2e92e7ee7afb01b79ec1026ef9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 23 Nov 2023 00:25:25 +0000 Subject: [PATCH 328/973] Bump org.apache.commons:commons-lang3 from 3.13.0 to 3.14.0 Bumps org.apache.commons:commons-lang3 from 3.13.0 to 3.14.0. --- updated-dependencies: - dependency-name: org.apache.commons:commons-lang3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b248b157..1a845c18 100644 --- a/pom.xml +++ b/pom.xml @@ -175,7 +175,7 @@ org.apache.commons commons-lang3 - 3.13.0 + 3.14.0 From 36f4683104f89c8ebf680a1a5a794ee00dc2fbbd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 Nov 2023 00:38:11 +0000 Subject: [PATCH 329/973] Bump actions/setup-java from 3 to 4 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2a8892ce..bccabeee 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,7 +20,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Set up JDK 11 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: '11' distribution: 'temurin' From 7c14de894c4c3a51a0e4cd73a0e79165602a08b2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Dec 2023 00:53:26 +0000 Subject: [PATCH 330/973] Bump org.mockito:mockito-core from 5.7.0 to 5.8.0 Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.7.0 to 5.8.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.7.0...v5.8.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1a845c18..9516c535 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 5.7.0 + 5.8.0 test From 3bbcb5a9c5786bc59ca2844141a06ae1f9af5d82 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Dec 2023 00:53:42 +0000 Subject: [PATCH 331/973] Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.2 to 3.6.3 Bumps [org.apache.maven.plugins:maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) from 3.6.2 to 3.6.3. - [Release notes](https://github.com/apache/maven-javadoc-plugin/releases) - [Commits](https://github.com/apache/maven-javadoc-plugin/compare/maven-javadoc-plugin-3.6.2...maven-javadoc-plugin-3.6.3) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-javadoc-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9516c535..64613ba9 100644 --- a/pom.xml +++ b/pom.xml @@ -489,7 +489,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.6.2 + 3.6.3 all,-missing private From 53bde8baaf2a6d8fffe15e696f1341af13a8275f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Dec 2023 00:57:02 +0000 Subject: [PATCH 332/973] Bump org.seleniumhq.selenium:selenium-java from 4.15.0 to 4.16.0 Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.15.0 to 4.16.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.15.0...selenium-4.16.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 64613ba9..5642944e 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.15.0 + 4.16.0 test From 9e81f770e9108992a8e32df505d804bbae973111 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Dec 2023 00:49:51 +0000 Subject: [PATCH 333/973] Bump org.seleniumhq.selenium:selenium-java from 4.16.0 to 4.16.1 Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.16.0 to 4.16.1. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/commits) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5642944e..d98cecfa 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.16.0 + 4.16.1 test From 5644452dfee39cba4b94d8e7176373814a1cb7be Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Dec 2023 00:22:00 +0000 Subject: [PATCH 334/973] Bump netty.version from 4.1.101.Final to 4.1.102.Final Bumps `netty.version` from 4.1.101.Final to 4.1.102.Final. Updates `io.netty:netty-all` from 4.1.101.Final to 4.1.102.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.101.Final...netty-4.1.102.Final) Updates `io.netty:netty-example` from 4.1.101.Final to 4.1.102.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.101.Final...netty-4.1.102.Final) Updates `io.netty:netty-buffer` from 4.1.101.Final to 4.1.102.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.101.Final...netty-4.1.102.Final) Updates `io.netty:netty-codec` from 4.1.101.Final to 4.1.102.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.101.Final...netty-4.1.102.Final) Updates `io.netty:netty-codec-haproxy` from 4.1.101.Final to 4.1.102.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.101.Final...netty-4.1.102.Final) Updates `io.netty:netty-codec-http` from 4.1.101.Final to 4.1.102.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.101.Final...netty-4.1.102.Final) Updates `io.netty:netty-codec-socks` from 4.1.101.Final to 4.1.102.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.101.Final...netty-4.1.102.Final) Updates `io.netty:netty-common` from 4.1.101.Final to 4.1.102.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.101.Final...netty-4.1.102.Final) Updates `io.netty:netty-handler` from 4.1.101.Final to 4.1.102.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.101.Final...netty-4.1.102.Final) Updates `io.netty:netty-handler-proxy` from 4.1.101.Final to 4.1.102.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.101.Final...netty-4.1.102.Final) Updates `io.netty:netty-transport` from 4.1.101.Final to 4.1.102.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.101.Final...netty-4.1.102.Final) Updates `io.netty:netty-transport-rxtx` from 4.1.101.Final to 4.1.102.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.101.Final...netty-4.1.102.Final) Updates `io.netty:netty-transport-sctp` from 4.1.101.Final to 4.1.102.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.101.Final...netty-4.1.102.Final) Updates `io.netty:netty-transport-udp` from 4.1.101.Final to 4.1.102.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d98cecfa..fe280554 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.101.Final + 4.1.102.Final 2.0.9 11 From 44de75b059ca7a69506a27f51694a2811d0cc9a5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 00:17:40 +0000 Subject: [PATCH 335/973] Bump netty.version from 4.1.102.Final to 4.1.103.Final Bumps `netty.version` from 4.1.102.Final to 4.1.103.Final. Updates `io.netty:netty-all` from 4.1.102.Final to 4.1.103.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.102.Final...netty-4.1.103.Final) Updates `io.netty:netty-example` from 4.1.102.Final to 4.1.103.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.102.Final...netty-4.1.103.Final) Updates `io.netty:netty-buffer` from 4.1.102.Final to 4.1.103.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.102.Final...netty-4.1.103.Final) Updates `io.netty:netty-codec` from 4.1.102.Final to 4.1.103.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.102.Final...netty-4.1.103.Final) Updates `io.netty:netty-codec-haproxy` from 4.1.102.Final to 4.1.103.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.102.Final...netty-4.1.103.Final) Updates `io.netty:netty-codec-http` from 4.1.102.Final to 4.1.103.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.102.Final...netty-4.1.103.Final) Updates `io.netty:netty-codec-socks` from 4.1.102.Final to 4.1.103.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.102.Final...netty-4.1.103.Final) Updates `io.netty:netty-common` from 4.1.102.Final to 4.1.103.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.102.Final...netty-4.1.103.Final) Updates `io.netty:netty-handler` from 4.1.102.Final to 4.1.103.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.102.Final...netty-4.1.103.Final) Updates `io.netty:netty-handler-proxy` from 4.1.102.Final to 4.1.103.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.102.Final...netty-4.1.103.Final) Updates `io.netty:netty-transport` from 4.1.102.Final to 4.1.103.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.102.Final...netty-4.1.103.Final) Updates `io.netty:netty-transport-rxtx` from 4.1.102.Final to 4.1.103.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.102.Final...netty-4.1.103.Final) Updates `io.netty:netty-transport-sctp` from 4.1.102.Final to 4.1.103.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.102.Final...netty-4.1.103.Final) Updates `io.netty:netty-transport-udp` from 4.1.102.Final to 4.1.103.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fe280554..e31ac76a 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.102.Final + 4.1.103.Final 2.0.9 11 From e795b974ecdad503231c3902681ec0d0ce9fc4dd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 00:18:37 +0000 Subject: [PATCH 336/973] Bump org.apache.maven.plugins:maven-surefire-report-plugin Bumps [org.apache.maven.plugins:maven-surefire-report-plugin](https://github.com/apache/maven-surefire) from 3.2.2 to 3.2.3. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.2.2...surefire-3.2.3) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-report-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e31ac76a..0a9e396d 100644 --- a/pom.xml +++ b/pom.xml @@ -642,7 +642,7 @@ org.apache.maven.plugins maven-surefire-report-plugin - 3.2.2 + 3.2.3 false From 3112a02b44b9ad30ea21c7d9b6a05224a58df32a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 00:19:04 +0000 Subject: [PATCH 337/973] Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.2 to 3.2.3 Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.2.2 to 3.2.3. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.2.2...surefire-3.2.3) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0a9e396d..b3fddaf2 100644 --- a/pom.xml +++ b/pom.xml @@ -503,7 +503,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.2.2 + 3.2.3 From 89ebdf269adefe985a88416ad0b353e85e6cef07 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Dec 2023 00:21:22 +0000 Subject: [PATCH 338/973] Bump actions/upload-artifact from 3 to 4 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bccabeee..4c921ba1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -33,7 +33,7 @@ jobs: if: failure() run: mvn --batch-mode surefire-report:report-only - name: Upload test report - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: failure() with: name: test-report From ca1cc0438bc0c609f41303e0d1594d91975792d5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Nov 2023 00:40:28 +0000 Subject: [PATCH 339/973] Bump org.apache.maven.plugins:maven-project-info-reports-plugin Bumps [org.apache.maven.plugins:maven-project-info-reports-plugin](https://github.com/apache/maven-project-info-reports-plugin) from 3.4.5 to 3.5.0. - [Commits](https://github.com/apache/maven-project-info-reports-plugin/compare/maven-project-info-reports-plugin-3.4.5...maven-project-info-reports-plugin-3.5.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-project-info-reports-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b3fddaf2..c5e7c0c0 100644 --- a/pom.xml +++ b/pom.xml @@ -631,7 +631,7 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 3.4.5 + 3.5.0 From 428a4fe888be57d1aeb2900f43c59164e5ea87f2 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 15 Dec 2023 10:12:32 +0200 Subject: [PATCH 340/973] release LittleProxy 2.1.1 --- README.md | 4 ++-- RELEASE_NOTES.md | 10 ++++++++-- pom.xml | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 3b60c8bf..7b8aec31 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,13 @@ You can embed LittleProxy in your own projects through Maven with the following: xyz.rogfam littleproxy - 2.1.0 + 2.1.1 ``` Or with Gradle like this -`implementation "xyz.rogfam:littleproxy:2.1.0"` +`implementation "xyz.rogfam:littleproxy:2.1.1"` Once you've included LittleProxy, you can start the server with the following: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 021a9aea..088e2c41 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,8 +1,14 @@ # Release Notes -- 2.1.1 (in progress, https://github.com/LittleProxy/LittleProxy/milestone/29?closed=1) +- 2.1.2 (in progress, https://github.com/LittleProxy/LittleProxy/milestone/30?closed=1) - ... - + +- 2.1.1 (in progress, https://github.com/LittleProxy/LittleProxy/milestone/29?closed=1) + - Bump Netty from 4.1.101.Final to 4.1.103.Final #345 #346 + - Bump selenium from 4.15.0 to 4.16.1 #343 #344 + - Bump log4j from 2.21.1 to 2.22.0 #336 + - Bump commons-lang3 from 3.13.0 to 3.14.0 #338 + - 2.1.0 (20.11.2023, https://github.com/LittleProxy/LittleProxy/milestone/28?closed=1) - Upgrade from Java 8 to Java 11+ - Bump Selenium from 4.13.0 to 4.15.0 diff --git a/pom.xml b/pom.xml index c5e7c0c0..7d082ec0 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.1.1-SNAPSHOT + 2.1.1 LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From 251f97668f6ec87eda10e2f16ba8c9b1f03f04a7 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Fri, 15 Dec 2023 10:24:08 +0200 Subject: [PATCH 341/973] working on LittleProxy 2.1.2 --- RELEASE_NOTES.md | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 088e2c41..93692993 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -3,7 +3,7 @@ - 2.1.2 (in progress, https://github.com/LittleProxy/LittleProxy/milestone/30?closed=1) - ... -- 2.1.1 (in progress, https://github.com/LittleProxy/LittleProxy/milestone/29?closed=1) +- 2.1.1 (15.12.2023, https://github.com/LittleProxy/LittleProxy/milestone/29?closed=1) - Bump Netty from 4.1.101.Final to 4.1.103.Final #345 #346 - Bump selenium from 4.15.0 to 4.16.1 #343 #344 - Bump log4j from 2.21.1 to 2.22.0 #336 diff --git a/pom.xml b/pom.xml index 7d082ec0..19927beb 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.rogfam littleproxy jar - 2.1.1 + 2.1.2-SNAPSHOT LittleProxy LittleProxy is a high performance HTTP proxy written in Java and using the Netty networking framework. From b7e5b628296f9f943b3782d8365e4d0d256361c7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Dec 2023 00:51:07 +0000 Subject: [PATCH 342/973] Bump org.eclipse.jetty:jetty-server from 11.0.15 to 11.0.18 Bumps [org.eclipse.jetty:jetty-server](https://github.com/eclipse/jetty.project) from 11.0.15 to 11.0.18. - [Release notes](https://github.com/eclipse/jetty.project/releases) - [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.15...jetty-11.0.18) --- updated-dependencies: - dependency-name: org.eclipse.jetty:jetty-server dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 19927beb..d91b4fc8 100644 --- a/pom.xml +++ b/pom.xml @@ -195,7 +195,7 @@ org.eclipse.jetty jetty-server - 11.0.15 + 11.0.18 test From 1cb4fa1ea7b07862b49b4aab80ff73fa8b12f510 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Dec 2023 00:50:33 +0000 Subject: [PATCH 343/973] Bump netty.version from 4.1.103.Final to 4.1.104.Final Bumps `netty.version` from 4.1.103.Final to 4.1.104.Final. Updates `io.netty:netty-all` from 4.1.103.Final to 4.1.104.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.103.Final...netty-4.1.104.Final) Updates `io.netty:netty-example` from 4.1.103.Final to 4.1.104.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.103.Final...netty-4.1.104.Final) Updates `io.netty:netty-buffer` from 4.1.103.Final to 4.1.104.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.103.Final...netty-4.1.104.Final) Updates `io.netty:netty-codec` from 4.1.103.Final to 4.1.104.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.103.Final...netty-4.1.104.Final) Updates `io.netty:netty-codec-haproxy` from 4.1.103.Final to 4.1.104.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.103.Final...netty-4.1.104.Final) Updates `io.netty:netty-codec-http` from 4.1.103.Final to 4.1.104.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.103.Final...netty-4.1.104.Final) Updates `io.netty:netty-codec-socks` from 4.1.103.Final to 4.1.104.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.103.Final...netty-4.1.104.Final) Updates `io.netty:netty-common` from 4.1.103.Final to 4.1.104.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.103.Final...netty-4.1.104.Final) Updates `io.netty:netty-handler` from 4.1.103.Final to 4.1.104.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.103.Final...netty-4.1.104.Final) Updates `io.netty:netty-handler-proxy` from 4.1.103.Final to 4.1.104.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.103.Final...netty-4.1.104.Final) Updates `io.netty:netty-transport` from 4.1.103.Final to 4.1.104.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.103.Final...netty-4.1.104.Final) Updates `io.netty:netty-transport-rxtx` from 4.1.103.Final to 4.1.104.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.103.Final...netty-4.1.104.Final) Updates `io.netty:netty-transport-sctp` from 4.1.103.Final to 4.1.104.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.103.Final...netty-4.1.104.Final) Updates `io.netty:netty-transport-udp` from 4.1.103.Final to 4.1.104.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d91b4fc8..b0690f18 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.103.Final + 4.1.104.Final 2.0.9 11 From 85ef9da1eb91eacf07765087a6cbc9966cdee71e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Dec 2023 00:32:13 +0000 Subject: [PATCH 344/973] Bump com.google.guava:guava from 32.1.3-jre to 33.0.0-jre Bumps [com.google.guava:guava](https://github.com/google/guava) from 32.1.3-jre to 33.0.0-jre. - [Release notes](https://github.com/google/guava/releases) - [Commits](https://github.com/google/guava/commits) --- updated-dependencies: - dependency-name: com.google.guava:guava dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b0690f18..d63edf65 100644 --- a/pom.xml +++ b/pom.xml @@ -161,7 +161,7 @@ com.google.guava guava - 32.1.3-jre + 33.0.0-jre From f484d34ab6fa782309ededbdc1b86ac6d7416e10 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Dec 2023 00:32:20 +0000 Subject: [PATCH 345/973] Bump org.apache.maven.plugins:maven-compiler-plugin Bumps [org.apache.maven.plugins:maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) from 3.11.0 to 3.12.0. - [Release notes](https://github.com/apache/maven-compiler-plugin/releases) - [Commits](https://github.com/apache/maven-compiler-plugin/compare/maven-compiler-plugin-3.11.0...maven-compiler-plugin-3.12.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-compiler-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d63edf65..3e7dd201 100644 --- a/pom.xml +++ b/pom.xml @@ -454,7 +454,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.11.0 + 3.12.0 ${java.version} ${java.version} From 852a524d97420275754eaee125e2c61b05b6cc98 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Dec 2023 00:38:44 +0000 Subject: [PATCH 346/973] Bump org.eclipse.jetty:jetty-server from 11.0.18 to 11.0.19 Bumps [org.eclipse.jetty:jetty-server](https://github.com/jetty/jetty.project) from 11.0.18 to 11.0.19. - [Release notes](https://github.com/jetty/jetty.project/releases) - [Commits](https://github.com/jetty/jetty.project/compare/jetty-11.0.18...jetty-11.0.19) --- updated-dependencies: - dependency-name: org.eclipse.jetty:jetty-server dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3e7dd201..befac5c9 100644 --- a/pom.xml +++ b/pom.xml @@ -195,7 +195,7 @@ org.eclipse.jetty jetty-server - 11.0.18 + 11.0.19 test From 996153e1f4c28a1a6474b438293dba0fc97d19ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Dec 2023 00:54:04 +0000 Subject: [PATCH 347/973] Bump org.apache.maven.plugins:maven-compiler-plugin Bumps [org.apache.maven.plugins:maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) from 3.12.0 to 3.12.1. - [Release notes](https://github.com/apache/maven-compiler-plugin/releases) - [Commits](https://github.com/apache/maven-compiler-plugin/compare/maven-compiler-plugin-3.12.0...maven-compiler-plugin-3.12.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-compiler-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index befac5c9..c3cc028e 100644 --- a/pom.xml +++ b/pom.xml @@ -454,7 +454,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.12.0 + 3.12.1 ${java.version} ${java.version} From dbfe53f3a8820b91e50a64d437f3201fd9cbe570 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Dec 2023 00:53:55 +0000 Subject: [PATCH 348/973] Bump com.fasterxml.jackson:jackson-bom from 2.16.0 to 2.16.1 Bumps [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) from 2.16.0 to 2.16.1. - [Commits](https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.16.0...jackson-bom-2.16.1) --- updated-dependencies: - dependency-name: com.fasterxml.jackson:jackson-bom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c3cc028e..28516733 100644 --- a/pom.xml +++ b/pom.xml @@ -405,7 +405,7 @@ com.fasterxml.jackson jackson-bom - 2.16.0 + 2.16.1 import pom From 7a5ae6e1e281272b70c7cf653352d12a7109befa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 28 Dec 2023 00:28:58 +0000 Subject: [PATCH 349/973] Bump org.apache.logging.log4j:log4j-core from 2.22.0 to 2.22.1 Bumps org.apache.logging.log4j:log4j-core from 2.22.0 to 2.22.1. --- updated-dependencies: - dependency-name: org.apache.logging.log4j:log4j-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 28516733..d47a4466 100644 --- a/pom.xml +++ b/pom.xml @@ -235,7 +235,7 @@ org.apache.logging.log4j log4j-core - 2.22.0 + 2.22.1 true From 67f40bf70d8be3f1f8a808288cef464fd16d0706 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Dec 2023 00:44:14 +0000 Subject: [PATCH 350/973] Bump slf4j.version from 2.0.9 to 2.0.10 Bumps `slf4j.version` from 2.0.9 to 2.0.10. Updates `org.slf4j:slf4j-reload4j` from 2.0.9 to 2.0.10 Updates `org.slf4j:slf4j-api` from 2.0.9 to 2.0.10 --- updated-dependencies: - dependency-name: org.slf4j:slf4j-reload4j dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.slf4j:slf4j-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d47a4466..f69ee21a 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ UTF-8 github 4.1.104.Final - 2.0.9 + 2.0.10 11 From 0c3cd7b151cfcdde51edde3de0eef41e06757406 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 00:43:56 +0000 Subject: [PATCH 351/973] Bump org.apache.maven.plugins:maven-jxr-plugin from 3.3.1 to 3.3.2 Bumps [org.apache.maven.plugins:maven-jxr-plugin](https://github.com/apache/maven-jxr) from 3.3.1 to 3.3.2. - [Commits](https://github.com/apache/maven-jxr/compare/jxr-3.3.1...jxr-3.3.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-jxr-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f69ee21a..3d3996f6 100644 --- a/pom.xml +++ b/pom.xml @@ -685,7 +685,7 @@ org.apache.maven.plugins maven-jxr-plugin - 3.3.1 + 3.3.2 From 511bd0e972ecc82fc77be7388af7b623271c0598 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jan 2024 00:50:02 +0000 Subject: [PATCH 352/973] Bump org.apache.commons:commons-exec from 1.3 to 1.4.0 Bumps org.apache.commons:commons-exec from 1.3 to 1.4.0. --- updated-dependencies: - dependency-name: org.apache.commons:commons-exec dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3d3996f6..43e155cb 100644 --- a/pom.xml +++ b/pom.xml @@ -299,7 +299,7 @@ org.apache.commons commons-exec - 1.3 + 1.4.0 test From 8028b0395a325286a819a4662872d680bef0f34e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jan 2024 00:17:07 +0000 Subject: [PATCH 353/973] Bump slf4j.version from 2.0.10 to 2.0.11 Bumps `slf4j.version` from 2.0.10 to 2.0.11. Updates `org.slf4j:slf4j-reload4j` from 2.0.10 to 2.0.11 Updates `org.slf4j:slf4j-api` from 2.0.10 to 2.0.11 --- updated-dependencies: - dependency-name: org.slf4j:slf4j-reload4j dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.slf4j:slf4j-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 43e155cb..92294754 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ UTF-8 github 4.1.104.Final - 2.0.10 + 2.0.11 11 From ae2184326ff6830ba885c9f5c6213ca8f5090d80 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 00:41:28 +0000 Subject: [PATCH 354/973] Bump org.apache.maven.plugins:maven-surefire-report-plugin Bumps [org.apache.maven.plugins:maven-surefire-report-plugin](https://github.com/apache/maven-surefire) from 3.2.3 to 3.2.5. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.2.3...surefire-3.2.5) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-report-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 92294754..d3368a51 100644 --- a/pom.xml +++ b/pom.xml @@ -642,7 +642,7 @@ org.apache.maven.plugins maven-surefire-report-plugin - 3.2.3 + 3.2.5 false From 1187fe77884baf2af5c77e06c4b06532b5af3c0c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 00:41:32 +0000 Subject: [PATCH 355/973] Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.2.5 Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.2.3 to 3.2.5. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.2.3...surefire-3.2.5) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d3368a51..8ad42b02 100644 --- a/pom.xml +++ b/pom.xml @@ -503,7 +503,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.2.3 + 3.2.5 From cdcf8a190dd9c2b4015abba9f5adc492b58bf478 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 01:21:18 +0000 Subject: [PATCH 356/973] Bump org.mockito:mockito-core from 5.8.0 to 5.9.0 Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.8.0 to 5.9.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.8.0...v5.9.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8ad42b02..aa55a333 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 5.8.0 + 5.9.0 test From 8fd85ddec7923196f59e810bf449aa90a984cec7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Jan 2024 00:34:41 +0000 Subject: [PATCH 357/973] Bump netty.version from 4.1.104.Final to 4.1.105.Final Bumps `netty.version` from 4.1.104.Final to 4.1.105.Final. Updates `io.netty:netty-all` from 4.1.104.Final to 4.1.105.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.104.Final...netty-4.1.105.Final) Updates `io.netty:netty-example` from 4.1.104.Final to 4.1.105.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.104.Final...netty-4.1.105.Final) Updates `io.netty:netty-buffer` from 4.1.104.Final to 4.1.105.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.104.Final...netty-4.1.105.Final) Updates `io.netty:netty-codec` from 4.1.104.Final to 4.1.105.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.104.Final...netty-4.1.105.Final) Updates `io.netty:netty-codec-haproxy` from 4.1.104.Final to 4.1.105.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.104.Final...netty-4.1.105.Final) Updates `io.netty:netty-codec-http` from 4.1.104.Final to 4.1.105.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.104.Final...netty-4.1.105.Final) Updates `io.netty:netty-codec-socks` from 4.1.104.Final to 4.1.105.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.104.Final...netty-4.1.105.Final) Updates `io.netty:netty-common` from 4.1.104.Final to 4.1.105.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.104.Final...netty-4.1.105.Final) Updates `io.netty:netty-handler` from 4.1.104.Final to 4.1.105.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.104.Final...netty-4.1.105.Final) Updates `io.netty:netty-handler-proxy` from 4.1.104.Final to 4.1.105.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.104.Final...netty-4.1.105.Final) Updates `io.netty:netty-transport` from 4.1.104.Final to 4.1.105.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.104.Final...netty-4.1.105.Final) Updates `io.netty:netty-transport-rxtx` from 4.1.104.Final to 4.1.105.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.104.Final...netty-4.1.105.Final) Updates `io.netty:netty-transport-sctp` from 4.1.104.Final to 4.1.105.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.104.Final...netty-4.1.105.Final) Updates `io.netty:netty-transport-udp` from 4.1.104.Final to 4.1.105.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index aa55a333..d1f443f3 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.104.Final + 4.1.105.Final 2.0.11 11 From 760c3365e04d4f624e6ba3c21ccb57ea9b4ccfcb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jan 2024 00:45:38 +0000 Subject: [PATCH 358/973] Bump netty.version from 4.1.105.Final to 4.1.106.Final Bumps `netty.version` from 4.1.105.Final to 4.1.106.Final. Updates `io.netty:netty-all` from 4.1.105.Final to 4.1.106.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.105.Final...netty-4.1.106.Final) Updates `io.netty:netty-example` from 4.1.105.Final to 4.1.106.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.105.Final...netty-4.1.106.Final) Updates `io.netty:netty-buffer` from 4.1.105.Final to 4.1.106.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.105.Final...netty-4.1.106.Final) Updates `io.netty:netty-codec` from 4.1.105.Final to 4.1.106.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.105.Final...netty-4.1.106.Final) Updates `io.netty:netty-codec-haproxy` from 4.1.105.Final to 4.1.106.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.105.Final...netty-4.1.106.Final) Updates `io.netty:netty-codec-http` from 4.1.105.Final to 4.1.106.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.105.Final...netty-4.1.106.Final) Updates `io.netty:netty-codec-socks` from 4.1.105.Final to 4.1.106.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.105.Final...netty-4.1.106.Final) Updates `io.netty:netty-common` from 4.1.105.Final to 4.1.106.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.105.Final...netty-4.1.106.Final) Updates `io.netty:netty-handler` from 4.1.105.Final to 4.1.106.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.105.Final...netty-4.1.106.Final) Updates `io.netty:netty-handler-proxy` from 4.1.105.Final to 4.1.106.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.105.Final...netty-4.1.106.Final) Updates `io.netty:netty-transport` from 4.1.105.Final to 4.1.106.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.105.Final...netty-4.1.106.Final) Updates `io.netty:netty-transport-rxtx` from 4.1.105.Final to 4.1.106.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.105.Final...netty-4.1.106.Final) Updates `io.netty:netty-transport-sctp` from 4.1.105.Final to 4.1.106.Final - [Commits](https://github.com/netty/netty/compare/netty-4.1.105.Final...netty-4.1.106.Final) Updates `io.netty:netty-transport-udp` from 4.1.105.Final to 4.1.106.Final --- updated-dependencies: - dependency-name: io.netty:netty-all dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-example dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-buffer dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-haproxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-socks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler-proxy dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-rxtx dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-sctp dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-udp dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d1f443f3..6d0e9afb 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ UTF-8 UTF-8 github - 4.1.105.Final + 4.1.106.Final 2.0.11 11 From 8d2a14da029e6abb661307313f3dc851ef42fdcb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 00:53:00 +0000 Subject: [PATCH 359/973] Bump org.seleniumhq.selenium:selenium-java from 4.16.1 to 4.17.0 Bumps [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) from 4.16.1 to 4.17.0. - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/commits/selenium-4.17.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6d0e9afb..b28580e9 100644 --- a/pom.xml +++ b/pom.xml @@ -222,7 +222,7 @@ org.seleniumhq.selenium selenium-java - 4.16.1 + 4.17.0 test From 522cf930fcef256de3c6777a189f36f8bbce6dca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jan 2024 00:22:19 +0000 Subject: [PATCH 360/973] Bump org.mockito:mockito-core from 5.9.0 to 5.10.0 Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.9.0 to 5.10.0. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v5.9.0...v5.10.0) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b28580e9..b48d0b11 100644 --- a/pom.xml +++ b/pom.xml @@ -202,7 +202,7 @@ org.mockito mockito-core - 5.9.0 + 5.10.0 test From ed58eeede724b65f4d3890bd075112076631df89 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Feb 2024 01:02:29 +0000 Subject: [PATCH 361/973] Bump org.eclipse.jetty:jetty-server from 11.0.19 to 11.0.20 Bumps org.eclipse.jetty:jetty-server from 11.0.19 to 11.0.20. --- updated-dependencies: - dependency-name: org.eclipse.jetty:jetty-server dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b48d0b11..2a257b05 100644 --- a/pom.xml +++ b/pom.xml @@ -195,7 +195,7 @@ org.eclipse.jetty jetty-server - 11.0.19 + 11.0.20 test From 22afb0c0ee4eb24fa166e7aac8a6b83a8bac4832 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Thu, 1 Feb 2024 09:15:01 +0200 Subject: [PATCH 362/973] setup IDEA inspections initially, I enabled quite a lot of inspections. Maybe will disable some of them later. --- .gitignore | 1 - .idea/.gitignore | 8 + .idea/inspectionProfiles/Project_Default.xml | 289 +++++++++++++++++++ 3 files changed, 297 insertions(+), 1 deletion(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/Project_Default.xml diff --git a/.gitignore b/.gitignore index f17f9143..57bc9a40 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,6 @@ log.txt *.orig target/ dependency-reduced-pom.xml -.idea/ jmeter.log lib/ LittleProxy.pro diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..f46b8fe8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/* + +# things we want to be shared +!/dictionaries +!/inspectionProfiles +!/scopes +!/.gitignore diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 00000000..90fed025 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,289 @@ + + + + \ No newline at end of file From 5b24e5180fd0a651a31c6ed872879df5baacd066 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Thu, 1 Feb 2024 09:24:03 +0200 Subject: [PATCH 363/973] [refactoring] simplify collection creation --- .../proxy/websockets/WebSocketClient.java | 37 ++++++++----------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java b/src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java index 9b114e82..2553a58d 100644 --- a/src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java +++ b/src/test/java/org/littleshoot/proxy/websockets/WebSocketClient.java @@ -1,26 +1,6 @@ package org.littleshoot.proxy.websockets; -import java.io.IOException; -import java.net.InetSocketAddress; -import java.net.URI; -import java.time.Duration; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; -import java.util.concurrent.locks.ReadWriteLock; -import java.util.concurrent.locks.ReentrantReadWriteLock; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import com.google.common.base.Preconditions; - import io.netty.bootstrap.Bootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; @@ -48,6 +28,20 @@ import io.netty.handler.ssl.SslContextBuilder; import io.netty.handler.ssl.SslHandler; import io.netty.handler.ssl.util.InsecureTrustManagerFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.InetSocketAddress; +import java.net.URI; +import java.time.Duration; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.concurrent.locks.ReadWriteLock; +import java.util.concurrent.locks.ReentrantReadWriteLock; /** * Simple WebSocket client for use in unit tests that sends and receives text @@ -62,8 +56,7 @@ public class WebSocketClient { // According to RFC-6455 (https://tools.ietf.org/html/rfc6455#section-3) // only the ws and wss schemes should be used, but some applications incorrectly // use http/https anyway, so we allow both for testing those edge cases - private static final Set SECURE_SCHEMES = Collections - .unmodifiableSet(new HashSet<>(Arrays.asList("wss", "https"))); + private static final Set SECURE_SCHEMES = Set.of("wss", "https"); private final ReadWriteLock lock = new ReentrantReadWriteLock(); private final BlockingQueue receivedMessages = new LinkedBlockingQueue<>(); From 9ae61af49051eaf466d3474d725ca42f9970b643 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Thu, 1 Feb 2024 09:25:33 +0200 Subject: [PATCH 364/973] [refactoring] fix warning "Redundant field initialization" --- .../proxy/impl/ClientToProxyConnection.java | 4 ++-- .../littleshoot/proxy/impl/ConnectionFlow.java | 2 +- .../proxy/impl/DefaultHttpProxyServer.java | 18 +++++++++--------- .../proxy/impl/ProxyConnection.java | 4 ++-- .../proxy/impl/ProxyToServerConnection.java | 2 +- .../proxy/ThrottledInputStream.java | 4 ++-- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index 9eb28115..0d6c06f4 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -115,7 +115,7 @@ public class ClientToProxyConnection extends ProxyConnection { /** * Keep track of proxy protocol header */ - private HAProxyMessage haProxyMessage = null; + private HAProxyMessage haProxyMessage; /** * Keep track of how many servers are currently connected. @@ -145,7 +145,7 @@ public class ClientToProxyConnection extends ProxyConnection { /** * Tracks whether this ClientToProxyConnection is current doing MITM. */ - private volatile boolean mitming = false; + private volatile boolean mitming; private final AtomicBoolean authenticated = new AtomicBoolean(); diff --git a/src/main/java/org/littleshoot/proxy/impl/ConnectionFlow.java b/src/main/java/org/littleshoot/proxy/impl/ConnectionFlow.java index 415dbe68..6fd68385 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ConnectionFlow.java +++ b/src/main/java/org/littleshoot/proxy/impl/ConnectionFlow.java @@ -23,7 +23,7 @@ class ConnectionFlow { private final ClientToProxyConnection clientConnection; private final ProxyToServerConnection serverConnection; private volatile ConnectionFlowStep currentStep; - private volatile boolean suppressInitialRequest = false; + private volatile boolean suppressInitialRequest; private final Object connectLock; /** diff --git a/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java b/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java index d3a450be..88e6af0c 100644 --- a/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java +++ b/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java @@ -582,18 +582,18 @@ protected EventLoopGroup getProxyToServerWorkerFor(TransportProtocol transportPr // TODO: refactor bootstrap into a separate class private static class DefaultHttpProxyServerBootstrap implements HttpProxyServerBootstrap { private String name = "LittleProxy"; - private ServerGroup serverGroup = null; + private ServerGroup serverGroup; private TransportProtocol transportProtocol = TransportProtocol.TCP; private InetSocketAddress requestedAddress; private int port = 8080; private boolean allowLocalOnly = true; - private SslEngineSource sslEngineSource = null; + private SslEngineSource sslEngineSource; private boolean authenticateSslClients = true; - private ProxyAuthenticator proxyAuthenticator = null; - private ChainedProxyManager chainProxyManager = null; - private MitmManager mitmManager = null; + private ProxyAuthenticator proxyAuthenticator; + private ChainedProxyManager chainProxyManager; + private MitmManager mitmManager; private HttpFiltersSource filtersSource = new HttpFiltersSourceAdapter(); - private boolean transparent = false; + private boolean transparent; private int idleConnectionTimeout = 70; private final Collection activityTrackers = new ConcurrentLinkedQueue<>(); private int connectTimeout = 40000; @@ -608,9 +608,9 @@ private static class DefaultHttpProxyServerBootstrap implements HttpProxyServerB private int maxInitialLineLength = MAX_INITIAL_LINE_LENGTH_DEFAULT; private int maxHeaderSize = MAX_HEADER_SIZE_DEFAULT; private int maxChunkSize = MAX_CHUNK_SIZE_DEFAULT; - private boolean allowRequestToOriginServer = false; - private boolean acceptProxyProtocol = false; - private boolean sendProxyProtocol = false; + private boolean allowRequestToOriginServer; + private boolean acceptProxyProtocol; + private boolean sendProxyProtocol; private DefaultHttpProxyServerBootstrap() { } diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java index cb8032de..4c00efe6 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java @@ -71,8 +71,8 @@ abstract class ProxyConnection extends protected volatile Channel channel; private volatile ConnectionState currentState; - protected volatile boolean tunneling = false; - protected volatile long lastReadTime = 0; + protected volatile boolean tunneling; + protected volatile long lastReadTime; /** * If using encryption, this holds our {@link SSLEngine}. diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java index 7d43be37..96ddad22 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java @@ -145,7 +145,7 @@ public class ProxyToServerConnection extends ProxyConnection { * when retrying a connection without SNI to work around Java's SNI handling issue (see * {@link #connectionFailed(Throwable)}). */ - private volatile boolean disableSni = false; + private volatile boolean disableSni; /** * While we're in the process of connecting, it's possible that we'll diff --git a/src/test/java/org/littleshoot/proxy/ThrottledInputStream.java b/src/test/java/org/littleshoot/proxy/ThrottledInputStream.java index 1a437e2e..c1039bdc 100644 --- a/src/test/java/org/littleshoot/proxy/ThrottledInputStream.java +++ b/src/test/java/org/littleshoot/proxy/ThrottledInputStream.java @@ -36,8 +36,8 @@ public class ThrottledInputStream extends InputStream { private final long maxBytesPerSec; private final long startTime = System.currentTimeMillis(); - private long bytesRead = 0; - private long totalSleepTime = 0; + private long bytesRead; + private long totalSleepTime; private static final long SLEEP_DURATION_MS = 50; From 46b2595bbc4f59b51fb3e2b36af489b145bad33c Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Thu, 1 Feb 2024 09:28:03 +0200 Subject: [PATCH 365/973] [refactoring] fix warning "'size() == 0' can be replaced with 'isEmpty()'" --- .../org/littleshoot/proxy/impl/ProxyToServerConnection.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java index 96ddad22..36451a37 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java @@ -198,7 +198,7 @@ static ProxyToServerConnection create(DefaultHttpProxyServer proxyServer, if (chainedProxyManager != null) { chainedProxyManager.lookupChainedProxies(initialHttpRequest, chainedProxies, clientConnection.getClientDetails()); - if (chainedProxies.size() == 0) { + if (chainedProxies.isEmpty()) { // ChainedProxyManager returned no proxies, can't connect return null; } From b7a397808850b37b04d6d2fea9b100d9835b010e Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Thu, 1 Feb 2024 09:29:02 +0200 Subject: [PATCH 366/973] [refactoring] fix warning "String literal may be 'equals()' qualifier" --- src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java | 4 ++-- src/test/java/org/littleshoot/proxy/AbstractProxyTest.java | 2 +- src/test/java/org/littleshoot/proxy/HttpFilterTest.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java index b40f29c8..49e01af9 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyUtils.java @@ -276,7 +276,7 @@ public static boolean extractBooleanDefaultFalse(final Properties props, final String key) { final String throttle = props.getProperty(key); if (StringUtils.isNotBlank(throttle)) { - return throttle.trim().equalsIgnoreCase("true"); + return "true".equalsIgnoreCase(throttle.trim()); } return false; } @@ -285,7 +285,7 @@ public static boolean extractBooleanDefaultTrue(final Properties props, final String key) { final String throttle = props.getProperty(key); if (StringUtils.isNotBlank(throttle)) { - return throttle.trim().equalsIgnoreCase("true"); + return "true".equalsIgnoreCase(throttle.trim()); } return true; } diff --git a/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java b/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java index 930a7e38..b59aa26f 100644 --- a/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java @@ -227,7 +227,7 @@ protected String compareProxiedAndUnproxiedGET(HttpHost host, } private void checkStatistics(HttpHost host) { - boolean isHTTPS = host.getSchemeName().equalsIgnoreCase("HTTPS"); + boolean isHTTPS = "HTTPS".equalsIgnoreCase(host.getSchemeName()); int numberOfExpectedClientInteractions = 1; int numberOfExpectedServerInteractions = 1; if (isAuthenticating()) { diff --git a/src/test/java/org/littleshoot/proxy/HttpFilterTest.java b/src/test/java/org/littleshoot/proxy/HttpFilterTest.java index 96fadff1..9d2eebd0 100644 --- a/src/test/java/org/littleshoot/proxy/HttpFilterTest.java +++ b/src/test/java/org/littleshoot/proxy/HttpFilterTest.java @@ -164,7 +164,7 @@ public HttpResponse proxyToServerRequest( HttpObject httpObject) { if (httpObject instanceof HttpRequest) { HttpRequest httpRequest = (HttpRequest) httpObject; - if (httpRequest.uri().equals("/testing2")) { + if ("/testing2".equals(httpRequest.uri())) { return new DefaultFullHttpResponse( HttpVersion.HTTP_1_1, HttpResponseStatus.FORBIDDEN); From cd0d8d994f1f214f75fe287a64747e3c979dec25 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Thu, 1 Feb 2024 09:30:39 +0200 Subject: [PATCH 367/973] [refactoring] fix warning "Unnecessarily qualified statically imported element" --- .../proxy/BadClientAuthenticationTCPChainedProxyTest.java | 2 +- .../proxy/BadServerAuthenticationTCPChainedProxyTest.java | 2 +- .../ClientAuthenticationNotRequiredTCPChainedProxyTest.java | 2 +- .../org/littleshoot/proxy/EncryptedTCPChainedProxyTest.java | 2 +- .../org/littleshoot/proxy/EncryptedUDTChainedProxyTest.java | 2 +- .../MitmWithBadClientAuthenticationTCPChainedProxyTest.java | 2 +- .../MitmWithBadServerAuthenticationTCPChainedProxyTest.java | 2 +- ...mWithClientAuthenticationNotRequiredTCPChainedProxyTest.java | 2 +- .../littleshoot/proxy/MitmWithEncryptedTCPChainedProxyTest.java | 2 +- .../littleshoot/proxy/MitmWithEncryptedUDTChainedProxyTest.java | 2 +- .../proxy/MitmWithUnencryptedTCPChainedProxyTest.java | 2 +- .../proxy/MitmWithUnencryptedUDTChainedProxyTest.java | 2 +- .../org/littleshoot/proxy/UnencryptedTCPChainedProxyTest.java | 2 +- .../org/littleshoot/proxy/UnencryptedUDTChainedProxyTest.java | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/test/java/org/littleshoot/proxy/BadClientAuthenticationTCPChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/BadClientAuthenticationTCPChainedProxyTest.java index da084a94..43a1fad4 100644 --- a/src/test/java/org/littleshoot/proxy/BadClientAuthenticationTCPChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/BadClientAuthenticationTCPChainedProxyTest.java @@ -35,7 +35,7 @@ protected ChainedProxy newChainedProxy() { return new BaseChainedProxy() { @Override public TransportProtocol getTransportProtocol() { - return TransportProtocol.TCP; + return TCP; } @Override diff --git a/src/test/java/org/littleshoot/proxy/BadServerAuthenticationTCPChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/BadServerAuthenticationTCPChainedProxyTest.java index 68eb934a..4e0bce06 100644 --- a/src/test/java/org/littleshoot/proxy/BadServerAuthenticationTCPChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/BadServerAuthenticationTCPChainedProxyTest.java @@ -35,7 +35,7 @@ protected ChainedProxy newChainedProxy() { return new BaseChainedProxy() { @Override public TransportProtocol getTransportProtocol() { - return TransportProtocol.TCP; + return TCP; } @Override diff --git a/src/test/java/org/littleshoot/proxy/ClientAuthenticationNotRequiredTCPChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/ClientAuthenticationNotRequiredTCPChainedProxyTest.java index 0a80d649..7e7c85c3 100644 --- a/src/test/java/org/littleshoot/proxy/ClientAuthenticationNotRequiredTCPChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/ClientAuthenticationNotRequiredTCPChainedProxyTest.java @@ -31,7 +31,7 @@ protected ChainedProxy newChainedProxy() { return new BaseChainedProxy() { @Override public TransportProtocol getTransportProtocol() { - return TransportProtocol.TCP; + return TCP; } @Override diff --git a/src/test/java/org/littleshoot/proxy/EncryptedTCPChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/EncryptedTCPChainedProxyTest.java index 7c164523..ae3a8d89 100644 --- a/src/test/java/org/littleshoot/proxy/EncryptedTCPChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/EncryptedTCPChainedProxyTest.java @@ -22,7 +22,7 @@ protected ChainedProxy newChainedProxy() { return new BaseChainedProxy() { @Override public TransportProtocol getTransportProtocol() { - return TransportProtocol.TCP; + return TCP; } @Override diff --git a/src/test/java/org/littleshoot/proxy/EncryptedUDTChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/EncryptedUDTChainedProxyTest.java index 83569f7f..02a06a81 100644 --- a/src/test/java/org/littleshoot/proxy/EncryptedUDTChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/EncryptedUDTChainedProxyTest.java @@ -29,7 +29,7 @@ protected ChainedProxy newChainedProxy() { return new BaseChainedProxy() { @Override public TransportProtocol getTransportProtocol() { - return TransportProtocol.UDT; + return UDT; } @Override diff --git a/src/test/java/org/littleshoot/proxy/MitmWithBadClientAuthenticationTCPChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmWithBadClientAuthenticationTCPChainedProxyTest.java index 56e69935..d2d9b481 100644 --- a/src/test/java/org/littleshoot/proxy/MitmWithBadClientAuthenticationTCPChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmWithBadClientAuthenticationTCPChainedProxyTest.java @@ -35,7 +35,7 @@ protected ChainedProxy newChainedProxy() { return new BaseChainedProxy() { @Override public TransportProtocol getTransportProtocol() { - return TransportProtocol.TCP; + return TCP; } @Override diff --git a/src/test/java/org/littleshoot/proxy/MitmWithBadServerAuthenticationTCPChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmWithBadServerAuthenticationTCPChainedProxyTest.java index 813f7b42..785566d1 100644 --- a/src/test/java/org/littleshoot/proxy/MitmWithBadServerAuthenticationTCPChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmWithBadServerAuthenticationTCPChainedProxyTest.java @@ -35,7 +35,7 @@ protected ChainedProxy newChainedProxy() { return new BaseChainedProxy() { @Override public TransportProtocol getTransportProtocol() { - return TransportProtocol.TCP; + return TCP; } @Override diff --git a/src/test/java/org/littleshoot/proxy/MitmWithClientAuthenticationNotRequiredTCPChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmWithClientAuthenticationNotRequiredTCPChainedProxyTest.java index d6c1ace6..0fcf2741 100644 --- a/src/test/java/org/littleshoot/proxy/MitmWithClientAuthenticationNotRequiredTCPChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmWithClientAuthenticationNotRequiredTCPChainedProxyTest.java @@ -31,7 +31,7 @@ protected ChainedProxy newChainedProxy() { return new BaseChainedProxy() { @Override public TransportProtocol getTransportProtocol() { - return TransportProtocol.TCP; + return TCP; } @Override diff --git a/src/test/java/org/littleshoot/proxy/MitmWithEncryptedTCPChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmWithEncryptedTCPChainedProxyTest.java index 5251b477..6b1242a9 100644 --- a/src/test/java/org/littleshoot/proxy/MitmWithEncryptedTCPChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmWithEncryptedTCPChainedProxyTest.java @@ -22,7 +22,7 @@ protected ChainedProxy newChainedProxy() { return new BaseChainedProxy() { @Override public TransportProtocol getTransportProtocol() { - return TransportProtocol.TCP; + return TCP; } @Override diff --git a/src/test/java/org/littleshoot/proxy/MitmWithEncryptedUDTChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmWithEncryptedUDTChainedProxyTest.java index f102ff68..a8f3e050 100644 --- a/src/test/java/org/littleshoot/proxy/MitmWithEncryptedUDTChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmWithEncryptedUDTChainedProxyTest.java @@ -29,7 +29,7 @@ protected ChainedProxy newChainedProxy() { return new BaseChainedProxy() { @Override public TransportProtocol getTransportProtocol() { - return TransportProtocol.UDT; + return UDT; } @Override diff --git a/src/test/java/org/littleshoot/proxy/MitmWithUnencryptedTCPChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmWithUnencryptedTCPChainedProxyTest.java index c2c92d81..a5cc616e 100644 --- a/src/test/java/org/littleshoot/proxy/MitmWithUnencryptedTCPChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmWithUnencryptedTCPChainedProxyTest.java @@ -14,7 +14,7 @@ protected ChainedProxy newChainedProxy() { return new BaseChainedProxy() { @Override public TransportProtocol getTransportProtocol() { - return TransportProtocol.TCP; + return TCP; } @Override diff --git a/src/test/java/org/littleshoot/proxy/MitmWithUnencryptedUDTChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmWithUnencryptedUDTChainedProxyTest.java index f9722d8e..ee6bbbbf 100644 --- a/src/test/java/org/littleshoot/proxy/MitmWithUnencryptedUDTChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmWithUnencryptedUDTChainedProxyTest.java @@ -22,7 +22,7 @@ protected ChainedProxy newChainedProxy() { return new BaseChainedProxy() { @Override public TransportProtocol getTransportProtocol() { - return TransportProtocol.UDT; + return UDT; } @Override diff --git a/src/test/java/org/littleshoot/proxy/UnencryptedTCPChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/UnencryptedTCPChainedProxyTest.java index 7641444a..392748d2 100644 --- a/src/test/java/org/littleshoot/proxy/UnencryptedTCPChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/UnencryptedTCPChainedProxyTest.java @@ -14,7 +14,7 @@ protected ChainedProxy newChainedProxy() { return new BaseChainedProxy() { @Override public TransportProtocol getTransportProtocol() { - return TransportProtocol.TCP; + return TCP; } @Override diff --git a/src/test/java/org/littleshoot/proxy/UnencryptedUDTChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/UnencryptedUDTChainedProxyTest.java index 4041e194..826f4e77 100644 --- a/src/test/java/org/littleshoot/proxy/UnencryptedUDTChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/UnencryptedUDTChainedProxyTest.java @@ -22,7 +22,7 @@ protected ChainedProxy newChainedProxy() { return new BaseChainedProxy() { @Override public TransportProtocol getTransportProtocol() { - return TransportProtocol.UDT; + return UDT; } @Override From f6312d27d3bd9c973e5aa2637dca43a906a48b63 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Thu, 1 Feb 2024 09:39:24 +0200 Subject: [PATCH 368/973] [refactoring] fix warning "Unnecessary 'this' qualifier" --- .../org/littleshoot/proxy/FlowContext.java | 6 +- .../littleshoot/proxy/FullFlowContext.java | 4 +- .../proxy/extras/ProxyProtocolMessage.java | 14 ++-- .../proxy/extras/SelfSignedMitmManager.java | 2 +- .../proxy/impl/ClientToProxyConnection.java | 28 +++---- .../proxy/impl/ConnectionFlow.java | 4 +- .../proxy/impl/ConnectionFlowStep.java | 2 +- .../proxy/impl/DefaultHttpProxyServer.java | 64 ++++++++-------- .../proxy/impl/ProxyConnection.java | 18 ++--- .../proxy/impl/ProxyConnectionLogger.java | 2 +- .../proxy/impl/ProxyToServerConnection.java | 75 +++++++++---------- .../littleshoot/proxy/AbstractProxyTest.java | 6 +- .../AuthenticatingProxyWithChainingTest.java | 2 +- .../proxy/BaseChainedProxyTest.java | 4 +- .../proxy/BaseChainedSocksProxyTest.java | 2 +- .../proxy/ChainedProxyWithFallbackTest.java | 2 +- .../org/littleshoot/proxy/HttpFilterTest.java | 10 +-- .../littleshoot/proxy/IdlingProxyTest.java | 2 +- .../org/littleshoot/proxy/KeepAliveTest.java | 16 ++-- ...ernamePasswordAuthenticatingProxyTest.java | 2 +- .../org/littleshoot/proxy/MitmProxyTest.java | 2 +- .../proxy/MitmWithChainedProxyTest.java | 6 +- .../proxy/NoChainedProxiesTest.java | 2 +- .../littleshoot/proxy/ProxyHeadersTest.java | 4 +- .../littleshoot/proxy/SimpleProxyTest.java | 2 +- .../org/littleshoot/proxy/TimeoutTest.java | 2 +- ...ernamePasswordAuthenticatingProxyTest.java | 2 +- .../haproxy/ProxyProtocolServerHandler.java | 2 +- 28 files changed, 140 insertions(+), 147 deletions(-) diff --git a/src/main/java/org/littleshoot/proxy/FlowContext.java b/src/main/java/org/littleshoot/proxy/FlowContext.java index ae4230fa..6704468a 100644 --- a/src/main/java/org/littleshoot/proxy/FlowContext.java +++ b/src/main/java/org/littleshoot/proxy/FlowContext.java @@ -17,11 +17,9 @@ public class FlowContext { private final SSLSession clientSslSession; public FlowContext(ClientToProxyConnection clientConnection) { - super(); - this.clientAddress = clientConnection.getClientAddress(); + clientAddress = clientConnection.getClientAddress(); SSLEngine sslEngine = clientConnection.getSslEngine(); - this.clientSslSession = sslEngine != null ? sslEngine.getSession() - : null; + clientSslSession = sslEngine != null ? sslEngine.getSession() : null; } /** diff --git a/src/main/java/org/littleshoot/proxy/FullFlowContext.java b/src/main/java/org/littleshoot/proxy/FullFlowContext.java index cb8ac1d7..ef86b585 100644 --- a/src/main/java/org/littleshoot/proxy/FullFlowContext.java +++ b/src/main/java/org/littleshoot/proxy/FullFlowContext.java @@ -14,8 +14,8 @@ public class FullFlowContext extends FlowContext { public FullFlowContext(ClientToProxyConnection clientConnection, ProxyToServerConnection serverConnection) { super(clientConnection); - this.serverHostAndPort = serverConnection.getServerHostAndPort(); - this.chainedProxy = serverConnection.getChainedProxy(); + serverHostAndPort = serverConnection.getServerHostAndPort(); + chainedProxy = serverConnection.getChainedProxy(); } /** diff --git a/src/main/java/org/littleshoot/proxy/extras/ProxyProtocolMessage.java b/src/main/java/org/littleshoot/proxy/extras/ProxyProtocolMessage.java index 8ce58390..116a16e6 100644 --- a/src/main/java/org/littleshoot/proxy/extras/ProxyProtocolMessage.java +++ b/src/main/java/org/littleshoot/proxy/extras/ProxyProtocolMessage.java @@ -27,13 +27,13 @@ public ProxyProtocolMessage(HAProxyProtocolVersion protocolVersion, HAProxyComma } public ProxyProtocolMessage(HAProxyMessage haProxyMessage) { - this.protocolVersion = haProxyMessage.protocolVersion(); - this.command = haProxyMessage.command(); - this.proxiedProtocol = haProxyMessage.proxiedProtocol(); - this.sourceAddress = haProxyMessage.sourceAddress(); - this.destinationAddress = haProxyMessage.destinationAddress(); - this.sourcePort = haProxyMessage.sourcePort(); - this.destinationPort = haProxyMessage.destinationPort(); + protocolVersion = haProxyMessage.protocolVersion(); + command = haProxyMessage.command(); + proxiedProtocol = haProxyMessage.proxiedProtocol(); + sourceAddress = haProxyMessage.sourceAddress(); + destinationAddress = haProxyMessage.destinationAddress(); + sourcePort = haProxyMessage.sourcePort(); + destinationPort = haProxyMessage.destinationPort(); } public HAProxyProtocolVersion getProtocolVersion() { diff --git a/src/main/java/org/littleshoot/proxy/extras/SelfSignedMitmManager.java b/src/main/java/org/littleshoot/proxy/extras/SelfSignedMitmManager.java index 190eacaa..df217153 100644 --- a/src/main/java/org/littleshoot/proxy/extras/SelfSignedMitmManager.java +++ b/src/main/java/org/littleshoot/proxy/extras/SelfSignedMitmManager.java @@ -13,7 +13,7 @@ public class SelfSignedMitmManager implements MitmManager { private final SelfSignedSslEngineSource selfSignedSslEngineSource; public SelfSignedMitmManager() { - this.selfSignedSslEngineSource = new SelfSignedSslEngineSource(true); + selfSignedSslEngineSource = new SelfSignedSslEngineSource(true); } public SelfSignedMitmManager(SelfSignedSslEngineSource selfSignedSslEngineSource) { diff --git a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java index 0d6c06f4..1f0c5681 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ClientToProxyConnection.java @@ -241,7 +241,7 @@ protected ConnectionState readHTTPInitial(HttpRequest httpRequest) { private ConnectionState doReadHTTPInitial(HttpRequest httpRequest) { resetCurrentRequest(); // Make a copy of the original request - this.currentRequest = copy(httpRequest); + currentRequest = copy(httpRequest); // Set up our filters based on the original request. If the HttpFiltersSource returns null (meaning the request/response // should not be filtered), fall back to the default no-op filter source. @@ -294,8 +294,8 @@ private ConnectionState doReadHTTPInitial(HttpRequest httpRequest) { LOG.debug("Finding ProxyToServerConnection for: {}", serverHostAndPort); currentServerConnection = isMitming() || isTunneling() ? - this.currentServerConnection - : this.serverConnectionsByHostAndPort.get(serverHostAndPort); + currentServerConnection + : serverConnectionsByHostAndPort.get(serverHostAndPort); boolean newConnectionRequired = false; if (ProxyUtils.isCONNECT(httpRequest)) { @@ -511,14 +511,14 @@ private void resetCurrentRequest() { if (currentRequest != null && currentRequest instanceof ReferenceCounted) { ((ReferenceCounted) currentRequest).release(); } - this.currentRequest = null; + currentRequest = null; } private void switchToWebSocketProtocol(final ProxyToServerConnection serverConnection) { final List orderedHandlersToRemove = Arrays.asList(HTTP_REQUEST_READ_MONITOR_NAME, HTTP_RESPONSE_WRITTEN_MONITOR_NAME, HTTP_PROXY_DECODER_NAME, HTTP_ENCODER_NAME, HTTP_DECODER_NAME); - if (this.channel.pipeline().get(MAIN_HANDLER_NAME) != null) { - this.channel.pipeline().replace(MAIN_HANDLER_NAME, "pipe-to-server", + if (channel.pipeline().get(MAIN_HANDLER_NAME) != null) { + channel.pipeline().replace(MAIN_HANDLER_NAME, "pipe-to-server", new ProxyConnectionPipeHandler(serverConnection)); } orderedHandlersToRemove.forEach(this::removeHandlerIfPresent); @@ -559,7 +559,7 @@ protected void connected() { } void timedOut(ProxyToServerConnection serverConnection) { - if (currentServerConnection == serverConnection && this.lastReadTime > currentServerConnection.lastReadTime) { + if (currentServerConnection == serverConnection && lastReadTime > currentServerConnection.lastReadTime) { // the idle timeout fired on the active server connection. send a timeout response to the client. LOG.warn("Server timed out: {}", currentServerConnection); currentFilters.serverToProxyResponseTimedOut(); @@ -570,7 +570,7 @@ void timedOut(ProxyToServerConnection serverConnection) { @Override protected void timedOut() { // idle timeout fired on the client channel. if we aren't waiting on a response from a server, hang up - if (currentServerConnection == null || this.lastReadTime <= currentServerConnection.lastReadTime) { + if (currentServerConnection == null || lastReadTime <= currentServerConnection.lastReadTime) { super.timedOut(); } } @@ -594,7 +594,7 @@ protected void disconnected() { protected void serverConnectionFlowStarted( ProxyToServerConnection serverConnection) { stopReading(); - this.numberOfCurrentlyConnectingServers.incrementAndGet(); + numberOfCurrentlyConnectingServers.incrementAndGet(); } /** @@ -666,7 +666,7 @@ private void connectionFailedUnrecoverably(HttpRequest initialRequest, ProxyToSe // the connection to the server failed, so disconnect the server and remove the ProxyToServerConnection from the // map of open server connections serverConnection.disconnect(); - this.serverConnectionsByHostAndPort.remove(serverConnection.getServerHostAndPort()); + serverConnectionsByHostAndPort.remove(serverConnection.getServerHostAndPort()); boolean keepAlive = writeBadGateway(initialRequest); if (keepAlive) { @@ -677,7 +677,7 @@ private void connectionFailedUnrecoverably(HttpRequest initialRequest, ProxyToSe } private void resumeReadingIfNecessary() { - if (this.numberOfCurrentlyConnectingServers.decrementAndGet() == 0) { + if (numberOfCurrentlyConnectingServers.decrementAndGet() == 0) { LOG.debug("All servers have finished attempting to connect, resuming reading from client."); resumeReading(); } @@ -713,7 +713,7 @@ synchronized protected void becameSaturated() { for (ProxyToServerConnection serverConnection : serverConnectionsByHostAndPort .values()) { synchronized (serverConnection) { - if (this.isSaturated()) { + if (isSaturated()) { serverConnection.stopReading(); } } @@ -730,7 +730,7 @@ synchronized protected void becameWritable() { for (ProxyToServerConnection serverConnection : serverConnectionsByHostAndPort .values()) { synchronized (serverConnection) { - if (!this.isSaturated()) { + if (!isSaturated()) { serverConnection.resumeReading(); } } @@ -1398,7 +1398,7 @@ public boolean isMitming() { } protected void setMitming(boolean isMitming) { - this.mitming = isMitming; + mitming = isMitming; } /* ************************************************************************* diff --git a/src/main/java/org/littleshoot/proxy/impl/ConnectionFlow.java b/src/main/java/org/littleshoot/proxy/impl/ConnectionFlow.java index 6fd68385..921ca818 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ConnectionFlow.java +++ b/src/main/java/org/littleshoot/proxy/impl/ConnectionFlow.java @@ -71,8 +71,8 @@ ConnectionFlow then(ConnectionFlowStep step) { * current {@link ConnectionFlowStep}. */ void read(Object msg) { - if (this.currentStep != null) { - this.currentStep.read(this, msg); + if (currentStep != null) { + currentStep.read(this, msg); } } diff --git a/src/main/java/org/littleshoot/proxy/impl/ConnectionFlowStep.java b/src/main/java/org/littleshoot/proxy/impl/ConnectionFlowStep.java index a112727f..88094d36 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ConnectionFlowStep.java +++ b/src/main/java/org/littleshoot/proxy/impl/ConnectionFlowStep.java @@ -24,7 +24,7 @@ abstract class ConnectionFlowStep { super(); this.connection = connection; this.state = state; - this.LOG = connection.getLOG(); + LOG = connection.getLOG(); } ProxyConnection getConnection() { diff --git a/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java b/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java index 88e6af0c..d5879d62 100644 --- a/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java +++ b/src/main/java/org/littleshoot/proxy/impl/DefaultHttpProxyServer.java @@ -20,6 +20,7 @@ import java.io.InputStream; import java.net.InetSocketAddress; import java.util.Collection; +import java.util.Objects; import java.util.Properties; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.TimeUnit; @@ -246,9 +247,9 @@ private DefaultHttpProxyServer(ServerGroup serverGroup, this.serverResolver = serverResolver; if (writeThrottleBytesPerSecond > 0 || readThrottleBytesPerSecond > 0) { - this.globalTrafficShapingHandler = createGlobalTrafficShapingHandler(transportProtocol, readThrottleBytesPerSecond, writeThrottleBytesPerSecond); + globalTrafficShapingHandler = createGlobalTrafficShapingHandler(transportProtocol, readThrottleBytesPerSecond, writeThrottleBytesPerSecond); } else { - this.globalTrafficShapingHandler = null; + globalTrafficShapingHandler = null; } this.localAddress = localAddress; @@ -274,7 +275,7 @@ private DefaultHttpProxyServer(ServerGroup serverGroup, * Creates a new GlobalTrafficShapingHandler for this HttpProxyServer, using this proxy's proxyToServerEventLoop. */ private GlobalTrafficShapingHandler createGlobalTrafficShapingHandler(TransportProtocol transportProtocol, long readThrottleBytesPerSecond, long writeThrottleBytesPerSecond) { - EventLoopGroup proxyToServerEventLoop = this.getProxyToServerWorkerFor(transportProtocol); + EventLoopGroup proxyToServerEventLoop = getProxyToServerWorkerFor(transportProtocol); return new GlobalTrafficShapingHandler(proxyToServerEventLoop, writeThrottleBytesPerSecond, readThrottleBytesPerSecond, @@ -303,7 +304,7 @@ public int getConnectTimeout() { @Override public void setConnectTimeout(int connectTimeoutMs) { - this.connectTimeout = connectTimeoutMs; + connectTimeout = connectTimeoutMs; } public HostResolver getServerResolver() { @@ -485,7 +486,7 @@ protected void closeAllChannels(boolean graceful) { private HttpProxyServer start() { if (!serverGroup.isStopped()) { - LOG.info("Starting proxy at address: {}", this.requestedAddress); + LOG.info("Starting proxy at address: {}", requestedAddress); serverGroup.registerProxyServer(this); @@ -540,8 +541,8 @@ protected void initChannel(Channel ch) { throw new RuntimeException(cause); } - this.boundAddress = ((InetSocketAddress) future.channel().localAddress()); - LOG.info("Proxy started at address: {}", this.boundAddress); + boundAddress = ((InetSocketAddress) future.channel().localAddress()); + LOG.info("Proxy started at address: {}", boundAddress); Runtime.getRuntime().addShutdownHook(jvmShutdownHook); } @@ -664,19 +665,19 @@ private DefaultHttpProxyServerBootstrap( } private DefaultHttpProxyServerBootstrap(Properties props) { - this.withUseDnsSec(ProxyUtils.extractBooleanDefaultFalse( + withUseDnsSec(ProxyUtils.extractBooleanDefaultFalse( props, "dnssec")); - this.transparent = ProxyUtils.extractBooleanDefaultFalse( + transparent = ProxyUtils.extractBooleanDefaultFalse( props, "transparent"); - this.idleConnectionTimeout = ProxyUtils.extractInt(props, + idleConnectionTimeout = ProxyUtils.extractInt(props, "idle_connection_timeout"); - this.connectTimeout = ProxyUtils.extractInt(props, + connectTimeout = ProxyUtils.extractInt(props, "connect_timeout", 0); - this.maxInitialLineLength = ProxyUtils.extractInt(props, + maxInitialLineLength = ProxyUtils.extractInt(props, "max_initial_line_length", MAX_INITIAL_LINE_LENGTH_DEFAULT); - this.maxHeaderSize = ProxyUtils.extractInt(props, + maxHeaderSize = ProxyUtils.extractInt(props, "max_header_size", MAX_HEADER_SIZE_DEFAULT); - this.maxChunkSize = ProxyUtils.extractInt(props, + maxChunkSize = ProxyUtils.extractInt(props, "max_chunk_size", MAX_CHUNK_SIZE_DEFAULT); } @@ -695,26 +696,26 @@ public HttpProxyServerBootstrap withTransportProtocol( @Override public HttpProxyServerBootstrap withAddress(InetSocketAddress address) { - this.requestedAddress = address; + requestedAddress = address; return this; } @Override public HttpProxyServerBootstrap withPort(int port) { - this.requestedAddress = null; + requestedAddress = null; this.port = port; return this; } @Override public HttpProxyServerBootstrap withNetworkInterface(InetSocketAddress inetSocketAddress) { - this.localAddress = inetSocketAddress; + localAddress = inetSocketAddress; return this; } @Override public HttpProxyServerBootstrap withProxyAlias(String alias) { - this.proxyAlias = alias; + proxyAlias = alias; return this; } @@ -736,10 +737,10 @@ public HttpProxyServerBootstrap withListenOnAllAddresses(boolean listenOnAllAddr public HttpProxyServerBootstrap withSslEngineSource( SslEngineSource sslEngineSource) { this.sslEngineSource = sslEngineSource; - if (this.mitmManager != null) { + if (mitmManager != null) { LOG.warn("Enabled encrypted inbound connections with man in the middle. " + "These are mutually exclusive - man in the middle will be disabled."); - this.mitmManager = null; + mitmManager = null; } return this; } @@ -769,10 +770,10 @@ public HttpProxyServerBootstrap withChainProxyManager( public HttpProxyServerBootstrap withManInTheMiddle( MitmManager mitmManager) { this.mitmManager = mitmManager; - if (this.sslEngineSource != null) { + if (sslEngineSource != null) { LOG.warn("Enabled man in the middle with encrypted inbound connections. " + "These are mutually exclusive - encrypted inbound connections will be disabled."); - this.sslEngineSource = null; + sslEngineSource = null; } return this; } @@ -787,9 +788,9 @@ public HttpProxyServerBootstrap withFiltersSource( @Override public HttpProxyServerBootstrap withUseDnsSec(boolean useDnsSec) { if (useDnsSec) { - this.serverResolver = new DnsSecServerResolver(); + serverResolver = new DnsSecServerResolver(); } else { - this.serverResolver = new DefaultHostResolver(); + serverResolver = new DefaultHostResolver(); } return this; } @@ -824,7 +825,7 @@ public HttpProxyServerBootstrap withServerResolver( @Override public HttpProxyServerBootstrap withServerGroup( ServerGroup group) { - this.serverGroup = group; + serverGroup = group; return this; } @@ -885,21 +886,16 @@ public HttpProxyServer start() { @Override public HttpProxyServerBootstrap withThreadPoolConfiguration(ThreadPoolConfiguration configuration) { - this.clientToProxyAcceptorThreads = configuration.getAcceptorThreads(); - this.clientToProxyWorkerThreads = configuration.getClientToProxyWorkerThreads(); - this.proxyToServerWorkerThreads = configuration.getProxyToServerWorkerThreads(); + clientToProxyAcceptorThreads = configuration.getAcceptorThreads(); + clientToProxyWorkerThreads = configuration.getClientToProxyWorkerThreads(); + proxyToServerWorkerThreads = configuration.getProxyToServerWorkerThreads(); return this; } private DefaultHttpProxyServer build() { final ServerGroup serverGroup; - if (this.serverGroup != null) { - serverGroup = this.serverGroup; - } - else { - serverGroup = new ServerGroup(name, clientToProxyAcceptorThreads, clientToProxyWorkerThreads, proxyToServerWorkerThreads); - } + serverGroup = Objects.requireNonNullElseGet(this.serverGroup, () -> new ServerGroup(name, clientToProxyAcceptorThreads, clientToProxyWorkerThreads, proxyToServerWorkerThreads)); return new DefaultHttpProxyServer(serverGroup, transportProtocol, determineListenAddress(), diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java index 4c00efe6..7e3d3913 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyConnection.java @@ -482,7 +482,7 @@ private void closeChannel(final Promise promise) { * writeable). */ protected boolean isSaturated() { - return !this.channel.isWritable(); + return !channel.isWritable(); } /** @@ -504,7 +504,7 @@ protected boolean isConnecting() { * Updates the current state to the given value. */ protected void become(ConnectionState state) { - this.currentState = state; + currentState = state; } protected ConnectionState getCurrentState() { @@ -524,7 +524,7 @@ public SSLEngine getSslEngine() { */ protected void stopReading() { LOG.debug("Stopped reading"); - this.channel.config().setAutoRead(false); + channel.config().setAutoRead(false); } /** @@ -532,7 +532,7 @@ protected void stopReading() { */ protected void resumeReading() { LOG.debug("Resumed reading"); - this.channel.config().setAutoRead(true); + channel.config().setAutoRead(true); } /** @@ -564,8 +564,8 @@ protected final void channelRead0(ChannelHandlerContext ctx, Object msg) { public void channelRegistered(ChannelHandlerContext ctx) throws Exception { try { this.ctx = ctx; - this.channel = ctx.channel(); - this.proxyServer.registerChannel(ctx.channel()); + channel = ctx.channel(); + proxyServer.registerChannel(ctx.channel()); } finally { super.channelRegistered(ctx); } @@ -573,7 +573,7 @@ public void channelRegistered(ChannelHandlerContext ctx) throws Exception { @Override public void channelUnregistered(ChannelHandlerContext ctx) throws Exception { - this.proxyServer.unregisterChannel(ctx.channel()); + proxyServer.unregisterChannel(ctx.channel()); super.channelUnregistered(ctx); } @@ -608,7 +608,7 @@ public final void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception { LOG.debug("Writability changed. Is writable: {}", channel.isWritable()); try { - if (this.channel.isWritable()) { + if (channel.isWritable()) { becameWritable(); } else { becameSaturated(); @@ -631,7 +631,7 @@ public final void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) { * *

    * Note - we don't care what kind of IdleState we got. Thanks to qbast for pointing this out. + * href="https://github.com/qbast">bast for pointing this out. *

    */ @Override diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyConnectionLogger.java b/src/main/java/org/littleshoot/proxy/impl/ProxyConnectionLogger.java index fb00e89a..b1ecd113 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyConnectionLogger.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyConnectionLogger.java @@ -25,7 +25,7 @@ class ProxyConnectionLogger { private final ProxyConnection connection; private final LogDispatch dispatch; private final Logger logger; - private final String fqcn = this.getClass().getCanonicalName(); + private final String fqcn = getClass().getCanonicalName(); public ProxyConnectionLogger(ProxyConnection connection) { this.connection = connection; diff --git a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java index 36451a37..13a331b8 100644 --- a/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java +++ b/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java @@ -245,7 +245,7 @@ protected void read(Object msg) { LOG.debug( "In the middle of connecting, forwarding message to connection flow: {}", msg); - this.connectionFlow.read(msg); + connectionFlow.read(msg); } else { super.read(msg); } @@ -346,7 +346,7 @@ protected boolean isContentAlwaysEmpty(HttpMessage httpMessage) { * given value. */ void write(Object msg, HttpFilters filters) { - this.currentFilters = filters; + currentFilters = filters; write(msg); } @@ -362,7 +362,7 @@ ChannelFuture write(Object msg) { if (is(DISCONNECTED) && msg instanceof HttpRequest) { LOG.debug("Currently disconnected, connect and then write the message"); connectAndWrite((HttpRequest) msg); - return this.clientConnection.channel.newSucceededFuture(); + return clientConnection.channel.newSucceededFuture(); } else { if (isConnecting()) { synchronized (connectLock) { @@ -436,13 +436,13 @@ protected void become(ConnectionState newState) { @Override protected void becameSaturated() { super.becameSaturated(); - this.clientConnection.serverBecameSaturated(this); + clientConnection.serverBecameSaturated(this); } @Override protected void becameWritable() { super.becameWritable(); - this.clientConnection.serverBecameWriteable(this); + clientConnection.serverBecameWriteable(this); } @Override @@ -454,10 +454,10 @@ protected void timedOut() { @Override protected void disconnected() { super.disconnected(); - if (this.chainedProxy != null) { + if (chainedProxy != null) { // Let the ChainedProxy know that we disconnected try { - this.chainedProxy.disconnected(); + chainedProxy.disconnected(); } catch (Exception e) { LOG.error("Unable to record connectionFailed", e); } @@ -487,7 +487,7 @@ protected void exceptionCaught(Throwable cause) { if (!is(DISCONNECTED)) { LOG.info("Disconnecting open connection to server"); disconnect(); - this.clientConnection.serverConnectionFailed(this, getCurrentState(), cause); + clientConnection.serverConnectionFailed(this, getCurrentState(), cause); } } // This can happen if we couldn't make the initial connection due @@ -583,7 +583,7 @@ private void connectAndWrite(HttpRequest initialRequest) { * handling CONNECTs. */ private void initializeConnectionFlow() { - this.connectionFlow = new ConnectionFlow(clientConnection, this, + connectionFlow = new ConnectionFlow(clientConnection, this, connectLock) .then(ConnectChannel); @@ -1022,11 +1022,11 @@ protected boolean connectionFailed(Throwable cause) */ private void resetConnectionForRetry() throws UnknownHostException { // Remove ourselves as handler on the old context - this.ctx.pipeline().remove(this); - this.ctx.close(); - this.ctx = null; + ctx.pipeline().remove(this); + ctx.close(); + ctx = null; - this.setupConnectionParameters(); + setupConnectionParameters(); } /** @@ -1038,46 +1038,45 @@ private void resetConnectionForRetry() throws UnknownHostException { private void setupConnectionParameters() throws UnknownHostException { if (chainedProxy != null && chainedProxy != ChainedProxyAdapter.FALLBACK_TO_DIRECT_CONNECTION) { - this.transportProtocol = chainedProxy.getTransportProtocol(); - this.chainedProxyType = chainedProxy.getChainedProxyType(); - this.localAddress = chainedProxy.getLocalAddress(); - this.remoteAddress = chainedProxy.getChainedProxyAddress(); - this.remoteAddressResolver = DefaultAddressResolverGroup.INSTANCE; - this.username = chainedProxy.getUsername(); - this.password = chainedProxy.getPassword(); + transportProtocol = chainedProxy.getTransportProtocol(); + chainedProxyType = chainedProxy.getChainedProxyType(); + localAddress = chainedProxy.getLocalAddress(); + remoteAddress = chainedProxy.getChainedProxyAddress(); + remoteAddressResolver = DefaultAddressResolverGroup.INSTANCE; + username = chainedProxy.getUsername(); + password = chainedProxy.getPassword(); } else { - this.transportProtocol = TransportProtocol.TCP; - this.chainedProxyType = ChainedProxyType.HTTP; - this.username = null; - this.password = null; + transportProtocol = TransportProtocol.TCP; + chainedProxyType = ChainedProxyType.HTTP; + username = null; + password = null; // Report DNS resolution to HttpFilters - this.remoteAddress = this.currentFilters.proxyToServerResolutionStarted(serverHostAndPort); + remoteAddress = currentFilters.proxyToServerResolutionStarted(serverHostAndPort); // save the hostname and port of the unresolved address in hostAndPort, in case name resolution fails String hostAndPort = null; try { - if (this.remoteAddress == null) { + if (remoteAddress == null) { hostAndPort = serverHostAndPort; - this.remoteAddress = addressFor(serverHostAndPort, proxyServer); - } else if (this.remoteAddress.isUnresolved()) { + remoteAddress = addressFor(serverHostAndPort, proxyServer); + } else if (remoteAddress.isUnresolved()) { // filter returned an unresolved address, so resolve it using the proxy server's resolver - hostAndPort = HostAndPort.fromParts(this.remoteAddress.getHostName(), this.remoteAddress.getPort()).toString(); - this.remoteAddress = proxyServer.getServerResolver().resolve(this.remoteAddress.getHostName(), - this.remoteAddress.getPort()); + hostAndPort = HostAndPort.fromParts(remoteAddress.getHostName(), remoteAddress.getPort()).toString(); + remoteAddress = proxyServer.getServerResolver().resolve(remoteAddress.getHostName(), remoteAddress.getPort()); } } catch (UnknownHostException e) { // unable to resolve the hostname to an IP address. notify the filters of the failure before allowing the // exception to bubble up. - this.currentFilters.proxyToServerResolutionFailed(hostAndPort); + currentFilters.proxyToServerResolutionFailed(hostAndPort); throw e; } - this.currentFilters.proxyToServerResolutionSucceeded(serverHostAndPort, this.remoteAddress); + currentFilters.proxyToServerResolutionSucceeded(serverHostAndPort, remoteAddress); - this.localAddress = proxyServer.getLocalAddress(); + localAddress = proxyServer.getLocalAddress(); } } @@ -1142,10 +1141,10 @@ private void initChannelPipeline(ChannelPipeline pipeline, HttpRequest httpReque */ void connectionSucceeded(boolean shouldForwardInitialRequest) { become(AWAITING_INITIAL); - if (this.chainedProxy != null) { + if (chainedProxy != null) { // Notify the ChainedProxy that we successfully connected try { - this.chainedProxy.connectionSucceeded(); + chainedProxy.connectionSucceeded(); } catch (Exception e) { LOG.error("Unable to record connectionSucceeded", e); } @@ -1213,8 +1212,8 @@ private static InetSocketAddress unresolvedAddressFor(String hostAndPort) { void switchToWebSocketProtocol() { final List orderedHandlersToRemove = Arrays.asList(HTTP_REQUEST_WRITTEN_MONITOR_NAME, HTTP_RESPONSE_READ_MONITOR_NAME, HTTP_PROXY_ENCODER_NAME, HTTP_ENCODER_NAME, HTTP_DECODER_NAME); - if (this.channel.pipeline().get(MAIN_HANDLER_NAME) != null) { - this.channel.pipeline().replace(MAIN_HANDLER_NAME, "pipe-to-client", + if (channel.pipeline().get(MAIN_HANDLER_NAME) != null) { + channel.pipeline().replace(MAIN_HANDLER_NAME, "pipe-to-client", new ProxyConnectionPipeHandler(clientConnection)); } orderedHandlersToRemove.forEach(this::removeHandlerIfPresent); diff --git a/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java b/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java index b59aa26f..cc83ad31 100644 --- a/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/AbstractProxyTest.java @@ -107,11 +107,11 @@ public void runTearDown() throws Exception { tearDown(); } finally { try { - if (this.proxyServer != null) { - this.proxyServer.abort(); + if (proxyServer != null) { + proxyServer.abort(); } } finally { - if (this.webServer != null) { + if (webServer != null) { webServer.stop(); } } diff --git a/src/test/java/org/littleshoot/proxy/AuthenticatingProxyWithChainingTest.java b/src/test/java/org/littleshoot/proxy/AuthenticatingProxyWithChainingTest.java index 1d7dfb15..228006bb 100644 --- a/src/test/java/org/littleshoot/proxy/AuthenticatingProxyWithChainingTest.java +++ b/src/test/java/org/littleshoot/proxy/AuthenticatingProxyWithChainingTest.java @@ -16,7 +16,7 @@ public class AuthenticatingProxyWithChainingTest extends BaseProxyTest @Override protected void setUp() { - this.proxyServer = bootstrapProxy() + proxyServer = bootstrapProxy() .withPort(0) .withProxyAuthenticator(this) .withChainProxyManager(this) diff --git a/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java index bf33abd3..b60bb413 100644 --- a/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/BaseChainedProxyTest.java @@ -52,8 +52,8 @@ protected void setUp() throws IOException { REQUESTS_SENT_BY_DOWNSTREAM.set(0); REQUESTS_RECEIVED_BY_UPSTREAM.set(0); TRANSPORTS_USED.clear(); - this.upstreamProxy = upstreamProxy().start(); - this.proxyServer = bootstrapProxy() + upstreamProxy = upstreamProxy().start(); + proxyServer = bootstrapProxy() .withName("Downstream") .withPort(0) .withChainProxyManager(chainedProxyManager()) diff --git a/src/test/java/org/littleshoot/proxy/BaseChainedSocksProxyTest.java b/src/test/java/org/littleshoot/proxy/BaseChainedSocksProxyTest.java index b8b32fb0..747df1ed 100644 --- a/src/test/java/org/littleshoot/proxy/BaseChainedSocksProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/BaseChainedSocksProxyTest.java @@ -23,7 +23,7 @@ abstract public class BaseChainedSocksProxyTest extends BaseProxyTest { @Override protected void setUp() throws Exception { initializeSocksServer(); - this.proxyServer = bootstrapProxy() + proxyServer = bootstrapProxy() .withName("Downstream") .withPort(0) .withChainProxyManager(chainedProxyManager()) diff --git a/src/test/java/org/littleshoot/proxy/ChainedProxyWithFallbackTest.java b/src/test/java/org/littleshoot/proxy/ChainedProxyWithFallbackTest.java index dab9c497..44a9e425 100644 --- a/src/test/java/org/littleshoot/proxy/ChainedProxyWithFallbackTest.java +++ b/src/test/java/org/littleshoot/proxy/ChainedProxyWithFallbackTest.java @@ -18,7 +18,7 @@ public class ChainedProxyWithFallbackTest extends BaseProxyTest { @Override protected void setUp() { unableToConnect.set(false); - this.proxyServer = bootstrapProxy() + proxyServer = bootstrapProxy() .withName("Downstream") .withPort(0) .withChainProxyManager((httpRequest, chainedProxies, clientDetails) -> { diff --git a/src/test/java/org/littleshoot/proxy/HttpFilterTest.java b/src/test/java/org/littleshoot/proxy/HttpFilterTest.java index 9d2eebd0..d6d9e5e1 100644 --- a/src/test/java/org/littleshoot/proxy/HttpFilterTest.java +++ b/src/test/java/org/littleshoot/proxy/HttpFilterTest.java @@ -84,7 +84,7 @@ public void tearDown() throws Exception { * @param filtersSource HTTP filters source */ private void setUpHttpProxyServer(HttpFiltersSource filtersSource) { - this.proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .withFiltersSource(filtersSource) .start(); @@ -448,7 +448,7 @@ public HttpFilters filterRequest(HttpRequest originalRequest) { HostResolver mockFailingResolver = mock(HostResolver.class); when(mockFailingResolver.resolve("www.doesnotexist", 80)).thenThrow(new UnknownHostException("www.doesnotexist")); - this.proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .withFiltersSource(filtersSource) .withServerResolver(mockFailingResolver) @@ -538,7 +538,7 @@ public HttpFilters filterRequest(HttpRequest originalRequest) { }; // set up the proxy that the HTTP client will connect to - this.proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .withFiltersSource(filtersSource) .withChainProxyManager((httpRequest, chainedProxies, clientDetails) -> chainedProxies.add(new ChainedProxyAdapter() { @@ -602,7 +602,7 @@ public HttpFilters filterRequest(HttpRequest originalRequest) { }; // set up the proxy that the HTTP client will connect to - this.proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .withFiltersSource(filtersSource) .withChainProxyManager((httpRequest, chainedProxies, clientDetails) -> chainedProxies.add(new ChainedProxyAdapter() { @@ -673,7 +673,7 @@ public HttpFilters filterRequest(HttpRequest originalRequest) { } }; - this.proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .withFiltersSource(filtersSource) .withIdleConnectionTimeout(3) diff --git a/src/test/java/org/littleshoot/proxy/IdlingProxyTest.java b/src/test/java/org/littleshoot/proxy/IdlingProxyTest.java index 5c555d18..3270d736 100644 --- a/src/test/java/org/littleshoot/proxy/IdlingProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/IdlingProxyTest.java @@ -12,7 +12,7 @@ public class IdlingProxyTest extends AbstractProxyTest { @Override protected void setUp() { - this.proxyServer = bootstrapProxy() + proxyServer = bootstrapProxy() .withPort(0) .withIdleConnectionTimeout(1) .start(); diff --git a/src/test/java/org/littleshoot/proxy/KeepAliveTest.java b/src/test/java/org/littleshoot/proxy/KeepAliveTest.java index daee5586..802d157c 100644 --- a/src/test/java/org/littleshoot/proxy/KeepAliveTest.java +++ b/src/test/java/org/littleshoot/proxy/KeepAliveTest.java @@ -84,10 +84,10 @@ public void testHttp11DoesNotCloseConnectionByDefault() throws IOException, Inte .withStatusCode(200) .withBody("success")); - this.proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .start(); - this.socket = SocketClientUtil.getSocketToProxyServer(proxyServer); + socket = SocketClientUtil.getSocketToProxyServer(proxyServer); // construct the basic request: METHOD + URI + HTTP version + CRLF (to indicate the end of the request) String successfulGet = "GET http://localhost:" + mockServerPort + "/success HTTP/1.1\r\n" @@ -128,10 +128,10 @@ public void testProxyKeepsClientConnectionOpenAfterServerDisconnect() throws IOE .withSuppressContentLengthHeader(true) .withCloseSocket(true))); - this.proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .start(); - this.socket = SocketClientUtil.getSocketToProxyServer(proxyServer); + socket = SocketClientUtil.getSocketToProxyServer(proxyServer); // construct the basic request: METHOD + URI + HTTP version + CRLF (to indicate the end of the request) String successfulGet = "GET http://localhost:" + mockServerPort + "/success HTTP/1.1\r\n" @@ -171,7 +171,7 @@ public void testBadGatewayDoesNotCloseConnection() throws IOException, Interrupt .withStatusCode(200) .withBody("success")); - this.proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .start(); @@ -210,7 +210,7 @@ public void testGatewayTimeoutDoesNotCloseConnection() throws IOException { .withDelay(TimeUnit.SECONDS, 10) .withBody("success")); - this.proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withIdleConnectionTimeout(2) .withPort(0) .start(); @@ -269,7 +269,7 @@ public HttpResponse clientToProxyRequest(HttpObject httpObject) { } }; - this.proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .withFiltersSource(filtersSource) .start(); @@ -328,7 +328,7 @@ public HttpResponse clientToProxyRequest(HttpObject httpObject) { } }; - this.proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .withFiltersSource(filtersSource) .start(); diff --git a/src/test/java/org/littleshoot/proxy/MITMUsernamePasswordAuthenticatingProxyTest.java b/src/test/java/org/littleshoot/proxy/MITMUsernamePasswordAuthenticatingProxyTest.java index 48369cdd..7481265f 100644 --- a/src/test/java/org/littleshoot/proxy/MITMUsernamePasswordAuthenticatingProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MITMUsernamePasswordAuthenticatingProxyTest.java @@ -11,7 +11,7 @@ public class MITMUsernamePasswordAuthenticatingProxyTest extends implements ProxyAuthenticator { @Override protected void setUp() { - this.proxyServer = bootstrapProxy() + proxyServer = bootstrapProxy() .withPort(0) .withProxyAuthenticator(this) .withManInTheMiddle(new SelfSignedMitmManager()) diff --git a/src/test/java/org/littleshoot/proxy/MitmProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmProxyTest.java index 5949f30b..537f7eca 100644 --- a/src/test/java/org/littleshoot/proxy/MitmProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmProxyTest.java @@ -28,7 +28,7 @@ public class MitmProxyTest extends BaseProxyTest { @Override protected void setUp() { - this.proxyServer = bootstrapProxy() + proxyServer = bootstrapProxy() .withPort(0) .withManInTheMiddle(new SelfSignedMitmManager()) .withFiltersSource(new HttpFiltersSourceAdapter() { diff --git a/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java b/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java index 131db19f..df853d1f 100644 --- a/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/MitmWithChainedProxyTest.java @@ -33,9 +33,9 @@ protected void setUp() { REQUESTS_SENT_BY_DOWNSTREAM.set(0); REQUESTS_RECEIVED_BY_UPSTREAM.set(0); TRANSPORTS_USED.clear(); - this.upstreamProxy = upstreamProxy().start(); + upstreamProxy = upstreamProxy().start(); - this.proxyServer = bootstrapProxy() + proxyServer = bootstrapProxy() .withPort(0) .withChainProxyManager(chainedProxyManager()) .plusActivityTracker(DOWNSTREAM_TRACKER) @@ -175,6 +175,6 @@ private void assertResponseFromFiltersMatchesActualResponse() { @Override protected void tearDown() { - this.upstreamProxy.abort(); + upstreamProxy.abort(); } } diff --git a/src/test/java/org/littleshoot/proxy/NoChainedProxiesTest.java b/src/test/java/org/littleshoot/proxy/NoChainedProxiesTest.java index 11cf3ce1..830004d4 100644 --- a/src/test/java/org/littleshoot/proxy/NoChainedProxiesTest.java +++ b/src/test/java/org/littleshoot/proxy/NoChainedProxiesTest.java @@ -8,7 +8,7 @@ public class NoChainedProxiesTest extends AbstractProxyTest { @Override protected void setUp() { - this.proxyServer = bootstrapProxy() + proxyServer = bootstrapProxy() .withPort(0) .withChainProxyManager((httpRequest, chainedProxies, clientDetails) -> { // Leave list empty diff --git a/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java b/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java index 74f9d616..ae918daf 100644 --- a/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java +++ b/src/test/java/org/littleshoot/proxy/ProxyHeadersTest.java @@ -65,7 +65,7 @@ public void testProxyRemovesConnectionHeadersFromServer() throws Exception { .withSuppressConnectionHeader(true)) ); - this.proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .start(); @@ -88,7 +88,7 @@ public void testProxyRemovesHopByHopHeadersFromClient() throws Exception { mockServer.when(expectedServerRequest, Times.exactly(1)) // .respond(response().withStatusCode(200).withBody("success")); - this.proxyServer = DefaultHttpProxyServer.bootstrap().withPort(0).start(); + proxyServer = DefaultHttpProxyServer.bootstrap().withPort(0).start(); try (CloseableHttpClient httpClient = TestUtils .createProxiedHttpClient(proxyServer.getListenAddress().getPort())) { diff --git a/src/test/java/org/littleshoot/proxy/SimpleProxyTest.java b/src/test/java/org/littleshoot/proxy/SimpleProxyTest.java index 3d0251ec..cdcb3871 100644 --- a/src/test/java/org/littleshoot/proxy/SimpleProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/SimpleProxyTest.java @@ -6,7 +6,7 @@ public class SimpleProxyTest extends BaseProxyTest { @Override protected void setUp() { - this.proxyServer = bootstrapProxy() + proxyServer = bootstrapProxy() .withPort(0) .start(); } diff --git a/src/test/java/org/littleshoot/proxy/TimeoutTest.java b/src/test/java/org/littleshoot/proxy/TimeoutTest.java index 6477a8ed..f841f349 100644 --- a/src/test/java/org/littleshoot/proxy/TimeoutTest.java +++ b/src/test/java/org/littleshoot/proxy/TimeoutTest.java @@ -110,7 +110,7 @@ public void testConnectionTimeout() throws Exception { */ @Test public void testClientIdleBeforeRequestReceived() throws IOException, InterruptedException { - this.proxyServer = DefaultHttpProxyServer.bootstrap() + proxyServer = DefaultHttpProxyServer.bootstrap() .withPort(0) .withIdleConnectionTimeout(1) .start(); diff --git a/src/test/java/org/littleshoot/proxy/UsernamePasswordAuthenticatingProxyTest.java b/src/test/java/org/littleshoot/proxy/UsernamePasswordAuthenticatingProxyTest.java index f3c704ae..905744fc 100644 --- a/src/test/java/org/littleshoot/proxy/UsernamePasswordAuthenticatingProxyTest.java +++ b/src/test/java/org/littleshoot/proxy/UsernamePasswordAuthenticatingProxyTest.java @@ -7,7 +7,7 @@ public class UsernamePasswordAuthenticatingProxyTest extends BaseProxyTest implements ProxyAuthenticator { @Override protected void setUp() { - this.proxyServer = bootstrapProxy() + proxyServer = bootstrapProxy() .withPort(0) .withProxyAuthenticator(this) .start(); diff --git a/src/test/java/org/littleshoot/proxy/haproxy/ProxyProtocolServerHandler.java b/src/test/java/org/littleshoot/proxy/haproxy/ProxyProtocolServerHandler.java index eec2e72d..55da4fbe 100644 --- a/src/test/java/org/littleshoot/proxy/haproxy/ProxyProtocolServerHandler.java +++ b/src/test/java/org/littleshoot/proxy/haproxy/ProxyProtocolServerHandler.java @@ -11,7 +11,7 @@ public class ProxyProtocolServerHandler extends ChannelInboundHandlerAdapter { @Override public void channelRead(ChannelHandlerContext ctx, Object msg) { if ( msg instanceof HAProxyMessage){ - this.haProxyMessage = (HAProxyMessage) msg; + haProxyMessage = (HAProxyMessage) msg; } } From 77b7331299909ccf9b1aa06f6192ded37885e7f4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Feb 2024 00:43:16 +0000 Subject: [PATCH 369/973] Bump slf4j.version from 2.0.11 to 2.0.12 Bumps `slf4j.version` from 2.0.11 to 2.0.12. Updates `org.slf4j:slf4j-reload4j` from 2.0.11 to 2.0.12 Updates `org.slf4j:slf4j-api` from 2.0.11 to 2.0.12 --- updated-dependencies: - dependency-name: org.slf4j:slf4j-reload4j dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.slf4j:slf4j-api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2a257b05..6c291051 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ UTF-8 github 4.1.106.Final - 2.0.11 + 2.0.12 11 From 19c0f7d603ceb19573aee910423730398f0af791 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Mon, 5 Feb 2024 22:19:37 +0200 Subject: [PATCH 370/973] add IDEA run configuration for tests --- .run/tests.run.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .run/tests.run.xml diff --git a/.run/tests.run.xml b/.run/tests.run.xml new file mode 100644 index 00000000..7aafd8d9 --- /dev/null +++ b/.run/tests.run.xml @@ -0,0 +1,13 @@ + + + +