aboutsummaryrefslogtreecommitdiff
path: root/src/or/control.c
diff options
context:
space:
mode:
authorDesoxy <desoxy@fastmail.fm>2013-04-03 18:50:51 +0200
committerDesoxy <desoxy@fastmail.fm>2013-04-03 18:50:51 +0200
commit74f5e304e49b8ccde2b97232c49e5025dba21f59 (patch)
treecc3639e1857f21444dc019cbf0cfc56b6b93806f /src/or/control.c
parent2c40138210fe934f687470fc4bd20513982bf424 (diff)
downloadtor-74f5e304e49b8ccde2b97232c49e5025dba21f59.tar
tor-74f5e304e49b8ccde2b97232c49e5025dba21f59.tar.gz
Controller: Add CACHED keyword to ADDRMAP events (#8596 part 2/2)
Add keyword CACHED="YES"/"NO" to ADDRMAP control events to indicate whether the DNS response will be cached or not.
Diffstat (limited to 'src/or/control.c')
-rw-r--r--src/or/control.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/or/control.c b/src/or/control.c
index 2a6846418..f50b87711 100644
--- a/src/or/control.c
+++ b/src/or/control.c
@@ -2947,7 +2947,7 @@ handle_control_resolve(control_connection_t *conn, uint32_t len,
send_control_done(conn);
SMARTLIST_FOREACH(failed, const char *, arg, {
control_event_address_mapped(arg, arg, time(NULL),
- "internal");
+ "internal", 0);
});
SMARTLIST_FOREACH(args, char *, cp, tor_free(cp));
@@ -4024,15 +4024,17 @@ control_event_descriptors_changed(smartlist_t *routers)
*/
int
control_event_address_mapped(const char *from, const char *to, time_t expires,
- const char *error)
+ const char *error, const int cached)
{
if (!EVENT_IS_INTERESTING(EVENT_ADDRMAP))
return 0;
if (expires < 3 || expires == TIME_MAX)
send_control_event(EVENT_ADDRMAP, ALL_FORMATS,
- "650 ADDRMAP %s %s NEVER %s\r\n", from, to,
- error?error:"");
+ "650 ADDRMAP %s %s NEVER %s%s"
+ "CACHED=\"%s\"\r\n",
+ from, to, error?error:"", error?" ":"",
+ cached?"YES":"NO");
else {
char buf[ISO_TIME_LEN+1];
char buf2[ISO_TIME_LEN+1];
@@ -4040,10 +4042,10 @@ control_event_address_mapped(const char *from, const char *to, time_t expires,
format_iso_time(buf2,expires);
send_control_event(EVENT_ADDRMAP, ALL_FORMATS,
"650 ADDRMAP %s %s \"%s\""
- " %s%sEXPIRES=\"%s\"\r\n",
+ " %s%sEXPIRES=\"%s\" CACHED=\"%s\"\r\n",
from, to, buf,
error?error:"", error?" ":"",
- buf2);
+ buf2, cached?"YES":"NO");
}
return 0;