diff options
author | Nick Mathewson <nickm@torproject.org> | 2005-02-25 20:46:13 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2005-02-25 20:46:13 +0000 |
commit | bbaa3c7792792d9899ed36d9b0db4703c617a7a3 (patch) | |
tree | f0d37ff02bafecbad300710532f6e847cb3d8756 /src/or/directory.c | |
parent | d21f007a8465b7c04d4ea8084501a588af4874a6 (diff) | |
download | tor-bbaa3c7792792d9899ed36d9b0db4703c617a7a3.tar tor-bbaa3c7792792d9899ed36d9b0db4703c617a7a3.tar.gz |
Implement more control spec functionality
- Mapaddress
- Postdescriptor
- GetInfo on descriptors
Required changes elsewhere:
- Keep the most recent running_routers_t in the routerlist_t. That way we
can learn about new routers and remember whether we were last told that
they were up or down. Also enables more simplifications.
- Keep the signed descriptor inside routerinfo_t. This makes
descriptor_entry_t in dirservers.c unneeded.
- Rename AddressMap (the verb) to MapAddress. Keep AddressMap as a noun.
- Check addresses for plausibility before mapping them.
svn:r3696
Diffstat (limited to 'src/or/directory.c')
-rw-r--r-- | src/or/directory.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/or/directory.c b/src/or/directory.c index b81f38d8c..a9cb64ee7 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -723,9 +723,11 @@ connection_dir_client_reached_eof(connection_t *conn) return -1; } router_get_routerlist(&rl); - if (rl) - routerlist_update_from_runningrouters(rl,rrs); - running_routers_free(rrs); + if (rl) { + routerlist_set_runningrouters(rl,rrs); + } else { + running_routers_free(rrs); + } } if (conn->purpose == DIR_PURPOSE_UPLOAD_DIR) { |