diff options
author | Roger Dingledine <arma@torproject.org> | 2002-09-22 11:09:07 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2002-09-22 11:09:07 +0000 |
commit | 155c9b80cadc18715697dc24164dbdfc47b3cf77 (patch) | |
tree | cc2364cc0664ab237168781e97018720b89a0859 /src/or/connection_exit.c | |
parent | 8d1aa27c462848b5111b874a51469761ca659f0d (diff) | |
download | tor-155c9b80cadc18715697dc24164dbdfc47b3cf77.tar tor-155c9b80cadc18715697dc24164dbdfc47b3cf77.tar.gz |
onion proxy now speaks socks4a
httpap is obsolete; we support privoxy directly now!
smtpap is obsolete; need to find a good socks4a-enabled smtp proxy/client
I dub thee 0.0.1.
svn:r107
Diffstat (limited to 'src/or/connection_exit.c')
-rw-r--r-- | src/or/connection_exit.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/or/connection_exit.c b/src/or/connection_exit.c index 455e54462..c087ebf71 100644 --- a/src/or/connection_exit.c +++ b/src/or/connection_exit.c @@ -93,6 +93,7 @@ int connection_exit_process_data_cell(cell_t *cell, connection_t *conn) { switch(conn->state) { case EXIT_CONN_STATE_CONNECTING_WAIT: log(LOG_DEBUG,"connection_exit_process_data_cell(): state is connecting_wait. cell length %d.", cell->length); +#if 0 if(!conn->ss_received) { /* this cell contains the ss */ if(cell->length != sizeof(ss_t)) { log(LOG_DEBUG,"connection_exit_process_data_cell(): Supposed to contain SS but wrong size. Closing."); @@ -104,8 +105,10 @@ int connection_exit_process_data_cell(cell_t *cell, connection_t *conn) { return -1; } conn->ss_received = 1; - log(LOG_DEBUG,"connection_exit_process_data_cell(): SS received."); - } else if (!conn->addr) { /* this cell contains the dest addr */ + log(LOG_DEBUG,"connection_exit_process_data_cell(): SS received."); + } else +#endif + if (!conn->addr) { /* this cell contains the dest addr */ if(!memchr(cell->payload,0,cell->length)) { log(LOG_DEBUG,"connection_exit_process_data_cell(): dest_addr cell has no \\0. Closing."); return -1; @@ -117,7 +120,7 @@ int connection_exit_process_data_cell(cell_t *cell, connection_t *conn) { return -1; } memcpy(&conn->addr, rent->h_addr,rent->h_length); - log(LOG_DEBUG,"connection_exit_process_data_cell(): addr is %s.",cell->payload); + log(LOG_DEBUG,"connection_exit_process_data_cell(): addr is %s.",cell->payload); } else if (!conn->port) { /* this cell contains the dest port */ if(!memchr(cell->payload,'\0',cell->length)) { log(LOG_DEBUG,"connection_exit_process_data_cell(): dest_port cell has no \\0. Closing."); @@ -167,6 +170,10 @@ int connection_exit_process_data_cell(cell_t *cell, connection_t *conn) { conn->s = s; connection_set_poll_socket(conn); conn->state = EXIT_CONN_STATE_OPEN; + if(connection_wants_to_flush(conn)) { /* in case there are any queued data cells */ + log(LOG_NOTICE,"connection_exit_process_data_cell(): tell roger: newly connected conn had data waiting!"); +// connection_start_writing(conn); + } connection_watch_events(conn, POLLIN); /* also, deliver a 'connected' cell back through the circuit. */ |