nat_mini.c | nat_mini.c | |||
---|---|---|---|---|
skipping to change at line 168 | skipping to change at line 168 | |||
GNUNET_NAT_mini_get_external_ipv4 (struct GNUNET_TIME_Relative timeout, | GNUNET_NAT_mini_get_external_ipv4 (struct GNUNET_TIME_Relative timeout, | |||
GNUNET_NAT_IPCallback cb, void *cb_cls) | GNUNET_NAT_IPCallback cb, void *cb_cls) | |||
{ | { | |||
struct GNUNET_NAT_ExternalHandle *eh; | struct GNUNET_NAT_ExternalHandle *eh; | |||
if (GNUNET_SYSERR == GNUNET_OS_check_helper_binary ("external-ip")) | if (GNUNET_SYSERR == GNUNET_OS_check_helper_binary ("external-ip")) | |||
return NULL; | return NULL; | |||
eh = GNUNET_malloc (sizeof (struct GNUNET_NAT_ExternalHandle)); | eh = GNUNET_malloc (sizeof (struct GNUNET_NAT_ExternalHandle)); | |||
eh->cb = cb; | eh->cb = cb; | |||
eh->cb_cls = cb_cls; | 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_Y ES); | |||
if (NULL == eh->opipe) | if (NULL == eh->opipe) | |||
{ | { | |||
GNUNET_free (eh); | GNUNET_free (eh); | |||
return NULL; | return NULL; | |||
} | } | |||
eh->eip = | eh->eip = | |||
GNUNET_OS_start_process (NULL, eh->opipe, "external-ip", "external-ip ", | GNUNET_OS_start_process (GNUNET_NO, NULL, eh->opipe, "external-ip", "ex ternal-ip", | |||
NULL); | NULL); | |||
if (NULL == eh->eip) | if (NULL == eh->eip) | |||
{ | { | |||
GNUNET_DISK_pipe_close (eh->opipe); | GNUNET_DISK_pipe_close (eh->opipe); | |||
GNUNET_free (eh); | GNUNET_free (eh); | |||
return NULL; | return NULL; | |||
} | } | |||
GNUNET_DISK_pipe_close_end (eh->opipe, GNUNET_DISK_PIPE_END_WRITE); | GNUNET_DISK_pipe_close_end (eh->opipe, GNUNET_DISK_PIPE_END_WRITE); | |||
eh->timeout = GNUNET_TIME_relative_to_absolute (timeout); | eh->timeout = GNUNET_TIME_relative_to_absolute (timeout); | |||
eh->r = GNUNET_DISK_pipe_handle (eh->opipe, GNUNET_DISK_PIPE_END_READ); | eh->r = GNUNET_DISK_pipe_handle (eh->opipe, GNUNET_DISK_PIPE_END_READ); | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |