diff options
author | Christian Grothoff <christian@grothoff.org> | 2012-02-13 14:59:30 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2012-02-13 14:59:30 +0000 |
commit | 2a048bd51f0a5bab883f768365b86dd8c2cd29f5 (patch) | |
tree | 8cfed8591180344466416e25d6d10d84af0ffa70 /src/dns | |
parent | d5ee578a6f6e3c234b52296ce6ba3792a04497ef (diff) | |
download | gnunet-2a048bd51f0a5bab883f768365b86dd8c2cd29f5.tar.gz gnunet-2a048bd51f0a5bab883f768365b86dd8c2cd29f5.zip |
-extra checks
Diffstat (limited to 'src/dns')
-rw-r--r-- | src/dns/gnunet-service-dns.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/dns/gnunet-service-dns.c b/src/dns/gnunet-service-dns.c index 371713eec..79beef831 100644 --- a/src/dns/gnunet-service-dns.c +++ b/src/dns/gnunet-service-dns.c | |||
@@ -1394,7 +1394,7 @@ receive_dns_request (void *cls GNUNET_UNUSED, struct GNUNET_MESH_Tunnel *tunnel, | |||
1394 | struct sockaddr_in6 v6; | 1394 | struct sockaddr_in6 v6; |
1395 | struct sockaddr *so; | 1395 | struct sockaddr *so; |
1396 | socklen_t salen; | 1396 | socklen_t salen; |
1397 | 1397 | ||
1398 | if (dlen < sizeof (struct GNUNET_TUN_DnsHeader)) | 1398 | if (dlen < sizeof (struct GNUNET_TUN_DnsHeader)) |
1399 | { | 1399 | { |
1400 | GNUNET_break_op (0); | 1400 | GNUNET_break_op (0); |
@@ -1410,7 +1410,6 @@ receive_dns_request (void *cls GNUNET_UNUSED, struct GNUNET_MESH_Tunnel *tunnel, | |||
1410 | memcpy (buf, dns, dlen); | 1410 | memcpy (buf, dns, dlen); |
1411 | dout = (struct GNUNET_TUN_DnsHeader*) buf; | 1411 | dout = (struct GNUNET_TUN_DnsHeader*) buf; |
1412 | dout->id = ts->my_id; | 1412 | dout->id = ts->my_id; |
1413 | |||
1414 | memset (&v4, 0, sizeof (v4)); | 1413 | memset (&v4, 0, sizeof (v4)); |
1415 | memset (&v6, 0, sizeof (v6)); | 1414 | memset (&v6, 0, sizeof (v6)); |
1416 | if (1 == inet_pton (AF_INET, dns_exit, &v4.sin_addr)) | 1415 | if (1 == inet_pton (AF_INET, dns_exit, &v4.sin_addr)) |
@@ -1423,8 +1422,8 @@ receive_dns_request (void *cls GNUNET_UNUSED, struct GNUNET_MESH_Tunnel *tunnel, | |||
1423 | #endif | 1422 | #endif |
1424 | so = (struct sockaddr *) &v4; | 1423 | so = (struct sockaddr *) &v4; |
1425 | ts->dnsout = get_request_socket (AF_INET); | 1424 | ts->dnsout = get_request_socket (AF_INET); |
1426 | } | 1425 | } |
1427 | if (1 == inet_pton (AF_INET6, dns_exit, &v6.sin6_addr)) | 1426 | else if (1 == inet_pton (AF_INET6, dns_exit, &v6.sin6_addr)) |
1428 | { | 1427 | { |
1429 | salen = sizeof (v6); | 1428 | salen = sizeof (v6); |
1430 | v6.sin6_family = AF_INET6; | 1429 | v6.sin6_family = AF_INET6; |
@@ -1435,6 +1434,11 @@ receive_dns_request (void *cls GNUNET_UNUSED, struct GNUNET_MESH_Tunnel *tunnel, | |||
1435 | so = (struct sockaddr *) &v6; | 1434 | so = (struct sockaddr *) &v6; |
1436 | ts->dnsout = get_request_socket (AF_INET6); | 1435 | ts->dnsout = get_request_socket (AF_INET6); |
1437 | } | 1436 | } |
1437 | else | ||
1438 | { | ||
1439 | GNUNET_break (0); | ||
1440 | return GNUNET_SYSERR; | ||
1441 | } | ||
1438 | if (NULL == ts->dnsout) | 1442 | if (NULL == ts->dnsout) |
1439 | { | 1443 | { |
1440 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 1444 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
@@ -1542,8 +1546,12 @@ run (void *cls, struct GNUNET_SERVER_Handle *server, | |||
1542 | &dns_exit)) || | 1546 | &dns_exit)) || |
1543 | ( (1 != inet_pton (AF_INET, dns_exit, &dns_exit4)) && | 1547 | ( (1 != inet_pton (AF_INET, dns_exit, &dns_exit4)) && |
1544 | (1 != inet_pton (AF_INET6, dns_exit, &dns_exit6)) ) ) ) | 1548 | (1 != inet_pton (AF_INET6, dns_exit, &dns_exit6)) ) ) ) |
1549 | { | ||
1545 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 1550 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
1546 | _("Configured to provide DNS exit, but no valid DNS server configured!\n")); | 1551 | _("Configured to provide DNS exit, but no valid DNS server configured!\n")); |
1552 | GNUNET_free_non_null (dns_exit); | ||
1553 | dns_exit = NULL; | ||
1554 | } | ||
1547 | 1555 | ||
1548 | helper_argv[0] = GNUNET_strdup ("gnunet-dns"); | 1556 | helper_argv[0] = GNUNET_strdup ("gnunet-dns"); |
1549 | if (GNUNET_SYSERR == | 1557 | if (GNUNET_SYSERR == |