aboutsummaryrefslogtreecommitdiff
path: root/src/util/network.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/network.c')
-rw-r--r--src/util/network.c38
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
45struct GNUNET_NETWORK_TransmitHandle 45struct 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;