From: Roger Dingledine Date: Tue, 30 Sep 2008 08:45:40 +0000 (+0000) Subject: i *think* this is equivalent. somebody should check me on it though. X-Git-Tag: tor-0.2.1.6-alpha~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=49a250b208333e35a3b7f1a82eae2682909692dd;p=thirdparty%2Ftor.git i *think* this is equivalent. somebody should check me on it though. svn:r17009 --- diff --git a/src/or/directory.c b/src/or/directory.c index 14c06b87fc..9dfc80942a 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -2622,26 +2622,9 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers, { geoip_client_action_t act = is_v3 ? GEOIP_CLIENT_NETWORKSTATUS : GEOIP_CLIENT_NETWORKSTATUS_V2; - - if (tor_addr_family(&conn->_base.addr) == AF_INET) { - uint32_t addr = tor_addr_to_ipv4h(&conn->_base.addr); - - if (conn->_base.linked_conn) { - connection_t *c = conn->_base.linked_conn; - if (c->type == CONN_TYPE_EXIT) { - circuit_t *circ = TO_EDGE_CONN(c)->on_circuit; - if (! CIRCUIT_IS_ORIGIN(circ)) { - or_connection_t *orconn = TO_OR_CIRCUIT(circ)->p_conn; - if (tor_addr_family(&conn->_base.addr) == AF_INET) - addr = tor_addr_to_ipv4h(&orconn->_base.addr); - else - addr = 0; - } - } - } - if (addr) - geoip_note_client_seen(act, addr, time(NULL)); - } + struct in_addr in; + if (!tor_inet_aton((TO_CONN(conn))->address, &in)) + geoip_note_client_seen(act, ntohl(in.s_addr), time(NULL)); } #endif