diff options
author | Christian Grothoff <christian@grothoff.org> | 2015-02-06 12:42:48 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2015-02-06 12:42:48 +0000 |
commit | 34206679446e053b674a4fbdaabdd8c463ad70e2 (patch) | |
tree | d283489042217798e92bb0168c4c7399f16a5c71 /src/ats/plugin_ats_ril.c | |
parent | 0dcfafed3117b1759f1d4ab3cb5db11952e65061 (diff) | |
download | gnunet-34206679446e053b674a4fbdaabdd8c463ad70e2.tar.gz gnunet-34206679446e053b674a4fbdaabdd8c463ad70e2.zip |
-fix ril delete address handling
Diffstat (limited to 'src/ats/plugin_ats_ril.c')
-rw-r--r-- | src/ats/plugin_ats_ril.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/ats/plugin_ats_ril.c b/src/ats/plugin_ats_ril.c index 73bb8d27d..6be8ef4f6 100644 --- a/src/ats/plugin_ats_ril.c +++ b/src/ats/plugin_ats_ril.c | |||
@@ -819,7 +819,9 @@ envi_set_active_suggestion (struct GAS_RIL_Handle *solver, | |||
819 | { | 819 | { |
820 | int notify = GNUNET_NO; | 820 | int notify = GNUNET_NO; |
821 | 821 | ||
822 | LOG(GNUNET_ERROR_TYPE_DEBUG, " set_active_suggestion() for peer '%s'\n", GNUNET_i2s (&agent->peer)); | 822 | LOG(GNUNET_ERROR_TYPE_DEBUG, |
823 | " set_active_suggestion() for peer '%s'\n", | ||
824 | GNUNET_i2s (&agent->peer)); | ||
823 | 825 | ||
824 | //address change | 826 | //address change |
825 | if (agent->address_inuse != new_address) | 827 | if (agent->address_inuse != new_address) |
@@ -2303,21 +2305,17 @@ GAS_ril_address_delete (void *solver, | |||
2303 | agent->addresses_tail, | 2305 | agent->addresses_tail, |
2304 | address_wrapped); | 2306 | address_wrapped); |
2305 | GNUNET_free (address_wrapped); | 2307 | GNUNET_free (address_wrapped); |
2308 | address_was_used = GNUNET_NO; | ||
2306 | if (agent->suggestion_address == address) | 2309 | if (agent->suggestion_address == address) |
2307 | { | 2310 | { |
2308 | agent->suggestion_address = NULL; | ||
2309 | agent->suggestion_issue = GNUNET_NO; | 2311 | agent->suggestion_issue = GNUNET_NO; |
2310 | address_was_used = GNUNET_YES; | 2312 | agent->suggestion_address = NULL; |
2311 | } | 2313 | } |
2312 | else if (agent->address_inuse == address) | 2314 | if (agent->address_inuse == address) |
2313 | { | 2315 | { |
2314 | agent->address_inuse = NULL; | ||
2315 | address_was_used = GNUNET_YES; | 2316 | address_was_used = GNUNET_YES; |
2316 | } | 2317 | } |
2317 | else | 2318 | |
2318 | { | ||
2319 | address_was_used = GNUNET_NO; | ||
2320 | } | ||
2321 | 2319 | ||
2322 | //decrease W | 2320 | //decrease W |
2323 | m_new = agent->m - ((s->parameters.rbf_divisor+1) * (s->parameters.rbf_divisor+1)); | 2321 | m_new = agent->m - ((s->parameters.rbf_divisor+1) * (s->parameters.rbf_divisor+1)); |
@@ -2358,6 +2356,8 @@ GAS_ril_address_delete (void *solver, | |||
2358 | { | 2356 | { |
2359 | if (NULL != agent->addresses_head) //if peer has an address left, use it | 2357 | if (NULL != agent->addresses_head) //if peer has an address left, use it |
2360 | { | 2358 | { |
2359 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
2360 | "Active address died, suggesting alternative!\n"); | ||
2361 | envi_set_active_suggestion (s, | 2361 | envi_set_active_suggestion (s, |
2362 | agent, | 2362 | agent, |
2363 | agent->addresses_head->address_naked, | 2363 | agent->addresses_head->address_naked, |
@@ -2367,6 +2367,8 @@ GAS_ril_address_delete (void *solver, | |||
2367 | } | 2367 | } |
2368 | else | 2368 | else |
2369 | { | 2369 | { |
2370 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
2371 | "Active address died, suggesting disconnect!\n"); | ||
2370 | envi_set_active_suggestion (s, agent, NULL, 0, 0, GNUNET_NO); | 2372 | envi_set_active_suggestion (s, agent, NULL, 0, 0, GNUNET_NO); |
2371 | } | 2373 | } |
2372 | } | 2374 | } |