From: Nick Mathewson Date: Tue, 4 Aug 2009 16:30:53 +0000 (-0700) Subject: Have edge connections use fetch_from_evbuffer_socks when appropriate. X-Git-Tag: tor-0.2.3.1-alpha~362^2~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=73feedb8b323e71124382708b6787ab1fdec25b9;p=thirdparty%2Ftor.git Have edge connections use fetch_from_evbuffer_socks when appropriate. --- diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index 03aded388d..1488f5a894 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -1895,8 +1895,14 @@ connection_ap_handshake_process_socks(edge_connection_t *conn) log_debug(LD_APP,"entered."); - sockshere = fetch_from_buf_socks(conn->_base.inbuf, socks, - options->TestSocks, options->SafeSocks); + IF_HAS_BUFFEREVENT(TO_CONN(conn), { + struct evbuffer *input = bufferevent_get_input(conn->_base.bufev); + sockshere = fetch_from_evbuffer_socks(input, socks, + options->TestSocks, options->SafeSocks); + }) ELSE_IF_NO_BUFFEREVENT { + sockshere = fetch_from_buf_socks(conn->_base.inbuf, socks, + options->TestSocks, options->SafeSocks); + }; if (sockshere == 0) { if (socks->replylen) { connection_write_to_buf(socks->reply, socks->replylen, TO_CONN(conn));