diff options
Diffstat (limited to 'src/transport/gnunet-service-transport.c')
-rw-r--r-- | src/transport/gnunet-service-transport.c | 24 |
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, |