diff options
author | Nick Mathewson <nickm@torproject.org> | 2005-09-08 21:01:24 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2005-09-08 21:01:24 +0000 |
commit | 4528bbfd9f68eb7537f0b130336ef6023a6270ce (patch) | |
tree | a664eb8f5c7ff768245ab83b8167e1cf10852388 /src/or/dirserv.c | |
parent | c523e106b54bab147014bccb56207c0c6d31d5de (diff) | |
download | tor-4528bbfd9f68eb7537f0b130336ef6023a6270ce.tar tor-4528bbfd9f68eb7537f0b130336ef6023a6270ce.tar.gz |
Resolve some XXXs. Add some others.
svn:r4947
Diffstat (limited to 'src/or/dirserv.c')
-rw-r--r-- | src/or/dirserv.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 81777d02f..28fc19317 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -1238,14 +1238,16 @@ dirserv_get_routerdescs(smartlist_t *descs_out, const char *key) smartlist_add(digests, d); }); smartlist_free(hexdigests); - /* XXXX should always return own descriptor. or special-case it. or - * something. */ - SMARTLIST_FOREACH(complete_list, routerinfo_t *, ri, - SMARTLIST_FOREACH(digests, const char *, d, - if (!memcmp(d,ri->identity_digest,DIGEST_LEN)) { - smartlist_add(descs_out,ri); - break; - })); + SMARTLIST_FOREACH(digests, const char *, d, + { + if (router_digest_is_me(d)) { + smartlist_add(descs_out, router_get_my_routerinfo()); + } else { + routerinfo_t *ri = router_get_by_digest(d); + if (d) + smartlist_add(descs_out,ri); + } + }); SMARTLIST_FOREACH(digests, char *, d, tor_free(d)); smartlist_free(digests); } |