diff options
author | Nick Mathewson <nickm@torproject.org> | 2011-10-20 00:03:43 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2011-10-20 00:03:43 -0400 |
commit | 169c81844d130ed6f245db4c6641d151a556e880 (patch) | |
tree | b580a4a9b41f2ad216b3fb6cce7fbf5b8cae12ba /src | |
parent | 384e300cb4bc075f3b07e45017c9b5bcda050954 (diff) | |
parent | 3cb79a0286e3e4f87d590511f3cedb02e28de972 (diff) | |
download | tor-169c81844d130ed6f245db4c6641d151a556e880.tar.gz tor-169c81844d130ed6f245db4c6641d151a556e880.zip |
Merge remote-tracking branch 'origin/maint-0.2.2'
Diffstat (limited to 'src')
-rw-r--r-- | src/or/rendservice.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/or/rendservice.c b/src/or/rendservice.c index 32b4dbb93e..d582d71f6c 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -1424,7 +1424,20 @@ rend_service_intro_has_opened(origin_circuit_t *circuit) log_info(LD_CIRC|LD_REND, "We have just finished an introduction " "circuit, but we already have enough. Redefining purpose to " "general; leaving as internal."); + TO_CIRCUIT(circuit)->purpose = CIRCUIT_PURPOSE_C_GENERAL; + + { + rend_data_t *rend_data = circuit->rend_data; + circuit->rend_data = NULL; + rend_data_free(rend_data); + } + { + crypto_pk_env_t *intro_key = circuit->intro_key; + circuit->intro_key = NULL; + crypto_free_pk_env(intro_key); + } + circuit_has_opened(circuit); return; } |