diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-12-25 00:35:59 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-12-25 00:35:59 +0100 |
commit | 21fbcd668581c72ebb7bdc01908a4cdb11ad3d25 (patch) | |
tree | 5998dd72634c3208e65c37164506676511efc9c3 /src/nat/gnunet-service-nat.c | |
parent | 96b233995e41e0b6be65734ec5f29108ee017d31 (diff) | |
download | gnunet-21fbcd668581c72ebb7bdc01908a4cdb11ad3d25.tar.gz gnunet-21fbcd668581c72ebb7bdc01908a4cdb11ad3d25.zip |
fix upnpc invocation for port mapping with upnpc
Diffstat (limited to 'src/nat/gnunet-service-nat.c')
-rw-r--r-- | src/nat/gnunet-service-nat.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/nat/gnunet-service-nat.c b/src/nat/gnunet-service-nat.c index bf3867ff2..9ad8db45a 100644 --- a/src/nat/gnunet-service-nat.c +++ b/src/nat/gnunet-service-nat.c | |||
@@ -1059,10 +1059,31 @@ upnp_addr_change_cb (void *cls, | |||
1059 | break; | 1059 | break; |
1060 | case GNUNET_NAT_ERROR_UPNPC_FAILED: | 1060 | case GNUNET_NAT_ERROR_UPNPC_FAILED: |
1061 | case GNUNET_NAT_ERROR_UPNPC_TIMEOUT: | 1061 | case GNUNET_NAT_ERROR_UPNPC_TIMEOUT: |
1062 | case GNUNET_NAT_ERROR_IPC_FAILURE: | ||
1062 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1063 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1063 | "Running upnpc failed: %d\n", | 1064 | "Running upnpc failed: %d\n", |
1064 | result); | 1065 | result); |
1065 | return; | 1066 | return; |
1067 | case GNUNET_NAT_ERROR_EXTERNAL_IP_UTILITY_NOT_FOUND: | ||
1068 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
1069 | "external-ip binary not found\n"); | ||
1070 | return; | ||
1071 | case GNUNET_NAT_ERROR_EXTERNAL_IP_UTILITY_FAILED: | ||
1072 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | ||
1073 | "external-ip binary could not be run\n"); | ||
1074 | return; | ||
1075 | case GNUNET_NAT_ERROR_UPNPC_PORTMAP_FAILED: | ||
1076 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | ||
1077 | "upnpc failed to create port mapping\n"); | ||
1078 | return; | ||
1079 | case GNUNET_NAT_ERROR_EXTERNAL_IP_UTILITY_OUTPUT_INVALID: | ||
1080 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1081 | "Invalid output from upnpc\n"); | ||
1082 | return; | ||
1083 | case GNUNET_NAT_ERROR_EXTERNAL_IP_ADDRESS_INVALID: | ||
1084 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1085 | "Invalid address returned by upnpc\n"); | ||
1086 | return; | ||
1066 | default: | 1087 | default: |
1067 | GNUNET_break (0); /* should not be possible */ | 1088 | GNUNET_break (0); /* should not be possible */ |
1068 | return; | 1089 | return; |
@@ -1823,6 +1844,16 @@ shutdown_task (void *cls) | |||
1823 | GNUNET_SCHEDULER_cancel (se->timeout_task); | 1844 | GNUNET_SCHEDULER_cancel (se->timeout_task); |
1824 | GNUNET_free (se); | 1845 | GNUNET_free (se); |
1825 | } | 1846 | } |
1847 | if (NULL != probe_external_ip_task) | ||
1848 | { | ||
1849 | GNUNET_SCHEDULER_cancel (probe_external_ip_task); | ||
1850 | probe_external_ip_task = NULL; | ||
1851 | } | ||
1852 | if (NULL != probe_external_ip_op) | ||
1853 | { | ||
1854 | GNUNET_NAT_mini_get_external_ipv4_cancel_ (probe_external_ip_op); | ||
1855 | probe_external_ip_op = NULL; | ||
1856 | } | ||
1826 | if (NULL != scan_task) | 1857 | if (NULL != scan_task) |
1827 | { | 1858 | { |
1828 | GNUNET_SCHEDULER_cancel (scan_task); | 1859 | GNUNET_SCHEDULER_cancel (scan_task); |