AddressWrappedConnection(StreamConnection delegate, SocketAddress source, SocketAddress dest) { super(delegate.getIoThread()); this.delegate = delegate; this.source = source; this.dest = dest; setSinkConduit(delegate.getSinkChannel().getConduit()); setSourceConduit(delegate.getSourceChannel().getConduit()); }
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); } }
@Override public void handleEvent(StreamConnection streamConnection) { streamConnection.getSourceChannel().setReadListener(new ProxyProtocolReadListener(streamConnection, openListener, ssl, bufferPool, sslOptionMap)); streamConnection.getSourceChannel().wakeupReads(); } }
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 {
if(proxyProtocol) { UndertowXnioSsl xnioSsl = getSsl(); acceptListener = ChannelListeners.openListenerAdapter(new ProxyProtocolOpenListener(openListener, xnioSsl, bufferPool.getValue(), xnioSsl != null ? getSSLOptions(xnioSsl.getSslContext()) : null)); } else { acceptListener = ChannelListeners.openListenerAdapter(openListener);
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);
AddressWrappedConnection(StreamConnection delegate, SocketAddress source, SocketAddress dest) { super(delegate.getIoThread()); this.delegate = delegate; this.source = source; this.dest = dest; setSinkConduit(delegate.getSinkChannel().getConduit()); setSourceConduit(delegate.getSourceChannel().getConduit()); }
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 {
finalListener = new ProxyProtocolOpenListener(openListener, null, buffers, OptionMap.EMPTY); } else { finalListener = openListener; final ChannelListener<StreamConnection> finalListener; if (listener.useProxyProtocol) { finalListener = new ProxyProtocolOpenListener(openListener, null, buffers, OptionMap.EMPTY); } else { finalListener = openListener; ChannelListener<AcceptingChannel<StreamConnection>> acceptListener = ChannelListeners.openListenerAdapter(new ProxyProtocolOpenListener(openListener, xnioSsl, buffers, socketOptionsWithOverrides)); sslServer = worker.createStreamConnectionServer(new InetSocketAddress(Inet4Address.getByName(listener.host), listener.port), (ChannelListener) acceptListener, socketOptionsWithOverrides); } 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();
@Override public void handleEvent(StreamConnection streamConnection) { streamConnection.getSourceChannel().setReadListener(new ProxyProtocolReadListener(streamConnection, openListener, ssl, bufferPool, sslOptionMap)); streamConnection.getSourceChannel().wakeupReads(); } }
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);
AddressWrappedConnection(StreamConnection delegate, SocketAddress source, SocketAddress dest) { super(delegate.getIoThread()); this.delegate = delegate; this.source = source; this.dest = dest; setSinkConduit(delegate.getSinkChannel().getConduit()); setSourceConduit(delegate.getSourceChannel().getConduit()); }
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 {
if(proxyProtocol) { UndertowXnioSsl xnioSsl = getSsl(); acceptListener = ChannelListeners.openListenerAdapter(new ProxyProtocolOpenListener(openListener, xnioSsl, bufferPool.getValue(), xnioSsl != null ? getSSLOptions(xnioSsl.getSslContext()) : null)); } else { acceptListener = ChannelListeners.openListenerAdapter(openListener);
@Override public void handleEvent(StreamConnection streamConnection) { streamConnection.getSourceChannel().setReadListener(new ProxyProtocolReadListener(streamConnection, openListener, ssl, bufferPool, sslOptionMap)); streamConnection.getSourceChannel().wakeupReads(); } }
if(proxyProtocol) { UndertowXnioSsl xnioSsl = getSsl(); acceptListener = ChannelListeners.openListenerAdapter(new ProxyProtocolOpenListener(openListener, xnioSsl, bufferPool.getValue(), xnioSsl != null ? getSSLOptions(xnioSsl.getSslContext()) : null)); } else { acceptListener = ChannelListeners.openListenerAdapter(openListener);