mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-23 06:35:28 +01:00
Fix a bug in ADDRMAP controller replies that would sometimes
try to print a NULL. Patch from tup. svn:r11181
This commit is contained in:
parent
86734616c7
commit
c88803d924
3 changed files with 12 additions and 6 deletions
|
@ -65,6 +65,8 @@ Changes in version 0.2.0.5-alpha - 2007-08-19
|
|||
- Fix a bug with AutomapHostsOnResolve that would always cause
|
||||
the second request to fail. Bug reported by Kate. Bugfix on
|
||||
0.2.0.3-alpha.
|
||||
- Fix a bug in ADDRMAP controller replies that would sometimes
|
||||
try to print a NULL. Patch from tup.
|
||||
- Read v3 directory authority keys from the right location.
|
||||
- Numerous bugfixes to directory voting code.
|
||||
|
||||
|
|
|
@ -762,7 +762,7 @@ $Id$
|
|||
PIVERSION: 1*DIGIT
|
||||
|
||||
Tor MAY give its InfoLines in any order; controllers MUST ignore InfoLines
|
||||
with keywords it does not recognize. Controllers MUST ignore extraneous
|
||||
with keywords they do not recognize. Controllers MUST ignore extraneous
|
||||
data on any InfoLine.
|
||||
|
||||
PIVERSION is there in case we drastically change the syntax one day. For
|
||||
|
@ -1044,10 +1044,14 @@ $Id$
|
|||
4.1.7. New Address mapping
|
||||
|
||||
Syntax:
|
||||
"650" SP "ADDRMAP" SP Address SP Address SP Expiry SP Error SP GMTExpiry
|
||||
"650" SP "ADDRMAP" SP Address SP NewAddress SP Expiry
|
||||
[SP Error] SP GMTExpiry CRLF
|
||||
|
||||
NewAddress = Address / "<error>"
|
||||
Expiry = DQUOTE ISOTime DQUOTE / "NEVER"
|
||||
|
||||
Error = / "error=" ErrorCode
|
||||
Error = "error=" ErrorCode
|
||||
ErrorCode = XXXX
|
||||
GMTExpiry = "EXPIRES=" DQUOTE IsoTime DQUOTE
|
||||
|
||||
Error and GMTExpiry are only provided if extended events are enabled.
|
||||
|
|
|
@ -3174,7 +3174,7 @@ control_event_descriptors_changed(smartlist_t *routers)
|
|||
|
||||
/** Called whenever an address mapping on <b>from<b> from changes to <b>to</b>.
|
||||
* <b>expires</b> values less than 3 are special; see connection_edge.c. If
|
||||
* <b>error</b> is nonempty, it is an error code describing the failure
|
||||
* <b>error</b> is non-NULL, it is an error code describing the failure
|
||||
* mode of the mapping.
|
||||
*/
|
||||
int
|
||||
|
@ -3187,7 +3187,7 @@ control_event_address_mapped(const char *from, const char *to, time_t expires,
|
|||
if (expires < 3 || expires == TIME_MAX)
|
||||
send_control_event_extended(EVENT_ADDRMAP, ALL_NAMES,
|
||||
"650 ADDRMAP %s %s NEVER@%s\r\n", from, to,
|
||||
error);
|
||||
error?error:"");
|
||||
else {
|
||||
char buf[ISO_TIME_LEN+1];
|
||||
char buf2[ISO_TIME_LEN+1];
|
||||
|
@ -3197,7 +3197,7 @@ control_event_address_mapped(const char *from, const char *to, time_t expires,
|
|||
"650 ADDRMAP %s %s \"%s\""
|
||||
"@%s%sEXPIRES=\"%s\"\r\n",
|
||||
from, to, buf,
|
||||
error, error?" ":"",
|
||||
error?error:"", error?" ":"",
|
||||
buf2);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue