Browse Source

Stick controller-originated resolves in their own session group

Nick Mathewson 13 years ago
parent
commit
172f8acbe7
2 changed files with 7 additions and 1 deletions
  1. 4 0
      src/or/dnsserv.c
  2. 3 1
      src/or/or.h

+ 4 - 0
src/or/dnsserv.c

@@ -184,7 +184,11 @@ dnsserv_launch_request(const char *name, int reverse)
 
   strlcpy(conn->socks_request->address, name,
           sizeof(conn->socks_request->address));
+
   conn->original_dest_address = tor_strdup(name);
+  conn->session_group = SESSION_GROUP_CONTROL_RESOLVE;
+  conn->nym_epoch = get_signewnym_epoch();
+  conn->isolation_flags = ISO_DEFAULT;
 
   if (connection_add(TO_CONN(conn))<0) {
     log_warn(LD_APP, "Couldn't register dummy connection for RESOLVE request");

+ 3 - 1
src/or/or.h

@@ -2653,8 +2653,10 @@ typedef enum invalid_router_usage_t {
 #define SESSION_GROUP_UNSET -1
 /** Session group reserved for directory connections */
 #define SESSION_GROUP_DIRCONN -2
+/** Session group reserved for resolve requests launched by a controller */
+#define SESSION_GROUP_CONTROL_RESOLVE -3
 /** First automatically allocated session group number */
-#define SESSION_GROUP_FIRST_AUTO -3
+#define SESSION_GROUP_FIRST_AUTO -4
 
 /** Configuration for a single port that we're listening on. */
 typedef struct port_cfg_t {