aboutsummaryrefslogtreecommitdiff
path: root/src/or/buffers.c
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2003-09-24 21:24:52 +0000
committerRoger Dingledine <arma@torproject.org>2003-09-24 21:24:52 +0000
commit40d0fca63ae25e9e98b70bd75ce356d63ebc6c45 (patch)
treef433623559193f89f01b6497a8462066d610495a /src/or/buffers.c
parent36ec1792d250a9694273c12d832229e077e9bf76 (diff)
downloadtor-40d0fca63ae25e9e98b70bd75ce356d63ebc6c45.tar
tor-40d0fca63ae25e9e98b70bd75ce356d63ebc6c45.tar.gz
cleanups, bugfixes, more verbose logs
Fixed up the assert_*_ok funcs some (more work remains) Changed config so it reads either /etc/torrc or the -f arg, never both Finally tracked down a nasty bug with our use of tls: It turns out that if you ask SSL_read() for no more than n bytes, it will read the entire record from the network (and maybe part of the next record, I'm not sure), give you n bytes of it, and keep the remaining bytes internally. This is fine, except our poll-for-read looks at the network, and there are no bytes pending on the network, so we never know to ask SSL_read() for more bytes. Currently I've hacked it so if we ask for n bytes and it returns n bytes, then it reads again right then. This will interact poorly with our rate limiting; we need a cleaner solution. svn:r481
Diffstat (limited to 'src/or/buffers.c')
-rw-r--r--src/or/buffers.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/or/buffers.c b/src/or/buffers.c
index 087998d28..2bddcd2ef 100644
--- a/src/or/buffers.c
+++ b/src/or/buffers.c
@@ -69,7 +69,7 @@ int read_to_buf(int s, int at_most, char **buf, int *buflen, int *buf_datalen, i
return 0;
} else { /* we read some bytes */
*buf_datalen += read_result;
-// log_fn(LOG_DEBUG,"Read %d bytes. %d on inbuf.",read_result, *buf_datalen);
+ log_fn(LOG_DEBUG,"Read %d bytes. %d on inbuf.",read_result, *buf_datalen);
return read_result;
}
}
@@ -88,6 +88,7 @@ int read_to_buf_tls(tor_tls *tls, int at_most, char **buf, int *buflen, int *buf
if (r<0)
return r;
*buf_datalen += r;
+ log_fn(LOG_DEBUG,"Read %d bytes. %d on inbuf.",r, *buf_datalen);
return r;
}
@@ -147,6 +148,8 @@ int flush_buf_tls(tor_tls *tls, char **buf, int *buflen, int *buf_flushlen, int
*buf_datalen -= r;
*buf_flushlen -= r;
memmove(*buf, *buf+r, *buf_datalen);
+ log_fn(LOG_DEBUG,"flushed %d bytes, %d ready to flush, %d remain.",
+ r,*buf_flushlen,*buf_datalen);
return r;
}
@@ -168,7 +171,7 @@ int write_to_buf(char *string, int string_len,
memcpy(*buf+*buf_datalen, string, string_len);
*buf_datalen += string_len;
-// log_fn(LOG_DEBUG,"added %d bytes to buf (now %d total).",string_len, *buf_datalen);
+ log_fn(LOG_DEBUG,"added %d bytes to buf (now %d total).",string_len, *buf_datalen);
return *buf_datalen;
}