r13905@catbus: nickm | 2007-07-25 18:48:44 -0400
ADDRMAP events should never have specified local time. Extend them to have the proper gmt time, and make GETINFO address-mappings always do the right thing (since it is new in this version). svn:r10930
This commit is contained in:
parent
47f3a40900
commit
a8821e2d82
|
@ -77,6 +77,11 @@ Changes in version 0.2.0.3-alpha - 2007-??-??
|
|||
can time them out correctly. (Bug found by mwenge) [Bugfix on
|
||||
0.2.0.2-alpha]
|
||||
|
||||
o Minor bugfixes (controller)
|
||||
- Provide DNS expiry times in GMT, not in local time. For backward
|
||||
compatibility, ADDRMAP events only provide GMT expiry in an extended
|
||||
field. "GETINFO address-mappings" always does the right thing.
|
||||
|
||||
|
||||
Changes in version 0.1.2.15 - 2007-07-17
|
||||
o Major bugfixes (compilation):
|
||||
|
|
|
@ -387,7 +387,8 @@ $Id$
|
|||
client-side DNS cache; the 'control' key returns the mappings set
|
||||
via the control interface; the 'all' target returns the mappings
|
||||
set through any mechanism.
|
||||
Expiry is formatted as with ADDRMAP events; see section 4.1.7.
|
||||
Expiry is formatted as with ADDRMAP events, except that "expiry" is
|
||||
always a time in GMT or the string "NEVER"; see section 4.1.7.
|
||||
First introduced in 0.2.0.3-alpha.
|
||||
|
||||
"addr-mappings/*" -- as for address-mappings/*, but without the
|
||||
|
@ -925,7 +926,7 @@ $Id$
|
|||
|
||||
If extended events are enabled (see 3.19), optional reason and
|
||||
circuit counting information is provided for CLOSED and FAILED
|
||||
events.
|
||||
events.
|
||||
|
||||
Reason = "MISC" / "DONE" / "CONNECTREFUSED" /
|
||||
"IDENTITY" / "CONNECTRESET" / "TIMEOUT" / "NOROUTE" /
|
||||
|
@ -963,10 +964,17 @@ $Id$
|
|||
4.1.7. New Address mapping
|
||||
|
||||
Syntax:
|
||||
"650" SP "ADDRMAP" SP Address SP Address SP Expiry
|
||||
"650" SP "ADDRMAP" SP Address SP Address SP Expiry SP Error SP GMTExpiry
|
||||
Expiry = DQUOTE ISOTime DQUOTE / "NEVER"
|
||||
|
||||
Expiry is expressed as the local time (rather than GMT).
|
||||
Error = / "error=" ErrorCode
|
||||
GMTExpiry = "EXPIRES=" DQUOTE IsoTime DQUOTE
|
||||
|
||||
Error and GMTExpiry are only provided if extended events are enabled.
|
||||
|
||||
Expiry is expressed as the local time (rather than GMT). This is a bug,
|
||||
left in for backward compatibility; new code should look at GMTExpiry
|
||||
instead.
|
||||
|
||||
These events are generated when a new address mapping is entered in the
|
||||
cache, or when the answer for a RESOLVE command is found.
|
||||
|
|
|
@ -1161,7 +1161,7 @@ addressmap_get_mappings(smartlist_t *sl, time_t min_expires,
|
|||
tor_snprintf(line, len, "%s %s NEVER", key, val->new_address);
|
||||
else {
|
||||
char time[ISO_TIME_LEN+1];
|
||||
format_local_iso_time(time, val->expires);
|
||||
format_iso_time(time, val->expires);
|
||||
tor_snprintf(line, len, "%s %s \"%s\"", key, val->new_address,
|
||||
time);
|
||||
}
|
||||
|
|
|
@ -3099,10 +3099,15 @@ control_event_address_mapped(const char *from, const char *to, time_t expires,
|
|||
error);
|
||||
else {
|
||||
char buf[ISO_TIME_LEN+1];
|
||||
char buf2[ISO_TIME_LEN+1];
|
||||
format_local_iso_time(buf,expires);
|
||||
format_iso_time(buf2,expires);
|
||||
send_control_event_extended(EVENT_ADDRMAP, ALL_NAMES,
|
||||
"650 ADDRMAP %s %s \"%s\"@%s\r\n",
|
||||
from, to, buf, error);
|
||||
"650 ADDRMAP %s %s \"%s\""
|
||||
"@%s%sEXPIRES=\"%s\"\r\n",
|
||||
from, to, buf,
|
||||
error, error?" ":"",
|
||||
buf2);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue