aboutsummaryrefslogtreecommitdiff
path: root/src/transport/gnunet-service-transport.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/gnunet-service-transport.c')
-rw-r--r--src/transport/gnunet-service-transport.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/transport/gnunet-service-transport.c b/src/transport/gnunet-service-transport.c
index de25666fa..9c873291f 100644
--- a/src/transport/gnunet-service-transport.c
+++ b/src/transport/gnunet-service-transport.c
@@ -2792,6 +2792,11 @@ setup_new_neighbour (const struct GNUNET_PeerIdentity *peer,
2792 n->piter = GNUNET_PEERINFO_iterate (peerinfo, peer, 2792 n->piter = GNUNET_PEERINFO_iterate (peerinfo, peer,
2793 GNUNET_TIME_UNIT_FOREVER_REL, 2793 GNUNET_TIME_UNIT_FOREVER_REL,
2794 &add_hello_for_peer, n); 2794 &add_hello_for_peer, n);
2795
2796 GNUNET_STATISTICS_update (stats,
2797 gettext_noop ("# HELLO's sent to new neighbors"),
2798 1,
2799 GNUNET_NO);
2795 transmit_to_peer (NULL, NULL, 0, 2800 transmit_to_peer (NULL, NULL, 0,
2796 HELLO_ADDRESS_EXPIRATION, 2801 HELLO_ADDRESS_EXPIRATION,
2797 (const char *) our_hello, GNUNET_HELLO_size(our_hello), 2802 (const char *) our_hello, GNUNET_HELLO_size(our_hello),
@@ -3258,8 +3263,14 @@ send_periodic_ping (void *cls,
3258 &neighbour->id.hashPubKey, 3263 &neighbour->id.hashPubKey,
3259 va, 3264 va,
3260 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE); 3265 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE);
3261 hello_size = GNUNET_HELLO_size(our_hello); 3266
3267 if (peer_address->validated != GNUNET_YES)
3268 hello_size = GNUNET_HELLO_size(our_hello);
3269 else
3270 hello_size = 0;
3271
3262 tsize = sizeof(struct TransportPingMessage) + hello_size; 3272 tsize = sizeof(struct TransportPingMessage) + hello_size;
3273
3263 if (peer_address->addr != NULL) 3274 if (peer_address->addr != NULL)
3264 { 3275 {
3265 slen = strlen (tp->short_name) + 1; 3276 slen = strlen (tp->short_name) + 1;
@@ -3273,7 +3284,9 @@ send_periodic_ping (void *cls,
3273 ping.header.type = htons(GNUNET_MESSAGE_TYPE_TRANSPORT_PING); 3284 ping.header.type = htons(GNUNET_MESSAGE_TYPE_TRANSPORT_PING);
3274 ping.challenge = htonl(va->challenge); 3285 ping.challenge = htonl(va->challenge);
3275 memcpy(&ping.target, &neighbour->id, sizeof(struct GNUNET_PeerIdentity)); 3286 memcpy(&ping.target, &neighbour->id, sizeof(struct GNUNET_PeerIdentity));
3276 memcpy(message_buf, our_hello, hello_size); 3287 if (peer_address->validated != GNUNET_YES)
3288 memcpy(message_buf, our_hello, hello_size);
3289
3277 if (peer_address->addr != NULL) 3290 if (peer_address->addr != NULL)
3278 { 3291 {
3279 ping.header.size = htons(sizeof(struct TransportPingMessage) + 3292 ping.header.size = htons(sizeof(struct TransportPingMessage) +
@@ -3307,6 +3320,13 @@ send_periodic_ping (void *cls,
3307 "HELLO", hello_size, 3320 "HELLO", hello_size,
3308 "PING"); 3321 "PING");
3309#endif 3322#endif
3323 if (peer_address->validated != GNUNET_YES)
3324 GNUNET_STATISTICS_update (stats,
3325 gettext_noop ("# PING+HELLO messages sent"),
3326 1,
3327 GNUNET_NO);
3328
3329
3310 GNUNET_STATISTICS_update (stats, 3330 GNUNET_STATISTICS_update (stats,
3311 gettext_noop ("# PING messages sent for re-validation"), 3331 gettext_noop ("# PING messages sent for re-validation"),
3312 1, 3332 1,