aboutsummaryrefslogtreecommitdiff
path: root/src/transport/plugin_transport_tcp.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2010-10-12 09:51:26 +0000
committerChristian Grothoff <christian@grothoff.org>2010-10-12 09:51:26 +0000
commit74095663e052f01d591aad4cdb2338d4d8f6fde9 (patch)
treef43e28c622ff34fba1496bb35282b3a57e2a22d9 /src/transport/plugin_transport_tcp.c
parent254bfc79fca2ed3f50ffbe4d5759a1f99922a154 (diff)
downloadgnunet-74095663e052f01d591aad4cdb2338d4d8f6fde9.tar.gz
gnunet-74095663e052f01d591aad4cdb2338d4d8f6fde9.zip
fixing issue pointed out by amatus
Diffstat (limited to 'src/transport/plugin_transport_tcp.c')
-rw-r--r--src/transport/plugin_transport_tcp.c41
1 files changed, 22 insertions, 19 deletions
diff --git a/src/transport/plugin_transport_tcp.c b/src/transport/plugin_transport_tcp.c
index 2b4553930..bf14092fb 100644
--- a/src/transport/plugin_transport_tcp.c
+++ b/src/transport/plugin_transport_tcp.c
@@ -2221,6 +2221,7 @@ tcp_transport_start_nat_server(struct Plugin *plugin)
2221 return GNUNET_YES; 2221 return GNUNET_YES;
2222} 2222}
2223 2223
2224
2224/** 2225/**
2225 * Return the actual path to a file found in the current 2226 * Return the actual path to a file found in the current
2226 * PATH environment variable. 2227 * PATH environment variable.
@@ -2238,11 +2239,11 @@ get_path_from_PATH (char *binary)
2238 2239
2239 p = getenv ("PATH"); 2240 p = getenv ("PATH");
2240 if (p == NULL) 2241 if (p == NULL)
2241 { 2242 {
2242 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "PATH is NULL, returning.\n"); 2243 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
2243 return NULL; 2244 _("PATH environment variable is unset.\n"));
2244 } 2245 return NULL;
2245 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "PATH is `%s', PATH_SEPARATOR is '%c'\n", p, PATH_SEPARATOR); 2246 }
2246 path = GNUNET_strdup (p); /* because we write on it */ 2247 path = GNUNET_strdup (p); /* because we write on it */
2247 buf = GNUNET_malloc (strlen (path) + 20); 2248 buf = GNUNET_malloc (strlen (path) + 20);
2248 pos = path; 2249 pos = path;
@@ -2253,21 +2254,17 @@ get_path_from_PATH (char *binary)
2253 sprintf (buf, "%s/%s", pos, binary); 2254 sprintf (buf, "%s/%s", pos, binary);
2254 if (GNUNET_DISK_file_test (buf) == GNUNET_YES) 2255 if (GNUNET_DISK_file_test (buf) == GNUNET_YES)
2255 { 2256 {
2256 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Check for `%s' have succeeded.\n", buf);
2257 GNUNET_free (path); 2257 GNUNET_free (path);
2258 return buf; 2258 return buf;
2259 } 2259 }
2260 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Check for `%s' have failed.\n", buf);
2261 pos = end + 1; 2260 pos = end + 1;
2262 } 2261 }
2263 sprintf (buf, "%s/%s", pos, binary); 2262 sprintf (buf, "%s/%s", pos, binary);
2264 if (GNUNET_DISK_file_test (buf) == GNUNET_YES) 2263 if (GNUNET_DISK_file_test (buf) == GNUNET_YES)
2265 { 2264 {
2266 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Check for `%s' have succeeded.\n", buf);
2267 GNUNET_free (path); 2265 GNUNET_free (path);
2268 return buf; 2266 return buf;
2269 } 2267 }
2270 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Check for `%s' have failed.\n", buf);
2271 GNUNET_free (buf); 2268 GNUNET_free (buf);
2272 GNUNET_free (path); 2269 GNUNET_free (path);
2273 return NULL; 2270 return NULL;
@@ -2298,13 +2295,18 @@ check_gnunet_nat_binary(char *binary)
2298 p = get_path_from_PATH (binary); 2295 p = get_path_from_PATH (binary);
2299#endif 2296#endif
2300 if (p == NULL) 2297 if (p == NULL)
2301 { 2298 {
2302 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "get_path_from_PATH (%s) have failed!\n", binary); 2299 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
2303 return GNUNET_NO; 2300 _("Could not find binary `%s' in PATH!\n"),
2304 } 2301 binary);
2302 return GNUNET_NO;
2303 }
2305 if (0 != STAT (p, &statbuf)) 2304 if (0 != STAT (p, &statbuf))
2306 { 2305 {
2307 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "STAT (%s, &statbuf) have failed!\n", p); 2306 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
2307 _("stat (%s) failed: %s\n"),
2308 p,
2309 STRERROR (errno));
2308 GNUNET_free (p); 2310 GNUNET_free (p);
2309 return GNUNET_SYSERR; 2311 return GNUNET_SYSERR;
2310 } 2312 }
@@ -2317,11 +2319,12 @@ check_gnunet_nat_binary(char *binary)
2317#else 2319#else
2318 rawsock = socket (AF_INET, SOCK_RAW, IPPROTO_ICMP); 2320 rawsock = socket (AF_INET, SOCK_RAW, IPPROTO_ICMP);
2319 if (INVALID_SOCKET == rawsock) 2321 if (INVALID_SOCKET == rawsock)
2320 { 2322 {
2321 DWORD err = GetLastError (); 2323 DWORD err = GetLastError ();
2322 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "socket (AF_INET, SOCK_RAW, IPPROTO_ICMP) have failed! GLE = %d\n", err); 2324 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
2323 return GNUNET_NO; /* not running as administrator */ 2325 "socket (AF_INET, SOCK_RAW, IPPROTO_ICMP) have failed! GLE = %d\n", err);
2324 } 2326 return GNUNET_NO; /* not running as administrator */
2327 }
2325 closesocket (rawsock); 2328 closesocket (rawsock);
2326 return GNUNET_YES; 2329 return GNUNET_YES;
2327#endif 2330#endif