summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2009-06-16 16:12:06 -0400
committerNick Mathewson <nickm@torproject.org>2009-06-16 16:12:06 -0400
commit7f8a6c5e92531658e54b243ab00d1f279693a28d (patch)
tree160704a0aad3b75b97951cc2cadd21ce19a3cae7
parent845326317d9c468012ac99fab6e78575a807ed4f (diff)
downloadtor-7f8a6c5e92531658e54b243ab00d1f279693a28d.tar.gz
tor-7f8a6c5e92531658e54b243ab00d1f279693a28d.zip
Revise earlier check for correct IPv4 addr length to check for ==4.
We need this to match the check in connection_ap_handshake_socks_resolved(). Found by optimist.
-rw-r--r--src/or/relay.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/or/relay.c b/src/or/relay.c
index 9657a82956..8099f4f072 100644
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@ -925,7 +925,7 @@ connection_edge_process_relay_cell_not_open(
2+answer_len));
else
ttl = -1;
- if (answer_type == RESOLVED_TYPE_IPV4 && answer_len >= 4) {
+ if (answer_type == RESOLVED_TYPE_IPV4 && answer_len == 4) {
uint32_t addr = ntohl(get_uint32(cell->payload+RELAY_HEADER_SIZE+2));
if (get_options()->ClientDNSRejectInternalAddresses &&
is_internal_IP(addr, 0)) {
@@ -947,7 +947,7 @@ connection_edge_process_relay_cell_not_open(
cell->payload+RELAY_HEADER_SIZE+2, /*answer*/
ttl,
-1);
- if (answer_type == RESOLVED_TYPE_IPV4 && answer_len >= 4) {
+ if (answer_type == RESOLVED_TYPE_IPV4 && answer_len == 4) {
uint32_t addr = ntohl(get_uint32(cell->payload+RELAY_HEADER_SIZE+2));
remap_event_helper(conn, addr);
}