aboutsummaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorCecylia Bocovich <cohosh@torproject.org>2021-03-08 22:16:33 -0500
committerCecylia Bocovich <cohosh@torproject.org>2021-03-18 22:05:40 -0400
commitc0b6e082f2f30cbeca962937ea5a777b98cf3ebb (patch)
tree0f6dabba62ecca9781d7c158571823fdaa6feafb /server
parent720d2b8eb7be9e2a41126624083054a66017d452 (diff)
downloadsnowflake-c0b6e082f2f30cbeca962937ea5a777b98cf3ebb.tar.gz
snowflake-c0b6e082f2f30cbeca962937ea5a777b98cf3ebb.zip
Don't log errors from callng close on OR conns
Snowflake copies data between the OR connection and the KCP stream, meaning that in most cases the copy loops will only terminate once the OR connection times out. In this case the OR connection is already closed and so calls to CloseRead and CloseWrite will generate errors.
Diffstat (limited to 'server')
-rw-r--r--server/server.go8
1 files changed, 2 insertions, 6 deletions
diff --git a/server/server.go b/server/server.go
index b3fa04a..620cd50 100644
--- a/server/server.go
+++ b/server/server.go
@@ -76,9 +76,7 @@ func proxy(local *net.TCPConn, conn net.Conn) {
if _, err := io.Copy(conn, local); err != nil && err != io.ErrClosedPipe {
log.Printf("error copying ORPort to WebSocket %v", err)
}
- if err := local.CloseRead(); err != nil {
- log.Printf("error closing read after copying ORPort to WebSocket %v", err)
- }
+ local.CloseRead()
conn.Close()
wg.Done()
}()
@@ -86,9 +84,7 @@ func proxy(local *net.TCPConn, conn net.Conn) {
if _, err := io.Copy(local, conn); err != nil && err != io.ErrClosedPipe {
log.Printf("error copying WebSocket to ORPort %v", err)
}
- if err := local.CloseWrite(); err != nil {
- log.Printf("error closing write after copying WebSocket to ORPort %v", err)
- }
+ local.CloseWrite()
conn.Close()
wg.Done()
}()