r9389@Kushana: nickm | 2006-10-25 17:46:16 -0400

Add a CLEARDNSCACHE signal to clear the client-side DNS cache.


svn:r8829
This commit is contained in:
Nick Mathewson
2006-10-25 21:46:21 +00:00
parent 5c670a186c
commit 3fbb292bff
5 changed files with 16 additions and 2 deletions
+2
View File
@@ -1283,6 +1283,8 @@ handle_control_signal(control_connection_t *conn, uint32_t len,
sig = SIGTERM;
else if (!strcasecmp(s, "NEWNYM"))
sig = SIGNEWNYM;
else if (!strcasecmp(s, "CLEARDNSCACHE"))
sig = SIGCLEARDNSCACHE;
else {
connection_printf_to_buf(conn, "552 Unrecognized signal code \"%s\"\r\n",
s);
+6
View File
@@ -1260,6 +1260,9 @@ control_signal_act(int the_signal)
case SIGNEWNYM:
signal_callback(0,0,(void*)(uintptr_t)SIGNEWNYM);
break;
case SIGCLEARDNSCACHE:
signal_callback(0,0,(void*)(uintptr_t)SIGCLEARDNSCACHE);
break;
default:
log_warn(LD_BUG, "Unrecognized signal number %d.", the_signal);
break;
@@ -1320,6 +1323,9 @@ signal_callback(int fd, short events, void *arg)
circuit_expire_all_dirty_circs();
addressmap_clear_transient();
break;
case SIGCLEARDNSCACHE:
addressmap_clear_transient();
break;
}
}
+1
View File
@@ -147,6 +147,7 @@
/* Controller signals start at a high number so we don't
* conflict with system-defined signals. */
#define SIGNEWNYM 129
#define SIGCLEARDNSCACHE 130
#if (SIZEOF_CELL_T != 0)
/* On Irix, stdlib.h defines a cell_t type, so we need to make sure