minor cleanups

svn:r9387
This commit is contained in:
Roger Dingledine 2007-01-22 19:20:33 +00:00
parent 36620ca056
commit 9f733c31cc
8 changed files with 36 additions and 23 deletions

View File

@ -1,18 +1,4 @@
Changes in version 0.1.2.7-alpha - 2007-??-?? Changes in version 0.1.2.7-alpha - 2007-??-??
o Minor features:
- Check for addresses with invalid characters at the exit as well as at
the client, and warn less verbosely when they fail. You can override
this by setting ServerDNSAllowNonRFC953Addresses to 1.
- Adapt a patch from goodell to let the contrib/exitlist script
take arguments rather than require direct editing.
o Minor features (controller):
- Track reasons for OR connection failure; make these reasons available
via the controller interface. (Patch from Mike Perry.)
- Add a SOCKS_BAD_HOSTNAME client status event so controllers can learn
when clients are sending malformed hostnames to Tor.
- Clean up documentation for controller status events.
o Major bugfixes: o Major bugfixes:
- Fix a crash bug in the presence of DNS hijacking (reported by Andrew - Fix a crash bug in the presence of DNS hijacking (reported by Andrew
Del Vecchio). Del Vecchio).
@ -54,6 +40,20 @@ Changes in version 0.1.2.7-alpha - 2007-??-??
- Free memory held in recently-completed DNS lookup attempts on exit. - Free memory held in recently-completed DNS lookup attempts on exit.
This was not a memory leak, but may have been hiding memory leaks. This was not a memory leak, but may have been hiding memory leaks.
o Minor features:
- Check for addresses with invalid characters at the exit as well as at
the client, and warn less verbosely when they fail. You can override
this by setting ServerDNSAllowNonRFC953Addresses to 1.
- Adapt a patch from goodell to let the contrib/exitlist script
take arguments rather than require direct editing.
o Minor features (controller):
- Track reasons for OR connection failure; make these reasons available
via the controller interface. (Patch from Mike Perry.)
- Add a SOCKS_BAD_HOSTNAME client status event so controllers can learn
when clients are sending malformed hostnames to Tor.
- Clean up documentation for controller status events.
Changes in version 0.1.2.6-alpha - 2007-01-09 Changes in version 0.1.2.6-alpha - 2007-01-09
o Major bugfixes: o Major bugfixes:

View File

@ -32,6 +32,9 @@ N - Test guard unreachable logic; make sure that we actually attempt to
R - Reconstruct ChangeLog; put rolled-up info in ReleaseNotes or something. R - Reconstruct ChangeLog; put rolled-up info in ReleaseNotes or something.
Items for 0.1.2.x: Items for 0.1.2.x:
- weight dir requests by advertised bandwidth? with maybe a lower cutoff
than for tor traffic. perhaps also weighted by the expected size of
the response.
o enumerate events of important things that occur in tor, so vidalia can o enumerate events of important things that occur in tor, so vidalia can
react. react.
o Backend implementation o Backend implementation
@ -315,6 +318,7 @@ M - rewrite how libevent does select() on win32 so it's not so very slow.
on. on.
Minor items for 0.1.2.x as time permits: Minor items for 0.1.2.x as time permits:
- include bandwidth breakdown by conn->type in BW events.
- getinfo ns/name/moria2 doesn't include a "v" line, even when some - getinfo ns/name/moria2 doesn't include a "v" line, even when some
network-statuses I have show it. I suppose the fix should go in network-statuses I have show it. I suppose the fix should go in
networkstatus_getinfo_helper_single() in routerlist.c. networkstatus_getinfo_helper_single() in routerlist.c.

View File

@ -990,7 +990,8 @@ $Id$
happens when a laptop goes to sleep and then wakes up again. It happens when a laptop goes to sleep and then wakes up again. It
also happens when the system is swapping so heavily that Tor is also happens when the system is swapping so heavily that Tor is
starving. The "time" argument specifies the number of seconds Tor starving. The "time" argument specifies the number of seconds Tor
thinks it was unconscious for. thinks it was unconscious for (or alternatively, the number of
seconds it went back in time).
This status event is sent as NOTICE severity normally, but WARN This status event is sent as NOTICE severity normally, but WARN
severity if Tor is acting as a server currently. severity if Tor is acting as a server currently.

View File

@ -148,8 +148,8 @@ of their choices.
- We do not choose the same router twice for the same path. - We do not choose the same router twice for the same path.
- We do not choose any router in the same family as another in the same - We do not choose any router in the same family as another in the same
path. path.
- We do not choose any router in the same /16 subnet as another in the - We do not choose more than one router in a given /16 subnet
same path (unless EnforceDistinctSubnets is 0). (unless EnforceDistinctSubnets is 0).
- We don't choose any non-running or non-valid router unless we have - We don't choose any non-running or non-valid router unless we have
been configured to do so. By default, we are configured to allow been configured to do so. By default, we are configured to allow
non-valid routers in "middle" and "rendezvous" positions. non-valid routers in "middle" and "rendezvous" positions.

View File

@ -940,3 +940,6 @@ B.2. ... and that we have no idea how to do.
doesn't grow with the number of hops, is not patented, and doesn't grow with the number of hops, is not patented, and
is implemented and maintained by smart people. is implemented and maintained by smart people.
Let onion keys be not just RSA but maybe DH too. for the reply onion
design.

View File

@ -649,15 +649,17 @@ circuit_send_next_onion_skin(origin_circuit_t *circ)
return 0; return 0;
} }
/** Our clock just jumped forward by <b>seconds_elapsed</b>. Assume /** Our clock just jumped by <b>seconds_elapsed</b>. Assume
* something has also gone wrong with our network: notify the user, * something has also gone wrong with our network: notify the user,
* and abandon all not-yet-used circuits. */ * and abandon all not-yet-used circuits. */
void void
circuit_note_clock_jumped(int seconds_elapsed) circuit_note_clock_jumped(int seconds_elapsed)
{ {
int severity = server_mode(get_options()) ? LOG_WARN : LOG_NOTICE; int severity = server_mode(get_options()) ? LOG_WARN : LOG_NOTICE;
log(severity, LD_GENERAL, "Your clock just jumped %d seconds forward; " log(severity, LD_GENERAL, "Your clock just jumped %d seconds %s; "
"assuming established circuits no longer work.", seconds_elapsed); "assuming established circuits no longer work.",
seconds_elapsed >=0 ? seconds_elapsed : -seconds_elapsed,
seconds_elapsed >=0 ? "forward" : "backward");
control_event_general_status(LOG_WARN, "CLOCK_JUMPED TIME=%d", control_event_general_status(LOG_WARN, "CLOCK_JUMPED TIME=%d",
seconds_elapsed); seconds_elapsed);
has_completed_circuit=0; /* so it'll log when it works again */ has_completed_circuit=0; /* so it'll log when it works again */

View File

@ -321,7 +321,7 @@ dns_free_all(void)
if (cached_resolve_pqueue) { if (cached_resolve_pqueue) {
SMARTLIST_FOREACH(cached_resolve_pqueue, cached_resolve_t *, res, SMARTLIST_FOREACH(cached_resolve_pqueue, cached_resolve_t *, res,
{ {
/* XXXX012 The hach lookups here could be quite slow; remove them /* XXXX012 The hash lookups here could be quite slow; remove them
* once we're happy. */ * once we're happy. */
if (res->state == CACHE_STATE_DONE) { if (res->state == CACHE_STATE_DONE) {
cached_resolve_t *removed = HT_REMOVE(cache_map, &cache_root, res); cached_resolve_t *removed = HT_REMOVE(cache_map, &cache_root, res);

View File

@ -186,7 +186,7 @@ router_should_rebuild_store(void)
} }
/** Add the <b>len</b>-type router descriptor in <b>s</b> to the router /** Add the <b>len</b>-type router descriptor in <b>s</b> to the router
* journal; change its saved_locatino to SAVED_IN_JOURNAL and set its * journal; change its saved_location to SAVED_IN_JOURNAL and set its
* offset appropriately. */ * offset appropriately. */
static int static int
router_append_to_journal(signed_descriptor_t *desc) router_append_to_journal(signed_descriptor_t *desc)
@ -1319,7 +1319,7 @@ router_get_by_descriptor_digest(const char *digest)
/** Return a pointer to the signed textual representation of a descriptor. /** Return a pointer to the signed textual representation of a descriptor.
* The returned string is not guaranteed to be NUL-terminated: the string's * The returned string is not guaranteed to be NUL-terminated: the string's
* length will be in desc->signed_descriptor_len. */ * length will be in desc-\>signed_descriptor_len. */
const char * const char *
signed_descriptor_get_body(signed_descriptor_t *desc) signed_descriptor_get_body(signed_descriptor_t *desc)
{ {
@ -3719,6 +3719,9 @@ router_list_client_downloadable(void)
* a directory for "all descriptors." * a directory for "all descriptors."
* Otherwise, we ask for all descriptors that we think are different * Otherwise, we ask for all descriptors that we think are different
* from what we have. * from what we have.
*
* DOCDOC The above comment doesn't match the behavior of the function.
* I guess one of them is wrong, and I guess it's the comment. -RD
*/ */
static void static void
update_router_descriptor_client_downloads(time_t now) update_router_descriptor_client_downloads(time_t now)