-
Feature Request
-
Resolution: Done
-
Minor
-
1.4.18.Final
-
None
-
None
This is a follow up to https://issues.jboss.org/browse/UNDERTOW-696.
Problem
If x-forwarded-port is '-1', it passes the fix for UNDERTOW-696 but fails with following stacktrace:
java.lang.IllegalArgumentException: port out of range:-1 at java.net.InetSocketAddress.checkPort(InetSocketAddress.java:143) at java.net.InetSocketAddress.createUnresolved(InetSocketAddress.java:254) at io.undertow.server.handlers.ProxyPeerAddressHandler.handleRequest(ProxyPeerAddressHandler.java:80) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202) at io.undertow.server.protocol.http.HttpReadListener.handleEventWithNoRunningRequest(HttpReadListener.java:232) at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:130) at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:56) at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66) at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:88) at org.xnio.nio.WorkerThread.run(WorkerThread.java:559)
Expected behaviour
Ignore the port if it is less than 1. Check should probably happen in https://github.com/undertow-io/undertow/blob/3886f03939dea528529ea1a78b2e476de18cd695/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java#L102