diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index e60a7eef9a..b69f3a3703 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -774,9 +774,11 @@ int onionskin_answer(circuit_t *circ, unsigned char *payload, unsigned char *key connection_or_write_cell_to_buf(&cell, circ->p_conn); log_fn(LOG_DEBUG,"Finished sending 'created' cell."); - if (!is_local_IP(circ->p_conn->addr)) { - /* record that we could process create cells; presumably this means - that create cells can reach us too. */ + if (!is_local_IP(circ->p_conn->addr) && + tor_tls_is_server(circ->p_conn->tls)) { + /* record that we could process create cells from a non-local conn + * that we didn't initiate; presumably this means that create cells + * can reach us too. */ router_orport_found_reachable(); }