Loading src/or/or.h +4 −0 Changes for src/or/or.h: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -3481,6 +3481,10 @@ typedef struct rend_intro_point_t { * circuit-build timeout. See also MAX_INTRO_POINT_REACHABILITY_FAILURES. */ unsigned int unreachable_count : 3; /** (Service side only) Flag indicating that this intro point was * included in the last HS descriptor we generated. */ unsigned int listed_in_last_desc : 1; /** (Service side only) The number of INTRODUCE2 cells this intro * point's circuit has received. */ unsigned int introduction_count : 24; Loading src/or/rendservice.c +7 −0 Changes for src/or/rendservice.c: 7 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -544,10 +544,17 @@ rend_service_update_descriptor(rend_service_t *service) for (i = 0; i < smartlist_len(service->intro_nodes); ++i) { rend_intro_point_t *intro_svc = smartlist_get(service->intro_nodes, i); rend_intro_point_t *intro_desc; /* This intro point won't be listed in the descriptor... */ intro_svc->listed_in_last_desc = 0; circ = find_intro_circuit(intro_svc, service->pk_digest); if (!circ || circ->_base.purpose != CIRCUIT_PURPOSE_S_INTRO) continue; /* ...unless this intro point is listed in the descriptor. */ intro_svc->listed_in_last_desc = 1; /* We have an entirely established intro circuit. Publish it in * our descriptor. */ intro_desc = tor_malloc_zero(sizeof(rend_intro_point_t)); Loading Loading
src/or/or.h +4 −0 Changes for src/or/or.h: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -3481,6 +3481,10 @@ typedef struct rend_intro_point_t { * circuit-build timeout. See also MAX_INTRO_POINT_REACHABILITY_FAILURES. */ unsigned int unreachable_count : 3; /** (Service side only) Flag indicating that this intro point was * included in the last HS descriptor we generated. */ unsigned int listed_in_last_desc : 1; /** (Service side only) The number of INTRODUCE2 cells this intro * point's circuit has received. */ unsigned int introduction_count : 24; Loading
src/or/rendservice.c +7 −0 Changes for src/or/rendservice.c: 7 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -544,10 +544,17 @@ rend_service_update_descriptor(rend_service_t *service) for (i = 0; i < smartlist_len(service->intro_nodes); ++i) { rend_intro_point_t *intro_svc = smartlist_get(service->intro_nodes, i); rend_intro_point_t *intro_desc; /* This intro point won't be listed in the descriptor... */ intro_svc->listed_in_last_desc = 0; circ = find_intro_circuit(intro_svc, service->pk_digest); if (!circ || circ->_base.purpose != CIRCUIT_PURPOSE_S_INTRO) continue; /* ...unless this intro point is listed in the descriptor. */ intro_svc->listed_in_last_desc = 1; /* We have an entirely established intro circuit. Publish it in * our descriptor. */ intro_desc = tor_malloc_zero(sizeof(rend_intro_point_t)); Loading