mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
r13908@catbus: nickm | 2007-07-25 18:55:47 -0400
Patch from Robert Hogan: set conn->dns_server_port correctly so that we can close dns server ports when they change, thus avoiding crashes and dangling references and other sources of unhappiness. svn:r10933
This commit is contained in:
@@ -76,6 +76,8 @@ Changes in version 0.2.0.3-alpha - 2007-??-??
|
||||
- Add DNSPort connections to the global connection list, so that we
|
||||
can time them out correctly. (Bug found by mwenge) [Bugfix on
|
||||
0.2.0.2-alpha]
|
||||
- Fix a dangling reference that could lead to a crash when DNSPort is
|
||||
changed or closed (Patch from Robert Hogan.) [Bugfix on 0.2.0.2-alpha]
|
||||
|
||||
o Minor bugfixes (controller)
|
||||
- Provide DNS expiry times in GMT, not in local time. For backward
|
||||
|
||||
@@ -2423,6 +2423,7 @@ connection_is_listener(connection_t *conn)
|
||||
if (conn->type == CONN_TYPE_OR_LISTENER ||
|
||||
conn->type == CONN_TYPE_AP_LISTENER ||
|
||||
conn->type == CONN_TYPE_AP_TRANS_LISTENER ||
|
||||
conn->type == CONN_TYPE_AP_DNS_LISTENER ||
|
||||
conn->type == CONN_TYPE_AP_NATD_LISTENER ||
|
||||
conn->type == CONN_TYPE_DIR_LISTENER ||
|
||||
conn->type == CONN_TYPE_CONTROL_LISTENER)
|
||||
|
||||
+2
-1
@@ -255,7 +255,8 @@ dnsserv_configure_listener(connection_t *conn)
|
||||
tor_assert(conn->s);
|
||||
tor_assert(conn->type == CONN_TYPE_AP_DNS_LISTENER);
|
||||
|
||||
evdns_add_server_port(conn->s, 0, evdns_server_callback, NULL);
|
||||
conn->dns_server_port = evdns_add_server_port(conn->s, 0,
|
||||
evdns_server_callback, NULL);
|
||||
}
|
||||
|
||||
/** Free the evdns server port for <b>conn</b>, which must be an
|
||||
|
||||
@@ -771,6 +771,7 @@ hibernate_begin(hibernate_state_t new_state, time_t now)
|
||||
while ((conn = connection_get_by_type(CONN_TYPE_OR_LISTENER)) ||
|
||||
(conn = connection_get_by_type(CONN_TYPE_AP_LISTENER)) ||
|
||||
(conn = connection_get_by_type(CONN_TYPE_AP_TRANS_LISTENER)) ||
|
||||
(conn = connection_get_by_type(CONN_TYPE_AP_DNS_LISTENER)) ||
|
||||
(conn = connection_get_by_type(CONN_TYPE_AP_NATD_LISTENER)) ||
|
||||
(conn = connection_get_by_type(CONN_TYPE_DIR_LISTENER))) {
|
||||
log_info(LD_NET,"Closing listener type %d", conn->type);
|
||||
|
||||
Reference in New Issue
Block a user