Class Socks5ClientConnector
java.lang.Object
org.eclipse.jgit.internal.transport.sshd.proxy.AbstractClientProxyConnector
org.eclipse.jgit.internal.transport.sshd.proxy.Socks5ClientConnector
- All Implemented Interfaces:
org.apache.sshd.client.session.ClientProxyConnector
,StatefulProxyConnector
A
AbstractClientProxyConnector
to connect through a SOCKS5 proxy.- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static enum
private static enum
Authentication methods for SOCKS5.private class
private class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate byte[]
private AuthenticationHandler
<org.apache.sshd.common.util.buffer.Buffer, org.apache.sshd.common.util.buffer.Buffer> private GSSContext
private static final byte
private static final byte
private static final byte
private static final byte
private static final byte
private static final byte
private static final byte
private static final byte
private static final byte
private static final byte
private static final byte
private static final byte
private static final byte
private static final byte
Fields inherited from class org.eclipse.jgit.internal.transport.sshd.proxy.AbstractClientProxyConnector
proxyAddress, proxyPassword, proxyUser, remoteAddress
Fields inherited from interface org.eclipse.jgit.internal.transport.sshd.proxy.StatefulProxyConnector
TIMEOUT_PROPERTY
-
Constructor Summary
ConstructorsConstructorDescriptionSocks5ClientConnector
(InetSocketAddress proxyAddress, InetSocketAddress remoteAddress) Creates a newSocks5ClientConnector
.Socks5ClientConnector
(InetSocketAddress proxyAddress, InetSocketAddress remoteAddress, String proxyUser, char[] proxyPassword) Creates a newSocks5ClientConnector
. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
authStep
(org.apache.sshd.common.io.IoSession session, org.apache.sshd.common.util.buffer.Buffer input) private void
close()
private void
doGssApiAuth
(org.apache.sshd.common.io.IoSession session) private void
doPasswordAuth
(org.apache.sshd.common.io.IoSession session) private void
establishConnection
(org.apache.sshd.common.util.buffer.Buffer data) private byte[]
getAuthMethod
(byte value) private static GSSContext
getGSSContext
(InetSocketAddress address) private static byte[]
getRawAddress
(InetSocketAddress address) void
messageReceived
(org.apache.sshd.common.io.IoSession session, org.apache.sshd.common.util.Readable buffer) Handle a received message.void
sendClientProxyMetadata
(org.apache.sshd.client.session.ClientSession sshSession) private void
sendConnectInfo
(org.apache.sshd.common.io.IoSession session) private void
startAuth
(org.apache.sshd.common.io.IoSession session) private void
versionCheck
(byte version) Methods inherited from class org.eclipse.jgit.internal.transport.sshd.proxy.AbstractClientProxyConnector
adjustTimeout, clearPassword, getTimeout, init, runWhenDone, setDone
-
Field Details
-
SOCKS_VERSION_5
private static final byte SOCKS_VERSION_5- See Also:
-
SOCKS_CMD_CONNECT
private static final byte SOCKS_CMD_CONNECT- See Also:
-
SOCKS_ADDRESS_IPv4
private static final byte SOCKS_ADDRESS_IPv4- See Also:
-
SOCKS_ADDRESS_FQDN
private static final byte SOCKS_ADDRESS_FQDN- See Also:
-
SOCKS_ADDRESS_IPv6
private static final byte SOCKS_ADDRESS_IPv6- See Also:
-
SOCKS_REPLY_SUCCESS
private static final byte SOCKS_REPLY_SUCCESS- See Also:
-
SOCKS_REPLY_FAILURE
private static final byte SOCKS_REPLY_FAILURE- See Also:
-
SOCKS_REPLY_FORBIDDEN
private static final byte SOCKS_REPLY_FORBIDDEN- See Also:
-
SOCKS_REPLY_NETWORK_UNREACHABLE
private static final byte SOCKS_REPLY_NETWORK_UNREACHABLE- See Also:
-
SOCKS_REPLY_HOST_UNREACHABLE
private static final byte SOCKS_REPLY_HOST_UNREACHABLE- See Also:
-
SOCKS_REPLY_CONNECTION_REFUSED
private static final byte SOCKS_REPLY_CONNECTION_REFUSED- See Also:
-
SOCKS_REPLY_TTL_EXPIRED
private static final byte SOCKS_REPLY_TTL_EXPIRED- See Also:
-
SOCKS_REPLY_COMMAND_UNSUPPORTED
private static final byte SOCKS_REPLY_COMMAND_UNSUPPORTED- See Also:
-
SOCKS_REPLY_ADDRESS_UNSUPPORTED
private static final byte SOCKS_REPLY_ADDRESS_UNSUPPORTED- See Also:
-
state
-
authenticator
private AuthenticationHandler<org.apache.sshd.common.util.buffer.Buffer,org.apache.sshd.common.util.buffer.Buffer> authenticator -
context
-
authenticationProposals
private byte[] authenticationProposals
-
-
Constructor Details
-
Socks5ClientConnector
public Socks5ClientConnector(@NonNull InetSocketAddress proxyAddress, @NonNull InetSocketAddress remoteAddress) Creates a newSocks5ClientConnector
. The connector supports anonymous connections as well as username-password or Kerberos5 (GSS-API) authentication.- Parameters:
proxyAddress
- of the proxy server we're connecting toremoteAddress
- of the target server to connect to
-
Socks5ClientConnector
public Socks5ClientConnector(@NonNull InetSocketAddress proxyAddress, @NonNull InetSocketAddress remoteAddress, String proxyUser, char[] proxyPassword) Creates a newSocks5ClientConnector
. The connector supports anonymous connections as well as username-password or Kerberos5 (GSS-API) authentication.- Parameters:
proxyAddress
- of the proxy server we're connecting toremoteAddress
- of the target server to connect toproxyUser
- to authenticate at the proxy withproxyPassword
- to authenticate at the proxy with
-
-
Method Details
-
sendClientProxyMetadata
public void sendClientProxyMetadata(org.apache.sshd.client.session.ClientSession sshSession) throws Exception - Throws:
Exception
-
getAuthenticationProposals
private byte[] getAuthenticationProposals() -
sendConnectInfo
- Throws:
Exception
-
doPasswordAuth
- Throws:
Exception
-
doGssApiAuth
- Throws:
Exception
-
close
private void close() -
startAuth
- Throws:
Exception
-
authStep
private void authStep(org.apache.sshd.common.io.IoSession session, org.apache.sshd.common.util.buffer.Buffer input) throws Exception - Throws:
Exception
-
establishConnection
- Throws:
Exception
-
messageReceived
public void messageReceived(org.apache.sshd.common.io.IoSession session, org.apache.sshd.common.util.Readable buffer) throws Exception Description copied from interface:StatefulProxyConnector
Handle a received message.- Parameters:
session
- to use for writing databuffer
- received data- Throws:
Exception
- if data cannot be read, or the connection attempt fails
-
versionCheck
- Throws:
Exception
-
getAuthMethod
-
getRawAddress
-
getGSSContext
-