Loading src/or/connection_edge.c +6 −2 Original line number Diff line number Diff line Loading @@ -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 */ Loading Loading @@ -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) return -1; 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; } memcpy(payload, ap_conn->stream_id, STREAM_ID_SIZE); payload_len = STREAM_ID_SIZE + 1 + Loading Loading
src/or/connection_edge.c +6 −2 Original line number Diff line number Diff line Loading @@ -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 */ Loading Loading @@ -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) return -1; 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; } memcpy(payload, ap_conn->stream_id, STREAM_ID_SIZE); payload_len = STREAM_ID_SIZE + 1 + Loading