From: Bart Polot Date: Tue, 4 Feb 2014 12:36:35 +0000 (+0000) Subject: - dont return expired hellos X-Git-Tag: initial-import-from-subversion-38251~4806 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a5336c68a62a11c34561e0ea779757f829cfb093;p=oweals%2Fgnunet.git - dont return expired hellos --- diff --git a/src/mesh/gnunet-service-mesh_peer.c b/src/mesh/gnunet-service-mesh_peer.c index 32d251396..244839f44 100644 --- a/src/mesh/gnunet-service-mesh_peer.c +++ b/src/mesh/gnunet-service-mesh_peer.c @@ -1873,6 +1873,16 @@ GMP_set_hello (struct MeshPeer *peer, const struct GNUNET_HELLO_Message *hello) const struct GNUNET_HELLO_Message * GMP_get_hello (struct MeshPeer *peer) { + struct GNUNET_TIME_Absolute expiration; + struct GNUNET_TIME_Relative remaining; + + expiration = GNUNET_HELLO_get_last_expiration (peer->hello); + remaining = GNUNET_TIME_absolute_get_remaining (expiration); + if (0 == remaining.rel_value_us) + { + GNUNET_free (peer->hello); + peer->hello = NULL; + } return peer->hello; }