Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
briar
briar
Commits
d17669f1
Unverified
Commit
d17669f1
authored
Apr 11, 2017
by
akwizgran
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Increase socket timeout for Tor sockets.
parent
9755cd9a
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
18 additions
and
11 deletions
+18
-11
bramble-api/src/main/java/org/briarproject/bramble/api/plugin/TorConstants.java
...ava/org/briarproject/bramble/api/plugin/TorConstants.java
+1
-0
bramble-core/src/main/java/org/briarproject/bramble/socks/SocksModule.java
...main/java/org/briarproject/bramble/socks/SocksModule.java
+3
-1
bramble-core/src/main/java/org/briarproject/bramble/socks/SocksSocket.java
...main/java/org/briarproject/bramble/socks/SocksSocket.java
+9
-7
bramble-core/src/main/java/org/briarproject/bramble/socks/SocksSocketFactory.java
...va/org/briarproject/bramble/socks/SocksSocketFactory.java
+5
-3
No files found.
bramble-api/src/main/java/org/briarproject/bramble/api/plugin/TorConstants.java
View file @
d17669f1
...
...
@@ -8,6 +8,7 @@ public interface TorConstants {
int
CONTROL_PORT
=
59051
;
int
CONNECT_TO_PROXY_TIMEOUT
=
5000
;
// Milliseconds
int
EXTRA_SOCKET_TIMEOUT
=
30000
;
// Milliseconds
String
PREF_TOR_NETWORK
=
"network"
;
String
PREF_TOR_PORT
=
"port"
;
...
...
bramble-core/src/main/java/org/briarproject/bramble/socks/SocksModule.java
View file @
d17669f1
...
...
@@ -8,6 +8,7 @@ import dagger.Module;
import
dagger.Provides
;
import
static
org
.
briarproject
.
bramble
.
api
.
plugin
.
TorConstants
.
CONNECT_TO_PROXY_TIMEOUT
;
import
static
org
.
briarproject
.
bramble
.
api
.
plugin
.
TorConstants
.
EXTRA_SOCKET_TIMEOUT
;
import
static
org
.
briarproject
.
bramble
.
api
.
plugin
.
TorConstants
.
SOCKS_PORT
;
@Module
...
...
@@ -17,6 +18,7 @@ public class SocksModule {
SocketFactory
provideTorSocketFactory
()
{
InetSocketAddress
proxy
=
new
InetSocketAddress
(
"127.0.0.1"
,
SOCKS_PORT
);
return
new
SocksSocketFactory
(
proxy
,
CONNECT_TO_PROXY_TIMEOUT
);
return
new
SocksSocketFactory
(
proxy
,
CONNECT_TO_PROXY_TIMEOUT
,
EXTRA_SOCKET_TIMEOUT
);
}
}
bramble-core/src/main/java/org/briarproject/bramble/socks/SocksSocket.java
View file @
d17669f1
...
...
@@ -29,11 +29,13 @@ class SocksSocket extends Socket {
private
static
final
byte
[]
UNSPECIFIED_ADDRESS
=
new
byte
[
4
];
private
final
SocketAddress
proxy
;
private
final
int
connectToProxyTimeout
;
private
final
int
connectToProxyTimeout
,
extraSocketTimeout
;
SocksSocket
(
SocketAddress
proxy
,
int
connectToProxyTimeout
)
{
SocksSocket
(
SocketAddress
proxy
,
int
connectToProxyTimeout
,
int
extraSocketTimeout
)
{
this
.
proxy
=
proxy
;
this
.
connectToProxyTimeout
=
connectToProxyTimeout
;
this
.
extraSocketTimeout
=
extraSocketTimeout
;
}
@Override
...
...
@@ -47,7 +49,7 @@ class SocksSocket extends Socket {
InetAddress
address
=
inet
.
getAddress
();
if
(
address
!=
null
&&
!
Arrays
.
equals
(
address
.
getAddress
(),
UNSPECIFIED_ADDRESS
))
{
throw
new
IllegalArgumentException
();
throw
new
IllegalArgumentException
();
}
String
host
=
inet
.
getHostName
();
if
(
host
.
length
()
>
255
)
throw
new
IllegalArgumentException
();
...
...
@@ -62,16 +64,16 @@ class SocksSocket extends Socket {
sendMethodRequest
(
out
);
receiveMethodResponse
(
in
);
// Use the supplied timeout temporarily
// Use the supplied timeout temporarily
, plus any configured extra
int
oldTimeout
=
getSoTimeout
();
setSoTimeout
(
timeout
);
setSoTimeout
(
timeout
+
extraSocketTimeout
);
// Connect to the endpoint via the proxy
sendConnectRequest
(
out
,
host
,
port
);
receiveConnectResponse
(
in
);
// Restore the old timeout
setSoTimeout
(
oldTimeout
);
// Restore the old timeout
, plus any configured extra
setSoTimeout
(
oldTimeout
+
extraSocketTimeout
);
}
private
void
sendMethodRequest
(
OutputStream
out
)
throws
IOException
{
...
...
bramble-core/src/main/java/org/briarproject/bramble/socks/SocksSocketFactory.java
View file @
d17669f1
...
...
@@ -11,16 +11,18 @@ import javax.net.SocketFactory;
class
SocksSocketFactory
extends
SocketFactory
{
private
final
SocketAddress
proxy
;
private
final
int
connectToProxyTimeout
;
private
final
int
connectToProxyTimeout
,
extraSocketTimeout
;
SocksSocketFactory
(
SocketAddress
proxy
,
int
connectToProxyTimeout
)
{
SocksSocketFactory
(
SocketAddress
proxy
,
int
connectToProxyTimeout
,
int
extraSocketTimeout
)
{
this
.
proxy
=
proxy
;
this
.
connectToProxyTimeout
=
connectToProxyTimeout
;
this
.
extraSocketTimeout
=
extraSocketTimeout
;
}
@Override
public
Socket
createSocket
()
{
return
new
SocksSocket
(
proxy
,
connectToProxyTimeout
);
return
new
SocksSocket
(
proxy
,
connectToProxyTimeout
,
extraSocketTimeout
);
}
@Override
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment