projects
/
oweals
/
gnunet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
regex profiler cleanup
[oweals/gnunet.git]
/
src
/
nat
/
nat_mini.c
diff --git
a/src/nat/nat_mini.c
b/src/nat/nat_mini.c
index 5a83d7a4fea22e7dd4ce3b013d9d7aee494175b0..fbb6e769a7a995622357cb419e33c6ce0f88fa91 100644
(file)
--- a/
src/nat/nat_mini.c
+++ b/
src/nat/nat_mini.c
@@
-165,18
+165,24
@@
GNUNET_NAT_mini_get_external_ipv4 (struct GNUNET_TIME_Relative timeout,
struct GNUNET_NAT_ExternalHandle *eh;
if (GNUNET_SYSERR == GNUNET_OS_check_helper_binary ("external-ip"))
struct GNUNET_NAT_ExternalHandle *eh;
if (GNUNET_SYSERR == GNUNET_OS_check_helper_binary ("external-ip"))
+ {
+ LOG (GNUNET_ERROR_TYPE_INFO,
+ _("`external-ip' command not found\n"));
return NULL;
return NULL;
+ }
+ LOG (GNUNET_ERROR_TYPE_DEBUG,
+ "Running `external-ip' to determine our external IP\n");
eh = GNUNET_malloc (sizeof (struct GNUNET_NAT_ExternalHandle));
eh->cb = cb;
eh->cb_cls = cb_cls;
eh = GNUNET_malloc (sizeof (struct GNUNET_NAT_ExternalHandle));
eh->cb = cb;
eh->cb_cls = cb_cls;
- eh->opipe = GNUNET_DISK_pipe (GNUNET_YES, GNUNET_NO, GNUNET_YES);
+ eh->opipe = GNUNET_DISK_pipe (GNUNET_YES, GNUNET_
YES, GNUNET_
NO, GNUNET_YES);
if (NULL == eh->opipe)
{
GNUNET_free (eh);
return NULL;
}
eh->eip =
if (NULL == eh->opipe)
{
GNUNET_free (eh);
return NULL;
}
eh->eip =
-
GNUNET_OS_start_process (
NULL, eh->opipe, "external-ip", "external-ip",
+
GNUNET_OS_start_process (GNUNET_NO, 0,
NULL, eh->opipe, "external-ip", "external-ip",
NULL);
if (NULL == eh->eip)
{
NULL);
if (NULL == eh->eip)
{
@@
-202,7
+208,7
@@
void
GNUNET_NAT_mini_get_external_ipv4_cancel (struct GNUNET_NAT_ExternalHandle *eh)
{
(void) GNUNET_OS_process_kill (eh->eip, SIGKILL);
GNUNET_NAT_mini_get_external_ipv4_cancel (struct GNUNET_NAT_ExternalHandle *eh)
{
(void) GNUNET_OS_process_kill (eh->eip, SIGKILL);
- GNUNET_OS_process_
close
(eh->eip);
+ GNUNET_OS_process_
destroy
(eh->eip);
GNUNET_DISK_pipe_close (eh->opipe);
if (GNUNET_SCHEDULER_NO_TASK != eh->task)
GNUNET_SCHEDULER_cancel (eh->task);
GNUNET_DISK_pipe_close (eh->opipe);
if (GNUNET_SCHEDULER_NO_TASK != eh->task)
GNUNET_SCHEDULER_cancel (eh->task);
@@
-378,7
+384,7
@@
process_refresh_output (void *cls, const char *line)
if (NULL == strstr (s, pstr))
return; /* skip */
if (1 !=
if (NULL == strstr (s, pstr))
return; /* skip */
if (1 !=
-
sscanf
(line,
+
SSCANF
(line,
(mini->is_tcp) ? "%*u TCP %u->%*s:%*u %*s" :
"%*u UDP %u->%*s:%*u %*s", &nport))
return; /* skip */
(mini->is_tcp) ? "%*u TCP %u->%*s:%*u %*s" :
"%*u UDP %u->%*s:%*u %*s", &nport))
return; /* skip */
@@
-408,6
+414,8
@@
do_refresh (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
struct GNUNET_NAT_MiniHandle *mini = cls;
{
struct GNUNET_NAT_MiniHandle *mini = cls;
+ LOG (GNUNET_ERROR_TYPE_DEBUG,
+ "Running `upnpc' to check if our mapping still exists\n");
mini->refresh_task = GNUNET_SCHEDULER_NO_TASK;
mini->found = GNUNET_NO;
mini->refresh_cmd =
mini->refresh_task = GNUNET_SCHEDULER_NO_TASK;
mini->found = GNUNET_NO;
mini->refresh_cmd =
@@
-446,7
+454,7
@@
process_map_output (void *cls, const char *line)
*/
if ((NULL == (ipaddr = strstr (line, " "))) ||
(NULL == (pstr = strstr (ipaddr, ":"))) ||
*/
if ((NULL == (ipaddr = strstr (line, " "))) ||
(NULL == (pstr = strstr (ipaddr, ":"))) ||
- (1 !=
sscanf
(pstr + 1, "%u", &port)))
+ (1 !=
SSCANF
(pstr + 1, "%u", &port)))
{
return; /* skip line */
}
{
return; /* skip line */
}
@@
-492,7
+500,13
@@
GNUNET_NAT_mini_map_start (uint16_t port, int is_tcp,
char pstr[6];
if (GNUNET_SYSERR == GNUNET_OS_check_helper_binary ("upnpc"))
char pstr[6];
if (GNUNET_SYSERR == GNUNET_OS_check_helper_binary ("upnpc"))
+ {
+ LOG (GNUNET_ERROR_TYPE_INFO,
+ _("`upnpc' command not found\n"));
return NULL;
return NULL;
+ }
+ LOG (GNUNET_ERROR_TYPE_DEBUG,
+ "Running `upnpc' to install mapping\n");
ret = GNUNET_malloc (sizeof (struct GNUNET_NAT_MiniHandle));
ret->ac = ac;
ret->ac_cls = ac_cls;
ret = GNUNET_malloc (sizeof (struct GNUNET_NAT_MiniHandle));
ret->ac = ac;
ret->ac_cls = ac_cls;
@@
-524,9
+538,7
@@
process_unmap_output (void *cls, const char *line)
if (NULL == line)
{
if (NULL == line)
{
-#if DEBUG_NAT
LOG (GNUNET_ERROR_TYPE_DEBUG, "UPnP unmap done\n");
LOG (GNUNET_ERROR_TYPE_DEBUG, "UPnP unmap done\n");
-#endif
GNUNET_OS_command_stop (mini->unmap_cmd);
mini->unmap_cmd = NULL;
GNUNET_free (mini);
GNUNET_OS_command_stop (mini->unmap_cmd);
mini->unmap_cmd = NULL;
GNUNET_free (mini);
@@
-577,10
+589,8
@@
GNUNET_NAT_mini_map_stop (struct GNUNET_NAT_MiniHandle *mini)
* often are the same, but it might... */
GNUNET_snprintf (pstr, sizeof (pstr), "%u",
(unsigned int) ntohs (mini->current_addr.sin_port));
* often are the same, but it might... */
GNUNET_snprintf (pstr, sizeof (pstr), "%u",
(unsigned int) ntohs (mini->current_addr.sin_port));
-#if DEBUG_NAT
LOG (GNUNET_ERROR_TYPE_DEBUG, "Unmapping port %u with UPnP\n",
ntohs (mini->current_addr.sin_port));
LOG (GNUNET_ERROR_TYPE_DEBUG, "Unmapping port %u with UPnP\n",
ntohs (mini->current_addr.sin_port));
-#endif
mini->unmap_cmd =
GNUNET_OS_command_run (&process_unmap_output, mini, UNMAP_TIMEOUT,
"upnpc", "upnpc", "-d", pstr,
mini->unmap_cmd =
GNUNET_OS_command_run (&process_unmap_output, mini, UNMAP_TIMEOUT,
"upnpc", "upnpc", "-d", pstr,