[tor-commits] [snowflake/master] webRTCConn close as part of its reset, instead of depending on external deferred close after receiving reset channel, allows valid disconnections even before use
arlo at torproject.org
arlo at torproject.org
Tue Apr 5 17:29:43 UTC 2016
commit 1d1882b59db87a5e4ff7fabdc1ffff29908a2d44
Author: Serene Han <keroserene+git at gmail.com>
Date: Tue Mar 29 22:28:52 2016 -0700
webRTCConn close as part of its reset, instead of depending on external deferred close after receiving reset channel, allows valid disconnections even before use
---
client/snowflake.go | 3 +--
client/webrtc.go | 3 ++-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/client/snowflake.go b/client/snowflake.go
index 8f4a6bd..8a03148 100644
--- a/client/snowflake.go
+++ b/client/snowflake.go
@@ -21,7 +21,7 @@ import (
var ptInfo pt.ClientInfo
const (
- ReconnectTimeout = 5
+ ReconnectTimeout = 10
SnowflakeCapacity = 3
)
@@ -109,7 +109,6 @@ func handler(conn *pt.SocksConn) error {
conn.Reject()
return errors.New("handler: Received invalid Snowflake")
}
- defer remote.Close()
defer conn.Close()
log.Println("handler: Snowflake assigned.")
diff --git a/client/webrtc.go b/client/webrtc.go
index 2b907ad..5b30e95 100644
--- a/client/webrtc.go
+++ b/client/webrtc.go
@@ -291,13 +291,14 @@ func (c *webRTCConn) Reset() {
c.reset <- struct{}{}
log.Println("WebRTC resetting...")
}()
+ c.Close()
}
func (c *webRTCConn) cleanup() {
if nil != c.snowflake {
s := c.snowflake
log.Printf("WebRTC: closing DataChannel")
- // Setting snowflak to nil *before* Close indicates to OnClose that it
+ // Setting snowflake to nil *before* Close indicates to OnClose that it
// was locally triggered.
c.snowflake = nil
s.Close()
More information about the tor-commits
mailing list