commit 1ce0c5eba93d2ac48609efc327e6dc1d3a8de981
Merge: c19a2ff 281a5e4
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Tue Jun 5 10:20:44 2012 -0400
Merge remote-tracking branch 'public/bug4657'
Conflicts:
src/or/router.c
changes/bug4657 | 4 ++++
src/or/config.c | 6 ++++++
src/or/router.c | 2 +-
3 files changed, 11 insertions(+), 1 deletions(-)
diff --cc src/or/router.c
index b98bb39,1919448..352c456
--- a/src/or/router.c
+++ b/src/or/router.c
@@@ -1592,26 -1476,28 +1592,26 @@@ router_rebuild_descriptor(int force
ri->policy_is_reject_star =
policy_is_reject_star(ri->exit_policy);
- if (desc_routerinfo) { /* inherit values */
- ri->is_valid = desc_routerinfo->is_valid;
- ri->is_running = desc_routerinfo->is_running;
- ri->is_named = desc_routerinfo->is_named;
- }
+#if 0
+ /* XXXX NM NM I belive this is safe to remove */
if (authdir_mode(options))
ri->is_valid = ri->is_named = 1; /* believe in yourself */
+#endif
+
- if (options->MyFamily) {
+ if (options->MyFamily && ! options->BridgeRelay) {
smartlist_t *family;
if (!warned_nonexistent_family)
- warned_nonexistent_family = smartlist_create();
- family = smartlist_create();
- ri->declared_family = smartlist_create();
+ warned_nonexistent_family = smartlist_new();
+ family = smartlist_new();
+ ri->declared_family = smartlist_new();
smartlist_split_string(family, options->MyFamily, ",",
SPLIT_SKIP_SPACE|SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
- SMARTLIST_FOREACH(family, char *, name,
- {
- routerinfo_t *member;
+ SMARTLIST_FOREACH_BEGIN(family, char *, name) {
+ const node_t *member;
if (!strcasecmp(name, options->Nickname))
- member = ri;
+ goto skip; /* Don't list ourself, that's redundant */
else
- member = router_get_by_nickname(name, 1);
+ member = node_get_by_nickname(name, 1);
if (!member) {
int is_legal = is_legal_nickname_or_hexdigest(name);
if (!smartlist_string_isin(warned_nonexistent_family, name) &&