[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r17747 - gnunet/src/vpn
From: |
gnunet |
Subject: |
[GNUnet-SVN] r17747 - gnunet/src/vpn |
Date: |
Tue, 25 Oct 2011 16:20:53 +0200 |
Author: grothoff
Date: 2011-10-25 16:20:53 +0200 (Tue, 25 Oct 2011)
New Revision: 17747
Modified:
gnunet/src/vpn/gnunet-service-dns.c
Log:
improve error reporting, fix zombie attack (#1848)
Modified: gnunet/src/vpn/gnunet-service-dns.c
===================================================================
--- gnunet/src/vpn/gnunet-service-dns.c 2011-10-25 13:48:34 UTC (rev 17746)
+++ gnunet/src/vpn/gnunet-service-dns.c 2011-10-25 14:20:53 UTC (rev 17747)
@@ -130,7 +130,7 @@
{
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
"Delaying the hijacking, port is still %d!\n", dnsoutport);
- GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, hijack, NULL);
+ GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &hijack, NULL);
return;
}
@@ -152,7 +152,10 @@
(proc =
GNUNET_OS_start_process (NULL, NULL, "gnunet-helper-hijack-dns",
"gnunet-hijack-dns", port_s, virt_dns, NULL)))
+ {
+ GNUNET_break (GNUNET_OK == GNUNET_OS_process_wait (proc));
GNUNET_OS_process_close (proc);
+ }
GNUNET_free (virt_dns);
}
@@ -182,7 +185,7 @@
"gnunet-hijack-dns", "-d", port_s, virt_dns,
NULL)))
{
- GNUNET_OS_process_wait (proc);
+ GNUNET_break (GNUNET_OK == GNUNET_OS_process_wait (proc));
GNUNET_OS_process_close (proc);
}
GNUNET_free (virt_dns);
@@ -762,7 +765,7 @@
const struct GNUNET_MessageHeader *message __attribute__ ((unused)))
{
unhijack (dnsoutport);
- GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, hijack, NULL);
+ GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &hijack, NULL);
GNUNET_SERVER_receive_done (client, GNUNET_OK);
}
@@ -1036,9 +1039,11 @@
#ifndef MINGW
if (0 != ioctl (GNUNET_NETWORK_get_fd (dnsout), FIONREAD, &len))
{
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,
+ "ioctl");
unhijack (dnsoutport);
if (GNUNET_YES == open_port ())
- GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, hijack, NULL);
+ GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &hijack, NULL);
return;
}
#else
@@ -1054,9 +1059,11 @@
if (r < 0)
{
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,
+ "recvfrom");
unhijack (dnsoutport);
if (GNUNET_YES == open_port ())
- GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, hijack, NULL);
+ GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &hijack, NULL);
return;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r17747 - gnunet/src/vpn,
gnunet <=