diff options
Diffstat (limited to 'src/cadet')
-rw-r--r-- | src/cadet/gnunet-service-cadet_hello.c | 11 | ||||
-rw-r--r-- | src/cadet/gnunet-service-cadet_peer.c | 27 |
2 files changed, 16 insertions, 22 deletions
diff --git a/src/cadet/gnunet-service-cadet_hello.c b/src/cadet/gnunet-service-cadet_hello.c index 7a33b0e05..1e3322733 100644 --- a/src/cadet/gnunet-service-cadet_hello.c +++ b/src/cadet/gnunet-service-cadet_hello.c | |||
@@ -68,7 +68,6 @@ got_hello (void *cls, | |||
68 | const char *err_msg) | 68 | const char *err_msg) |
69 | { | 69 | { |
70 | struct CadetPeer *peer; | 70 | struct CadetPeer *peer; |
71 | struct GNUNET_HELLO_Builder *builder = GNUNET_HELLO_builder_from_msg (hello); | ||
72 | 71 | ||
73 | if ((NULL == id) || | 72 | if ((NULL == id) || |
74 | (NULL == hello)) | 73 | (NULL == hello)) |
@@ -81,19 +80,17 @@ got_hello (void *cls, | |||
81 | GCD_hello_update (); | 80 | GCD_hello_update (); |
82 | return; | 81 | return; |
83 | } | 82 | } |
84 | 83 | ||
85 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 84 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
86 | "Hello for %s (%d bytes), expires on %s\n", | 85 | "Hello for %s (%d bytes), expires on %s\n", |
87 | GNUNET_i2s (id), | 86 | GNUNET_i2s (id), |
88 | sizeof (hello), | 87 | sizeof (hello), |
89 | GNUNET_STRINGS_absolute_time_to_string ( | 88 | GNUNET_STRINGS_absolute_time_to_string ( |
90 | GNUNET_HELLO_builder_get_expiration_time (builder, | 89 | GNUNET_HELLO_builder_get_expiration_time (hello))); |
91 | hello))); | ||
92 | peer = GCP_get (id, | 90 | peer = GCP_get (id, |
93 | GNUNET_YES); | 91 | GNUNET_YES); |
94 | GCP_set_hello (peer, | 92 | GCP_set_hello (peer, |
95 | hello); | 93 | hello); |
96 | GNUNET_HELLO_builder_free (builder); | ||
97 | } | 94 | } |
98 | 95 | ||
99 | 96 | ||
@@ -108,8 +105,8 @@ GCH_init (const struct GNUNET_CONFIGURATION_Handle *c) | |||
108 | GNUNET_assert (NULL == peerstore_notify); | 105 | GNUNET_assert (NULL == peerstore_notify); |
109 | peerstore = GNUNET_PEERSTORE_connect (c); | 106 | peerstore = GNUNET_PEERSTORE_connect (c); |
110 | peerstore_notify = | 107 | peerstore_notify = |
111 | GNUNET_PEERSTORE_hello_changed_notify (peerstore, GNUNET_NO, &got_hello, | 108 | GNUNET_PEERSTORE_hello_changed_notify (peerstore, GNUNET_NO, &got_hello, |
112 | NULL); | 109 | NULL); |
113 | } | 110 | } |
114 | 111 | ||
115 | 112 | ||
diff --git a/src/cadet/gnunet-service-cadet_peer.c b/src/cadet/gnunet-service-cadet_peer.c index c46e968dc..5c810e926 100644 --- a/src/cadet/gnunet-service-cadet_peer.c +++ b/src/cadet/gnunet-service-cadet_peer.c | |||
@@ -491,15 +491,13 @@ consider_peer_destroy (struct CadetPeer *cp) | |||
491 | return; /* still relevant! */ | 491 | return; /* still relevant! */ |
492 | if (NULL != cp->hello) | 492 | if (NULL != cp->hello) |
493 | { | 493 | { |
494 | struct GNUNET_HELLO_Builder *builder = GNUNET_HELLO_builder_from_msg (cp->hello); | ||
495 | |||
496 | /* relevant only until HELLO expires */ | 494 | /* relevant only until HELLO expires */ |
497 | exp = GNUNET_TIME_absolute_get_remaining (GNUNET_HELLO_builder_get_expiration_time (builder, | 495 | exp = GNUNET_TIME_absolute_get_remaining ( |
498 | cp->hello)); | 496 | GNUNET_HELLO_builder_get_expiration_time (cp |
497 | ->hello)); | ||
499 | cp->destroy_task = GNUNET_SCHEDULER_add_delayed (exp, | 498 | cp->destroy_task = GNUNET_SCHEDULER_add_delayed (exp, |
500 | &destroy_peer, | 499 | &destroy_peer, |
501 | cp); | 500 | cp); |
502 | GNUNET_HELLO_builder_free (builder); | ||
503 | return; | 501 | return; |
504 | } | 502 | } |
505 | cp->destroy_task = GNUNET_SCHEDULER_add_delayed (IDLE_PEER_TIMEOUT, | 503 | cp->destroy_task = GNUNET_SCHEDULER_add_delayed (IDLE_PEER_TIMEOUT, |
@@ -1323,14 +1321,15 @@ GCP_set_hello (struct CadetPeer *cp, | |||
1323 | if (NULL != cp->hello) | 1321 | if (NULL != cp->hello) |
1324 | { | 1322 | { |
1325 | struct GNUNET_TIME_Absolute now = GNUNET_TIME_absolute_get (); | 1323 | struct GNUNET_TIME_Absolute now = GNUNET_TIME_absolute_get (); |
1326 | struct GNUNET_HELLO_Builder *builder = GNUNET_HELLO_builder_from_msg (hello); | 1324 | |
1327 | struct GNUNET_HELLO_Builder *cp_builder = GNUNET_HELLO_builder_from_msg (cp->hello); | 1325 | struct GNUNET_TIME_Absolute new_hello_exp = |
1328 | struct GNUNET_TIME_Absolute new_hello_exp = GNUNET_HELLO_builder_get_expiration_time (builder, | 1326 | GNUNET_HELLO_builder_get_expiration_time (hello); |
1329 | hello); | 1327 | struct GNUNET_TIME_Absolute old_hello_exp = |
1330 | struct GNUNET_TIME_Absolute old_hello_exp = GNUNET_HELLO_builder_get_expiration_time (cp_builder, | 1328 | GNUNET_HELLO_builder_get_expiration_time (cp |
1331 | cp->hello); | 1329 | ->hello); |
1332 | 1330 | ||
1333 | if (GNUNET_TIME_absolute_cmp (new_hello_exp, > , now) && GNUNET_TIME_absolute_cmp (new_hello_exp, > , old_hello_exp)) | 1331 | if (GNUNET_TIME_absolute_cmp (new_hello_exp, >, now) && |
1332 | GNUNET_TIME_absolute_cmp (new_hello_exp, >, old_hello_exp)) | ||
1334 | { | 1333 | { |
1335 | GNUNET_free (cp->hello); | 1334 | GNUNET_free (cp->hello); |
1336 | cp->hello = GNUNET_malloc (size); | 1335 | cp->hello = GNUNET_malloc (size); |
@@ -1340,8 +1339,6 @@ GCP_set_hello (struct CadetPeer *cp, | |||
1340 | { | 1339 | { |
1341 | return; | 1340 | return; |
1342 | } | 1341 | } |
1343 | GNUNET_HELLO_builder_free (builder); | ||
1344 | GNUNET_HELLO_builder_free (cp_builder); | ||
1345 | } | 1342 | } |
1346 | else | 1343 | else |
1347 | { | 1344 | { |