diff options
author | Nick Mathewson <nickm@torproject.org> | 2003-03-19 22:47:34 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2003-03-19 22:47:34 +0000 |
commit | 29da03cbdc0c0bf46b54b30131632cdeed1adb63 (patch) | |
tree | bb6ddec190f6265e02b2230a738aba5334fb9f1b /src | |
parent | fceb45727602223d214e55d0474976f84141d8e1 (diff) | |
download | tor-29da03cbdc0c0bf46b54b30131632cdeed1adb63.tar tor-29da03cbdc0c0bf46b54b30131632cdeed1adb63.tar.gz |
Be loud when decompressing
svn:r213
Diffstat (limited to 'src')
-rw-r--r-- | src/or/buffers.c | 3 | ||||
-rw-r--r-- | src/or/connection.c | 2 | ||||
-rw-r--r-- | src/or/connection_exit.c | 12 |
3 files changed, 12 insertions, 5 deletions
diff --git a/src/or/buffers.c b/src/or/buffers.c index 2f6c64cc5..c88fa62a1 100644 --- a/src/or/buffers.c +++ b/src/or/buffers.c @@ -192,6 +192,9 @@ int decompress_buf_to_buf(char **buf_in, int *buflen_in, int *buf_datalen_in, { case Z_OK: case Z_STREAM_END: + log(LOG_DEBUG, "Uncompressed (%d/%d); filled (%d/%d)", + *buf_datalen_in-zstream->avail_in, *buf_datalen_in, + *buf_datalen_out-zstream->avail_out, *buf_datalen_out); memmove(*buf_in, zstream->next_in, zstream->avail_in); *buf_datalen_in = zstream->avail_in; *buf_datalen_out = *buflen_out - zstream->avail_out; diff --git a/src/or/connection.c b/src/or/connection.c index c9d2c2dc5..41d07293f 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -744,7 +744,7 @@ repeat_connection_package_raw_inbuf: return -1; } - log(LOG_DEBUG,"connection_package_raw_inbuf(): (%d) Packaging %d bytes (%d waiting).",conn->s,cell.length, amount_to_process); + log(LOG_DEBUG,"connection_package_raw_inbuf(): (%d) Packaging %d bytes (%d waiting).",conn->s,cell.length, conn->inbuf_datalen); *(uint16_t *)(cell.payload+2) = htons(conn->topic_id); *cell.payload = TOPIC_COMMAND_DATA; diff --git a/src/or/connection_exit.c b/src/or/connection_exit.c index 24b1f21b4..b797d7198 100644 --- a/src/or/connection_exit.c +++ b/src/or/connection_exit.c @@ -196,6 +196,7 @@ int connection_exit_process_data_cell(cell_t *cell, circuit_t *circ) { connection_t *conn; int topic_command; int topic_id; + int len; static int num_seen=0; /* an outgoing data cell has arrived */ @@ -248,16 +249,19 @@ int connection_exit_process_data_cell(cell_t *cell, circuit_t *circ) { if(conn->state != EXIT_CONN_STATE_OPEN) { log(LOG_DEBUG,"connection_exit_process_data_cell(): data received while resolving/connecting. Queueing."); } - log(LOG_DEBUG,"connection_exit_process_data_cell(): put %d bytes on outbuf.",cell->length - TOPIC_HEADER_SIZE); #ifdef USE_ZLIB - if(connection_decompress_to_buf(cell->payload + TOPIC_HEADER_SIZE, - cell->length - TOPIC_HEADER_SIZE, - conn, Z_SYNC_FLUSH) < 0) { + log(LOG_DEBUG,"connection_exit_process_data_cell(): uncompressing %d bytes onto outbuf...",cell->length - TOPIC_HEADER_SIZE); + len = connection_decompress_to_buf(cell->payload + TOPIC_HEADER_SIZE, + cell->length - TOPIC_HEADER_SIZE, + conn, Z_SYNC_FLUSH); + log(LOG_DEBUG,"%d bytes written", len); + if (len<0) { log(LOG_INFO,"connection_exit_process_data_cell(): write to buf failed. Marking for close."); conn->marked_for_close = 1; return 0; } #else + log(LOG_DEBUG,"connection_exit_process_data_cell(): put %d bytes on outbuf.",cell->length - TOPIC_HEADER_SIZE); if(connection_write_to_buf(cell->payload + TOPIC_HEADER_SIZE, cell->length - TOPIC_HEADER_SIZE, conn) < 0) { log(LOG_INFO,"connection_exit_process_data_cell(): write to buf failed. Marking for close."); |