mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
In some edge cases it occurs that the router descriptor of a previously picked introduction point becomes obsolete. In that case, don't stick to using that introduction point, but simply give up on it. Reverts some part of r15825.
svn:r16404
This commit is contained in:
@@ -7,6 +7,12 @@ Changes in version 0.2.1.4-alpha - 2008-08-??
|
||||
been established before, a false assertion was triggered. Noticed by
|
||||
phobos, fixed by karsten. Bugfix on 0.2.1.3-alpha.
|
||||
|
||||
o Minor bugfixes:
|
||||
- In some edge cases it occurs that the router descriptor of a
|
||||
previously picked introduction point becomes obsolete. In that case,
|
||||
don't stick to using this introduction point, but simply give up on
|
||||
it. Observed by xiando. Bugfix on 0.2.1.3-alpha.
|
||||
|
||||
|
||||
Changes in version 0.2.1.3-alpha - 2008-08-03
|
||||
o Bootstrapping bugfixes (on 0.2.1.x-alpha):
|
||||
|
||||
@@ -1228,14 +1228,8 @@ rend_services_introduce(void)
|
||||
for (j=0; j < smartlist_len(service->intro_nodes); ++j) {
|
||||
intro = smartlist_get(service->intro_nodes, j);
|
||||
router = router_get_by_digest(intro->extend_info->identity_digest);
|
||||
if (!router) {
|
||||
log_warn(LD_BUG, "We have picked router %s as introduction point, "
|
||||
"but we don't have its router descriptor. Skipping.",
|
||||
intro->extend_info->nickname);
|
||||
continue;
|
||||
}
|
||||
if (!find_intro_circuit(intro, service->pk_digest,
|
||||
service->descriptor_version)) {
|
||||
if (!router || !find_intro_circuit(intro, service->pk_digest,
|
||||
service->descriptor_version)) {
|
||||
log_info(LD_REND,"Giving up on %s as intro point for %s.",
|
||||
intro->extend_info->nickname, service->service_id);
|
||||
if (service->desc) {
|
||||
@@ -1254,7 +1248,8 @@ rend_services_introduce(void)
|
||||
smartlist_del(service->intro_nodes,j--);
|
||||
changed = 1;
|
||||
}
|
||||
smartlist_add(intro_routers, router);
|
||||
if (router)
|
||||
smartlist_add(intro_routers, router);
|
||||
}
|
||||
|
||||
/* We have enough intro points, and the intro points we thought we had were
|
||||
|
||||
Reference in New Issue
Block a user