@Override public void handleEvent(StreamConnection streamConnection) { streamConnection.getSourceChannel().setReadListener(new ProxyProtocolReadListener(streamConnection, openListener, ssl, bufferPool, sslOptionMap)); streamConnection.getSourceChannel().wakeupReads(); } }
private void proxyAccept(SocketAddress source, SocketAddress dest, PooledByteBuffer additionalData) { StreamConnection streamConnection = this.streamConnection; if (source != null) { streamConnection = new AddressWrappedConnection(streamConnection, source, dest); } if (ssl != null) { //we need to apply the additional data before the SSL wrapping if (additionalData != null) { PushBackStreamSourceConduit conduit = new PushBackStreamSourceConduit(streamConnection.getSourceChannel().getConduit()); conduit.pushBack(new PooledAdaptor(additionalData)); streamConnection.getSourceChannel().setConduit(conduit); } SslConnection sslConnection = ssl.wrapExistingConnection(streamConnection, sslOptionMap == null ? OptionMap.EMPTY : sslOptionMap, false); streamConnection = sslConnection; callOpenListener(streamConnection, null); } else { callOpenListener(streamConnection, additionalData); } }
proxyAccept(null, null, buffer); } else { proxyAccept(null, null, null); if (buffer.getBuffer().hasRemaining()) { freeBuffer.set(false); proxyAccept(s, d, buffer); } else { proxyAccept(s, d, null); sourceAddress = parseAddress(stringBuilder.toString(), protocol); stringBuilder.setLength(0); } else if (destAddress == null) { destAddress = parseAddress(stringBuilder.toString(), protocol); stringBuilder.setLength(0); } else {
byteCount++; if (firstByte == SIG[0]) { // Could be Proxy Protocol V2 parseProxyProtocolV2(buffer, freeBuffer); } else if ((char) firstByte == NAME[0]){ // Could be Proxy Protocol V1 parseProxyProtocolV1(buffer, freeBuffer); } else { throw UndertowMessages.MESSAGES.invalidProxyHeader();
proxyAccept(null, null, buffer); } else { proxyAccept(null, null, null); if (buffer.getBuffer().hasRemaining()) { freeBuffer.set(false); proxyAccept(s, d, buffer); } else { proxyAccept(s, d, null);
byteCount++; if (firstByte == SIG[0]) { // Could be Proxy Protocol V2 parseProxyProtocolV2(buffer, freeBuffer); } else if ((char) firstByte == NAME[0]){ // Could be Proxy Protocol V1 parseProxyProtocolV1(buffer, freeBuffer); } else { throw UndertowMessages.MESSAGES.invalidProxyHeader();
proxyAccept(null, null, buffer); } else { proxyAccept(null, null, null); if (buffer.getBuffer().hasRemaining()) { freeBuffer.set(false); proxyAccept(s, d, buffer); } else { proxyAccept(s, d, null);
proxyAccept(null, null, buffer); } else { proxyAccept(null, null, null); if (buffer.getBuffer().hasRemaining()) { freeBuffer.set(false); proxyAccept(s, d, buffer); } else { proxyAccept(s, d, null); sourceAddress = parseAddress(stringBuilder.toString(), protocol); stringBuilder.setLength(0); } else if (destAddress == null) { destAddress = parseAddress(stringBuilder.toString(), protocol); stringBuilder.setLength(0); } else {
@Override public void handleEvent(StreamConnection streamConnection) { streamConnection.getSourceChannel().setReadListener(new ProxyProtocolReadListener(streamConnection, openListener, ssl, bufferPool, sslOptionMap)); streamConnection.getSourceChannel().wakeupReads(); } }
private void proxyAccept(SocketAddress source, SocketAddress dest, PooledByteBuffer additionalData) { StreamConnection streamConnection = this.streamConnection; if (source != null) { streamConnection = new AddressWrappedConnection(streamConnection, source, dest); } if (ssl != null) { //we need to apply the additional data before the SSL wrapping if (additionalData != null) { PushBackStreamSourceConduit conduit = new PushBackStreamSourceConduit(streamConnection.getSourceChannel().getConduit()); conduit.pushBack(new PooledAdaptor(additionalData)); streamConnection.getSourceChannel().setConduit(conduit); } SslConnection sslConnection = ssl.wrapExistingConnection(streamConnection, sslOptionMap == null ? OptionMap.EMPTY : sslOptionMap, false); streamConnection = sslConnection; callOpenListener(streamConnection, null); } else { callOpenListener(streamConnection, additionalData); } }
proxyAccept(null, null, buffer); } else { proxyAccept(null, null, null); if (buffer.getBuffer().hasRemaining()) { freeBuffer = false; proxyAccept(s, d, buffer); } else { proxyAccept(s, d, null); sourceAddress = parseAddress(stringBuilder.toString(), protocol); stringBuilder.setLength(0); } else if (destAddress == null) { destAddress = parseAddress(stringBuilder.toString(), protocol); stringBuilder.setLength(0); } else {
@Override public void handleEvent(StreamConnection streamConnection) { streamConnection.getSourceChannel().setReadListener(new ProxyProtocolReadListener(streamConnection, openListener, ssl, bufferPool, sslOptionMap)); streamConnection.getSourceChannel().wakeupReads(); } }
private void proxyAccept(SocketAddress source, SocketAddress dest, PooledByteBuffer additionalData) { StreamConnection streamConnection = this.streamConnection; if (source != null) { streamConnection = new AddressWrappedConnection(streamConnection, source, dest); } if (ssl != null) { //we need to apply the additional data before the SSL wrapping if (additionalData != null) { PushBackStreamSourceConduit conduit = new PushBackStreamSourceConduit(streamConnection.getSourceChannel().getConduit()); conduit.pushBack(new PooledAdaptor(additionalData)); streamConnection.getSourceChannel().setConduit(conduit); } SslConnection sslConnection = ssl.wrapExistingConnection(streamConnection, sslOptionMap == null ? OptionMap.EMPTY : sslOptionMap, false); streamConnection = sslConnection; callOpenListener(streamConnection, null); } else { callOpenListener(streamConnection, additionalData); } }