summaryrefslogtreecommitdiff
path: root/transports/obfs3/obfs3.go
diff options
context:
space:
mode:
Diffstat (limited to 'transports/obfs3/obfs3.go')
-rw-r--r--transports/obfs3/obfs3.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/transports/obfs3/obfs3.go b/transports/obfs3/obfs3.go
index d215c49..e4c3ba6 100644
--- a/transports/obfs3/obfs3.go
+++ b/transports/obfs3/obfs3.go
@@ -92,8 +92,16 @@ func (cf *obfs3ClientFactory) ParseArgs(args *pt.Args) (interface{}, error) {
return nil, nil
}
-func (cf *obfs3ClientFactory) WrapConn(conn net.Conn, args interface{}) (net.Conn, error) {
- return newObfs3ClientConn(conn)
+func (cf *obfs3ClientFactory) Dial(network, addr string, dialFn base.DialFunc, args interface{}) (net.Conn, error) {
+ conn, err := dialFn(network, addr)
+ if err != nil {
+ return nil, err
+ }
+ if conn, err = newObfs3ClientConn(conn); err != nil {
+ conn.Close()
+ return nil, err
+ }
+ return conn, nil
}
type obfs3ServerFactory struct {