aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-07-08 16:00:19 -0400
committerNick Mathewson <nickm@torproject.org>2011-07-19 02:02:17 -0400
commit172f8acbe7fcdf6b025ad87c81760ef45bbe1d53 (patch)
treefe15a3ff5367b5be1c5a02650481c16c0820d0f6
parent8314fa5e5c8d300323589ff97599f8f93b847b78 (diff)
downloadtor-172f8acbe7fcdf6b025ad87c81760ef45bbe1d53.tar
tor-172f8acbe7fcdf6b025ad87c81760ef45bbe1d53.tar.gz
Stick controller-originated resolves in their own session group
-rw-r--r--src/or/dnsserv.c4
-rw-r--r--src/or/or.h4
2 files changed, 7 insertions, 1 deletions
diff --git a/src/or/dnsserv.c b/src/or/dnsserv.c
index c81d72f68..35279c470 100644
--- a/src/or/dnsserv.c
+++ b/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");
diff --git a/src/or/or.h b/src/or/or.h
index 26e997020..835f279d4 100644
--- a/src/or/or.h
+++ b/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 {