public class SVNSocketFactory
extends java.lang.Object
SVNSocketFactory
is a utility class that represents a custom
socket factory which provides creating either a plain socket or a secure one
to encrypt data transmitted over network.
The created socket then used by the inner engine of SVNKit library to communicate with a Subversion repository.
Modifier and Type | Field and Description |
---|---|
private static javax.net.ssl.KeyManager[] |
EMPTY_KEY_MANAGERS |
private static javax.net.ssl.X509TrustManager |
EMPTY_TRUST_MANAGER |
private static boolean |
ourIsSocketStaleCheck |
private static int |
ourSocketReceiveBufferSize |
private static java.lang.String |
ourSSLProtocols |
private static ISVNThreadPool |
ourThreadPool |
Constructor and Description |
---|
SVNSocketFactory() |
Modifier and Type | Method and Description |
---|---|
private static java.net.Socket |
_createSSLSocket(javax.net.ssl.KeyManager[] keyManagers,
javax.net.ssl.TrustManager trustManager,
java.lang.String host,
int port,
int connectTimeout,
int readTimeout,
ISVNCanceller cancel,
boolean withSNIsupport) |
static java.net.Socket |
configureSSLSocket(java.net.Socket socket) |
static void |
connect(java.net.Socket socket,
java.net.InetSocketAddress address,
int timeout,
ISVNCanceller cancel) |
private static java.net.InetAddress |
createAddres(java.lang.String hostName) |
static java.net.Socket |
createPlainSocket(java.lang.String host,
int port,
int connectTimeout,
int readTimeout,
ISVNCanceller cancel) |
static javax.net.ssl.SSLContext |
createSSLContext(javax.net.ssl.KeyManager[] keyManagers,
javax.net.ssl.TrustManager trustManager) |
private static javax.net.ssl.SSLContext |
createSSLContext(javax.net.ssl.KeyManager[] keyManagers,
javax.net.ssl.TrustManager[] trustManagers,
java.util.List<java.lang.String> sslProtocols) |
static java.net.Socket |
createSSLSocket(javax.net.ssl.KeyManager[] keyManagers,
javax.net.ssl.TrustManager trustManager,
java.lang.String host,
int port,
int connectTimeout,
int readTimeout,
ISVNCanceller cancel) |
static java.net.Socket |
createSSLSocket(javax.net.ssl.KeyManager[] keyManagers,
javax.net.ssl.TrustManager trustManager,
java.lang.String host,
int port,
java.net.Socket socket,
int readTimeout) |
private static java.util.List<java.lang.String> |
getEnabledSSLProtocols(boolean includeUserDefined) |
static int |
getSocketReceiveBufferSize() |
static java.lang.String |
getSSLProtocols() |
static ISVNThreadPool |
getThreadPool() |
static boolean |
isSocketStale(java.net.Socket socket) |
static boolean |
isSocketStaleCheckEnabled() |
static void |
setSocketReceiveBufferSize(int size) |
static void |
setSocketStaleCheckEnabled(boolean enabled) |
static void |
setSSLProtocols(java.lang.String sslProtocols) |
private static java.net.Socket |
setSSLSocketHost(java.net.Socket sslSocket,
java.lang.String host) |
private static boolean ourIsSocketStaleCheck
private static int ourSocketReceiveBufferSize
private static ISVNThreadPool ourThreadPool
private static java.lang.String ourSSLProtocols
private static javax.net.ssl.X509TrustManager EMPTY_TRUST_MANAGER
private static javax.net.ssl.KeyManager[] EMPTY_KEY_MANAGERS
public static java.net.Socket createPlainSocket(java.lang.String host, int port, int connectTimeout, int readTimeout, ISVNCanceller cancel) throws java.io.IOException, SVNException
java.io.IOException
SVNException
public static void setSSLProtocols(java.lang.String sslProtocols)
public static java.lang.String getSSLProtocols()
public static java.net.Socket createSSLSocket(javax.net.ssl.KeyManager[] keyManagers, javax.net.ssl.TrustManager trustManager, java.lang.String host, int port, int connectTimeout, int readTimeout, ISVNCanceller cancel) throws java.io.IOException, SVNException
java.io.IOException
SVNException
private static java.net.Socket _createSSLSocket(javax.net.ssl.KeyManager[] keyManagers, javax.net.ssl.TrustManager trustManager, java.lang.String host, int port, int connectTimeout, int readTimeout, ISVNCanceller cancel, boolean withSNIsupport) throws java.io.IOException, SVNException
java.io.IOException
SVNException
public static java.net.Socket createSSLSocket(javax.net.ssl.KeyManager[] keyManagers, javax.net.ssl.TrustManager trustManager, java.lang.String host, int port, java.net.Socket socket, int readTimeout) throws java.io.IOException
java.io.IOException
private static java.net.Socket setSSLSocketHost(java.net.Socket sslSocket, java.lang.String host)
public static ISVNThreadPool getThreadPool()
public static void connect(java.net.Socket socket, java.net.InetSocketAddress address, int timeout, ISVNCanceller cancel) throws java.io.IOException, SVNException
java.io.IOException
SVNException
private static java.net.InetAddress createAddres(java.lang.String hostName) throws java.net.UnknownHostException
java.net.UnknownHostException
public static void setSocketReceiveBufferSize(int size)
public static int getSocketReceiveBufferSize()
public static void setSocketStaleCheckEnabled(boolean enabled)
public static boolean isSocketStaleCheckEnabled()
public static boolean isSocketStale(java.net.Socket socket) throws java.io.IOException
java.io.IOException
public static javax.net.ssl.SSLContext createSSLContext(javax.net.ssl.KeyManager[] keyManagers, javax.net.ssl.TrustManager trustManager) throws java.io.IOException
java.io.IOException
private static javax.net.ssl.SSLContext createSSLContext(javax.net.ssl.KeyManager[] keyManagers, javax.net.ssl.TrustManager[] trustManagers, java.util.List<java.lang.String> sslProtocols) throws java.io.IOException, java.security.NoSuchAlgorithmException
java.io.IOException
java.security.NoSuchAlgorithmException
private static final java.util.List<java.lang.String> getEnabledSSLProtocols(boolean includeUserDefined)
public static java.net.Socket configureSSLSocket(java.net.Socket socket)