[or-cvs] [tor/master 10/38] Have edge connections use fetch_from_evbuffer_socks when appropriate.

nickm at torproject.org nickm at torproject.org
Mon Sep 27 20:50:59 UTC 2010


Author: Nick Mathewson <nickm at torproject.org>
Date: Tue, 4 Aug 2009 09:30:53 -0700
Subject: Have edge connections use fetch_from_evbuffer_socks when appropriate.
Commit: 73feedb8b323e71124382708b6787ab1fdec25b9

---
 src/or/connection_edge.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index 03aded3..1488f5a 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));
-- 
1.7.1




More information about the tor-commits mailing list