diff options
Diffstat (limited to 'src/nat/nat.c')
-rw-r--r-- | src/nat/nat.c | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/nat/nat.c b/src/nat/nat.c index 1c60e4e0d..042a0f686 100644 --- a/src/nat/nat.c +++ b/src/nat/nat.c | |||
@@ -603,7 +603,8 @@ add_to_address_list (struct GNUNET_NAT_Handle *h, | |||
603 | */ | 603 | */ |
604 | static void | 604 | static void |
605 | add_ip_to_address_list (struct GNUNET_NAT_Handle *h, | 605 | add_ip_to_address_list (struct GNUNET_NAT_Handle *h, |
606 | enum LocalAddressSource src, const void *addr, | 606 | enum LocalAddressSource src, |
607 | const void *addr, | ||
607 | socklen_t addrlen) | 608 | socklen_t addrlen) |
608 | { | 609 | { |
609 | struct sockaddr_in s4; | 610 | struct sockaddr_in s4; |
@@ -913,10 +914,12 @@ process_interfaces (void *cls, | |||
913 | GNUNET_break (0); | 914 | GNUNET_break (0); |
914 | return GNUNET_OK; | 915 | return GNUNET_OK; |
915 | } | 916 | } |
916 | if ((h->internal_address == NULL) && (h->server_proc == NULL) && | 917 | if ( (h->internal_address == NULL) && |
917 | (h->server_read_task == NULL) && | 918 | (h->server_proc == NULL) && |
918 | (GNUNET_YES == isDefault) && ((addr->sa_family == AF_INET) || | 919 | (h->server_read_task == NULL) && |
919 | (addr->sa_family == AF_INET6))) | 920 | (GNUNET_YES == isDefault) && |
921 | ( (addr->sa_family == AF_INET) || | ||
922 | (addr->sa_family == AF_INET6) ) ) | ||
920 | { | 923 | { |
921 | /* no internal address configured, but we found a "default" | 924 | /* no internal address configured, but we found a "default" |
922 | * interface, try using that as our 'internal' address */ | 925 | * interface, try using that as our 'internal' address */ |
@@ -938,12 +941,8 @@ static void | |||
938 | restart_nat_server (void *cls) | 941 | restart_nat_server (void *cls) |
939 | { | 942 | { |
940 | struct GNUNET_NAT_Handle *h = cls; | 943 | struct GNUNET_NAT_Handle *h = cls; |
941 | const struct GNUNET_SCHEDULER_TaskContext *tc; | ||
942 | 944 | ||
943 | h->server_read_task = NULL; | 945 | h->server_read_task = NULL; |
944 | tc = GNUNET_SCHEDULER_get_task_context (); | ||
945 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | ||
946 | return; | ||
947 | start_gnunet_nat_server (h); | 946 | start_gnunet_nat_server (h); |
948 | } | 947 | } |
949 | 948 | ||
@@ -965,12 +964,8 @@ nat_server_read (void *cls) | |||
965 | int port; | 964 | int port; |
966 | const char *port_start; | 965 | const char *port_start; |
967 | struct sockaddr_in sin_addr; | 966 | struct sockaddr_in sin_addr; |
968 | const struct GNUNET_SCHEDULER_TaskContext *tc; | ||
969 | 967 | ||
970 | h->server_read_task = NULL; | 968 | h->server_read_task = NULL; |
971 | tc = GNUNET_SCHEDULER_get_task_context (); | ||
972 | if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0) | ||
973 | return; | ||
974 | memset (mybuf, 0, sizeof (mybuf)); | 969 | memset (mybuf, 0, sizeof (mybuf)); |
975 | bytes = | 970 | bytes = |
976 | GNUNET_DISK_file_read (h->server_stdout_handle, mybuf, sizeof (mybuf)); | 971 | GNUNET_DISK_file_read (h->server_stdout_handle, mybuf, sizeof (mybuf)); |
@@ -1036,7 +1031,8 @@ nat_server_read (void *cls) | |||
1036 | sizeof (sin_addr)); | 1031 | sizeof (sin_addr)); |
1037 | h->server_read_task = | 1032 | h->server_read_task = |
1038 | GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL, | 1033 | GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL, |
1039 | h->server_stdout_handle, &nat_server_read, | 1034 | h->server_stdout_handle, |
1035 | &nat_server_read, | ||
1040 | h); | 1036 | h); |
1041 | } | 1037 | } |
1042 | 1038 | ||