diff options
Diffstat (limited to 'src/util/network.c')
-rw-r--r-- | src/util/network.c | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/src/util/network.c b/src/util/network.c index 7fd6f6c47..0526bc844 100644 --- a/src/util/network.c +++ b/src/util/network.c | |||
@@ -40,7 +40,7 @@ | |||
40 | #include "gnunet_network_lib.h" | 40 | #include "gnunet_network_lib.h" |
41 | #include "gnunet_scheduler_lib.h" | 41 | #include "gnunet_scheduler_lib.h" |
42 | 42 | ||
43 | #define DEBUG_NETWORK GNUNET_NO | 43 | #define DEBUG_NETWORK GNUNET_YES |
44 | 44 | ||
45 | struct GNUNET_NETWORK_TransmitHandle | 45 | struct GNUNET_NETWORK_TransmitHandle |
46 | { | 46 | { |
@@ -234,9 +234,7 @@ GNUNET_NETWORK_socket_create_from_accept (struct GNUNET_SCHEDULER_Handle | |||
234 | { | 234 | { |
235 | struct GNUNET_NETWORK_SocketHandle *ret; | 235 | struct GNUNET_NETWORK_SocketHandle *ret; |
236 | char addr[32]; | 236 | char addr[32]; |
237 | char msg[INET6_ADDRSTRLEN]; | ||
238 | socklen_t addrlen; | 237 | socklen_t addrlen; |
239 | int fam; | ||
240 | int fd; | 238 | int fd; |
241 | int aret; | 239 | int aret; |
242 | struct sockaddr_in *v4; | 240 | struct sockaddr_in *v4; |
@@ -287,19 +285,9 @@ GNUNET_NETWORK_socket_create_from_accept (struct GNUNET_SCHEDULER_Handle | |||
287 | (GNUNET_YES != (aret = access (access_cls, uaddr, addrlen)))) | 285 | (GNUNET_YES != (aret = access (access_cls, uaddr, addrlen)))) |
288 | { | 286 | { |
289 | if (aret == GNUNET_NO) | 287 | if (aret == GNUNET_NO) |
290 | { | 288 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
291 | fam = ((struct sockaddr *) addr)->sa_family; | 289 | _("Access denied to `%s'\n"), |
292 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 290 | GNUNET_a2s(uaddr, addrlen)); |
293 | _("Access denied to `%s'\n"), | ||
294 | inet_ntop (fam, | ||
295 | (fam == AF_INET6) | ||
296 | ? (const void *) &((struct sockaddr_in6 *) | ||
297 | &addr)->sin6_addr : (const | ||
298 | void | ||
299 | *) | ||
300 | &((struct sockaddr_in *) &addr)->sin_addr, | ||
301 | msg, sizeof (msg))); | ||
302 | } | ||
303 | GNUNET_break (0 == SHUTDOWN (fd, SHUT_RDWR)); | 291 | GNUNET_break (0 == SHUTDOWN (fd, SHUT_RDWR)); |
304 | GNUNET_break (0 == CLOSE (fd)); | 292 | GNUNET_break (0 == CLOSE (fd)); |
305 | GNUNET_free (uaddr); | 293 | GNUNET_free (uaddr); |
@@ -493,12 +481,22 @@ connect_continuation (void *cls, | |||
493 | (0 != getsockopt (sock->sock, SOL_SOCKET, SO_ERROR, &error, &len)) || | 481 | (0 != getsockopt (sock->sock, SOL_SOCKET, SO_ERROR, &error, &len)) || |
494 | (error != 0) || (errno != 0)) | 482 | (error != 0) || (errno != 0)) |
495 | { | 483 | { |
484 | #if DEBUG_NETWORK | ||
485 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
486 | "Failed to establish TCP connection to `%s'\n", | ||
487 | GNUNET_a2s(sock->addr, sock->addrlen)); | ||
488 | #endif | ||
496 | /* connect failed / timed out */ | 489 | /* connect failed / timed out */ |
497 | GNUNET_break (0 == CLOSE (sock->sock)); | 490 | GNUNET_break (0 == CLOSE (sock->sock)); |
498 | sock->sock = -1; | 491 | sock->sock = -1; |
499 | if (GNUNET_SYSERR == try_connect (sock)) | 492 | if (GNUNET_SYSERR == try_connect (sock)) |
500 | { | 493 | { |
501 | /* failed for good */ | 494 | /* failed for good */ |
495 | #if DEBUG_NETWORK | ||
496 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
497 | "Failed to establish TCP connection, no further addresses to try.\n"); | ||
498 | #endif | ||
499 | /* connect failed / timed out */ | ||
502 | GNUNET_break (sock->ai_pos == NULL); | 500 | GNUNET_break (sock->ai_pos == NULL); |
503 | freeaddrinfo (sock->ai); | 501 | freeaddrinfo (sock->ai); |
504 | sock->ai = NULL; | 502 | sock->ai = NULL; |
@@ -1052,10 +1050,6 @@ transmit_ready (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1052 | ssize_t ret; | 1050 | ssize_t ret; |
1053 | size_t have; | 1051 | size_t have; |
1054 | 1052 | ||
1055 | #if DEBUG_NETWORK | ||
1056 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1057 | "Transmit ready called --- will try to send\n"); | ||
1058 | #endif | ||
1059 | GNUNET_assert (sock->write_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK); | 1053 | GNUNET_assert (sock->write_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK); |
1060 | sock->write_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK; | 1054 | sock->write_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK; |
1061 | if (sock->connect_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK) | 1055 | if (sock->connect_task != GNUNET_SCHEDULER_NO_PREREQUISITE_TASK) |
@@ -1091,6 +1085,10 @@ transmit_ready (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1091 | #endif | 1085 | #endif |
1092 | goto SCHEDULE_WRITE; | 1086 | goto SCHEDULE_WRITE; |
1093 | } | 1087 | } |
1088 | #if DEBUG_NETWORK | ||
1089 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1090 | "Transmit ready called --- will try to send\n"); | ||
1091 | #endif | ||
1094 | GNUNET_assert (sock->write_buffer_off >= sock->write_buffer_pos); | 1092 | GNUNET_assert (sock->write_buffer_off >= sock->write_buffer_pos); |
1095 | process_notify (sock); | 1093 | process_notify (sock); |
1096 | have = sock->write_buffer_off - sock->write_buffer_pos; | 1094 | have = sock->write_buffer_off - sock->write_buffer_pos; |