summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2003-11-17 18:40:56 +0000
committerNick Mathewson <nickm@torproject.org>2003-11-17 18:40:56 +0000
commit4eabb8450ef4fab606d34ac33330d698663dbebf (patch)
treea2f192b642bb06a3f3e4fdecb859539af9d0ebcc
parent7a702d64d4e2edbd9b05a60e72317a21c3849e54 (diff)
downloadtor-4eabb8450ef4fab606d34ac33330d698663dbebf.tar.gz
tor-4eabb8450ef4fab606d34ac33330d698663dbebf.zip
Fix possible bug in circID selection when building circuits on combination OP/OR servers
svn:r830
-rw-r--r--src/or/circuit.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/or/circuit.c b/src/or/circuit.c
index d0a763565a..47911f2dde 100644
--- a/src/or/circuit.c
+++ b/src/or/circuit.c
@@ -777,6 +777,7 @@ int circuit_send_next_onion_skin(circuit_t *circ) {
crypt_path_t *hop;
routerinfo_t *router;
int r;
+ int circ_id_type;
assert(circ && circ->cpath);
@@ -784,7 +785,9 @@ int circuit_send_next_onion_skin(circuit_t *circ) {
assert(circ->n_conn && circ->n_conn->type == CONN_TYPE_OR);
log_fn(LOG_DEBUG,"First skin; sending create cell.");
- circ->n_circ_id = get_unique_circ_id_by_conn(circ->n_conn, CIRC_ID_TYPE_BOTH);
+ circ_id_type = decide_circ_id_type(options.Nickname,
+ circ->n_conn->nickname);
+ circ->n_circ_id = get_unique_circ_id_by_conn(circ->n_conn, circ_id_type);
memset(&cell, 0, sizeof(cell_t));
cell.command = CELL_CREATE;