[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r15925 - gnunet/src/nat
From: |
gnunet |
Subject: |
[GNUnet-SVN] r15925 - gnunet/src/nat |
Date: |
Mon, 11 Jul 2011 16:35:45 +0200 |
Author: grothoff
Date: 2011-07-11 16:35:44 +0200 (Mon, 11 Jul 2011)
New Revision: 15925
Modified:
gnunet/src/nat/nat.c
gnunet/src/nat/nat_mini.c
Log:
proper cleanup
Modified: gnunet/src/nat/nat.c
===================================================================
--- gnunet/src/nat/nat.c 2011-07-11 14:35:34 UTC (rev 15924)
+++ gnunet/src/nat/nat.c 2011-07-11 14:35:44 UTC (rev 15925)
@@ -1316,7 +1316,8 @@
GNUNET_CONTAINER_DLL_remove (h->mini_head,
h->mini_tail,
ml);
- GNUNET_NAT_mini_map_stop (ml->mini);
+ if (NULL != ml->mini)
+ GNUNET_NAT_mini_map_stop (ml->mini);
GNUNET_free (ml);
}
if (h->ext_dns != NULL)
Modified: gnunet/src/nat/nat_mini.c
===================================================================
--- gnunet/src/nat/nat_mini.c 2011-07-11 14:35:34 UTC (rev 15924)
+++ gnunet/src/nat/nat_mini.c 2011-07-11 14:35:44 UTC (rev 15925)
@@ -399,7 +399,7 @@
* @param is_tcp GNUNET_YES to map TCP, GNUNET_NO for UDP
* @param ac function to call with mapping result
* @param ac_cls closure for 'ac'
- * @return NULL on error
+ * @return NULL on error (no 'upnpc' installed)
*/
struct GNUNET_NAT_MiniHandle *
GNUNET_NAT_mini_map_start (uint16_t port,
@@ -410,6 +410,9 @@
struct GNUNET_NAT_MiniHandle *ret;
char pstr[6];
+ if (GNUNET_SYSERR ==
+ GNUNET_OS_check_helper_binary ("upnpc"))
+ return NULL;
ret = GNUNET_malloc (sizeof (struct GNUNET_NAT_MiniHandle));
ret->ac = ac;
ret->ac_cls = ac_cls;
@@ -474,6 +477,16 @@
{
char pstr[6];
+ if (GNUNET_SCHEDULER_NO_TASK != mini->refresh_task)
+ {
+ GNUNET_SCHEDULER_cancel (mini->refresh_task);
+ mini->refresh_task = GNUNET_SCHEDULER_NO_TASK;
+ }
+ if (mini->refresh_cmd != NULL)
+ {
+ GNUNET_OS_command_stop (mini->refresh_cmd);
+ mini->refresh_cmd = NULL;
+ }
if (! mini->did_map)
{
if (mini->map_cmd != NULL)
@@ -484,16 +497,6 @@
GNUNET_free (mini);
return;
}
- if (GNUNET_SCHEDULER_NO_TASK != mini->refresh_task)
- {
- GNUNET_SCHEDULER_cancel (mini->refresh_task);
- mini->refresh_task = GNUNET_SCHEDULER_NO_TASK;
- }
- if (mini->refresh_cmd != NULL)
- {
- GNUNET_OS_command_stop (mini->refresh_cmd);
- mini->refresh_cmd = NULL;
- }
mini->ac (mini->ac_cls, GNUNET_NO,
(const struct sockaddr*) &mini->current_addr,
sizeof (mini->current_addr));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r15925 - gnunet/src/nat,
gnunet <=