[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r17695 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r17695 - gnunet/src/transport |
Date: |
Sun, 23 Oct 2011 19:20:21 +0200 |
Author: grothoff
Date: 2011-10-23 19:20:21 +0200 (Sun, 23 Oct 2011)
New Revision: 17695
Modified:
gnunet/src/transport/gnunet-service-transport_neighbours.c
gnunet/src/transport/gnunet-service-transport_validation.c
Log:
also generate PONG if PING contains an empty address:
Modified: gnunet/src/transport/gnunet-service-transport_neighbours.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_neighbours.c 2011-10-23
16:34:12 UTC (rev 17694)
+++ gnunet/src/transport/gnunet-service-transport_neighbours.c 2011-10-23
17:20:21 UTC (rev 17695)
@@ -973,8 +973,13 @@
gettext_noop
("# messages discarded due to lack of neighbour
record"),
1, GNUNET_NO);
- *do_forward = GNUNET_NO;
- return GNUNET_TIME_UNIT_ZERO;
+ GST_neighbours_try_connect (sender);
+ n = lookup_neighbour (sender);
+ if (NULL == n)
+ {
+ *do_forward = GNUNET_NO;
+ return GNUNET_TIME_UNIT_ZERO;
+ }
}
if (GNUNET_YES != n->is_connected)
{
Modified: gnunet/src/transport/gnunet-service-transport_validation.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_validation.c 2011-10-23
16:34:12 UTC (rev 17694)
+++ gnunet/src/transport/gnunet-service-transport_validation.c 2011-10-23
17:20:21 UTC (rev 17695)
@@ -604,25 +604,31 @@
alen = ntohs (hdr->size) - sizeof (struct TransportPingMessage);
/* peer wants to confirm that this is one of our addresses, this is what is
* used for address validation */
-
- addrend = memchr (addr, '\0', alen);
- if (NULL == addrend)
+ if (0 < alen)
{
- GNUNET_break_op (0);
- return;
- }
- addrend++;
- slen = strlen (addr) + 1;
- alen -= slen;
-
- if (GNUNET_YES !=
- GST_hello_test_address (addr, addrend, alen, &sig_cache, &sig_cache_exp))
+ addrend = memchr (addr, '\0', alen);
+ if (NULL == addrend)
+ {
+ GNUNET_break_op (0);
+ return;
+ }
+ addrend++;
+ slen = strlen (addr) + 1;
+ alen -= slen;
+
+ if (GNUNET_YES !=
+ GST_hello_test_address (addr, addrend, alen, &sig_cache,
&sig_cache_exp))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ _
+ ("Not confirming PING with address `%s' since I cannot
confirm having this address.\n"),
+ GST_plugins_a2s (addr, addrend, alen));
+ return;
+ }
+ }
+ else
{
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- _
- ("Not confirming PING with address `%s' since I cannot confirm
having this address.\n"),
- GST_plugins_a2s (addr, addrend, alen));
- return;
+ slen = 0;
}
pong = GNUNET_malloc (sizeof (struct TransportPongMessage) + alen + slen);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r17695 - gnunet/src/transport,
gnunet <=