[tor-commits] [obfsproxy/master] Don't enable bufferevent reads/writes before connecting.

asn at torproject.org asn at torproject.org
Tue Apr 17 13:34:16 UTC 2012


commit 3d77ba8fdac6ba252d9501fce0021cfdec4ce8ae
Author: George Kadianakis <desnacked at riseup.net>
Date:   Mon Apr 9 17:04:01 2012 +0200

    Don't enable bufferevent reads/writes before connecting.
    
    This caused an assertion failure when we connected to a SOCKS
    destination. We didn't call pending_socks_cb(), and instead went
    directly to downstream_read_cb() which asserted that
    'circuit_t.is_open' is true.
    
    We now only call bufferevent_enable() on the bufferevent in
    pending_socks_cb() when we finally connect to our SOCKS destination.
---
 ChangeLog     |    5 +++++
 src/network.c |    1 -
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2a7605c..b2722d4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Changes in version 0.1.4 - <not yet released>
+ - Fix assertion failure when connecting to a SOCKS destination. Fixes
+   bug #5586.
+
+
 Changes in version 0.1.3 - 2012-04-03
  - Display git revision when we start logging. Fixes part of bug
    #5157.
diff --git a/src/network.c b/src/network.c
index 1d73249..6efa722 100644
--- a/src/network.c
+++ b/src/network.c
@@ -648,7 +648,6 @@ socks_read_cb(struct bufferevent *bev, void *arg)
       }
 
       bufferevent_setcb(newconn->buffer, downstream_read_cb, NULL, pending_socks_cb, newconn);
-      bufferevent_enable(newconn->buffer, EV_READ|EV_WRITE);
 
       /* further upstream data will be processed once the downstream
          side is established */





More information about the tor-commits mailing list