aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2003-11-11 19:47:51 +0000
committerRoger Dingledine <arma@torproject.org>2003-11-11 19:47:51 +0000
commit9a0a638c02b36ea6e6074d385f151dbe94246ceb (patch)
tree09d3b0513aab04f73277d6aff04c47699066f74e /src
parent9c8a54a39f05669c095444fb6f484b5e8b0fba58 (diff)
downloadtor-9a0a638c02b36ea6e6074d385f151dbe94246ceb.tar
tor-9a0a638c02b36ea6e6074d385f151dbe94246ceb.tar.gz
point out bug
svn:r791
Diffstat (limited to 'src')
-rw-r--r--src/or/connection_edge.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index bf6a7b435..4f468b248 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -483,6 +483,8 @@ void connection_ap_attach_pending(void)
/* r<0: There was an error sending the begin cell; other pending
* AP connections may succeed.
*/
+ /* XXX r is only <0 if openssl can't generate random bytes. if
+ * the begin failed, r==0 and the circ is closed. */
connection_ap_handshake_socks_reply(conn, NULL, 0, 0);
conn->marked_for_close = 1;
conn->has_sent_end = 1; /* if the begin failed, don't try an end */
@@ -606,9 +608,11 @@ static int connection_ap_handshake_send_begin(connection_t *ap_conn, circuit_t *
assert(ap_conn->socks_request);
assert(ap_conn->socks_request->addr);
- if(crypto_pseudo_rand(STREAM_ID_SIZE, ap_conn->stream_id) < 0)
+ if(crypto_pseudo_rand(STREAM_ID_SIZE, ap_conn->stream_id) < 0) {
+ /* XXX can we just make this call abort if it fails? then this func could be a void. */
+ /* FIXME check for collisions */
return -1;
- /* FIXME check for collisions */
+ }
memcpy(payload, ap_conn->stream_id, STREAM_ID_SIZE);
payload_len = STREAM_ID_SIZE + 1 +