diff options
-rw-r--r-- | src/transport/gnunet-service-transport_neighbours.c | 14 | ||||
-rw-r--r-- | src/transport/gnunet-service-transport_validation.c | 17 | ||||
-rw-r--r-- | src/transport/gnunet-service-transport_validation.h | 7 |
3 files changed, 25 insertions, 13 deletions
diff --git a/src/transport/gnunet-service-transport_neighbours.c b/src/transport/gnunet-service-transport_neighbours.c index 3e8ef5aca..eea5d80a1 100644 --- a/src/transport/gnunet-service-transport_neighbours.c +++ b/src/transport/gnunet-service-transport_neighbours.c | |||
@@ -921,7 +921,7 @@ disconnect_neighbour (struct NeighbourMapEntry *n) | |||
921 | GNUNET_assert (NULL != n->address); | 921 | GNUNET_assert (NULL != n->address); |
922 | if (n->address_state == USED) | 922 | if (n->address_state == USED) |
923 | { | 923 | { |
924 | GST_validation_set_address_use (n->address, n->session, GNUNET_NO); | 924 | GST_validation_set_address_use (n->address, n->session, GNUNET_NO, __LINE__); |
925 | GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_NO); | 925 | GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_NO); |
926 | n->address_state = UNUSED; | 926 | n->address_state = UNUSED; |
927 | } | 927 | } |
@@ -1270,7 +1270,7 @@ send_switch_address_continuation (void *cls, | |||
1270 | case S_CONNECTED: | 1270 | case S_CONNECTED: |
1271 | if (n->address_state == FRESH) | 1271 | if (n->address_state == FRESH) |
1272 | { | 1272 | { |
1273 | GST_validation_set_address_use (cc->address, cc->session, GNUNET_YES); | 1273 | GST_validation_set_address_use (cc->address, cc->session, GNUNET_YES, __LINE__); |
1274 | GNUNET_ATS_address_update (GST_ats, cc->address, cc->session, NULL, 0); | 1274 | GNUNET_ATS_address_update (GST_ats, cc->address, cc->session, NULL, 0); |
1275 | if (cc->session != n->session) | 1275 | if (cc->session != n->session) |
1276 | GNUNET_break (0); | 1276 | GNUNET_break (0); |
@@ -1291,7 +1291,7 @@ send_switch_address_continuation (void *cls, | |||
1291 | 1291 | ||
1292 | if (n->address_state == FRESH) | 1292 | if (n->address_state == FRESH) |
1293 | { | 1293 | { |
1294 | GST_validation_set_address_use (cc->address, cc->session, GNUNET_YES); | 1294 | GST_validation_set_address_use (cc->address, cc->session, GNUNET_YES, __LINE__); |
1295 | GNUNET_ATS_address_update (GST_ats, cc->address, cc->session, NULL, 0); | 1295 | GNUNET_ATS_address_update (GST_ats, cc->address, cc->session, NULL, 0); |
1296 | GNUNET_ATS_address_in_use (GST_ats, cc->address, cc->session, GNUNET_YES); | 1296 | GNUNET_ATS_address_in_use (GST_ats, cc->address, cc->session, GNUNET_YES); |
1297 | n->address_state = USED; | 1297 | n->address_state = USED; |
@@ -1471,7 +1471,7 @@ GST_neighbours_switch_to_address (const struct GNUNET_PeerIdentity *peer, | |||
1471 | GNUNET_assert (NULL != n->address); | 1471 | GNUNET_assert (NULL != n->address); |
1472 | if (n->address_state == USED) | 1472 | if (n->address_state == USED) |
1473 | { | 1473 | { |
1474 | GST_validation_set_address_use (n->address, n->session, GNUNET_NO); | 1474 | GST_validation_set_address_use (n->address, n->session, GNUNET_NO, __LINE__); |
1475 | GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_NO); | 1475 | GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_NO); |
1476 | n->address_state = UNUSED; | 1476 | n->address_state = UNUSED; |
1477 | } | 1477 | } |
@@ -1802,7 +1802,7 @@ GST_neighbours_session_terminated (const struct GNUNET_PeerIdentity *peer, | |||
1802 | { | 1802 | { |
1803 | if (n->address_state == USED) | 1803 | if (n->address_state == USED) |
1804 | { | 1804 | { |
1805 | GST_validation_set_address_use (n->address, n->session, GNUNET_NO); | 1805 | GST_validation_set_address_use (n->address, n->session, GNUNET_NO, __LINE__); |
1806 | GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_NO); | 1806 | GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_NO); |
1807 | n->address_state = UNUSED; | 1807 | n->address_state = UNUSED; |
1808 | } | 1808 | } |
@@ -2469,7 +2469,7 @@ GST_neighbours_handle_connect_ack (const struct GNUNET_MessageHeader *message, | |||
2469 | 2469 | ||
2470 | if ((n->address_state == FRESH) && (0 == GNUNET_HELLO_address_cmp(address, n->address))) | 2470 | if ((n->address_state == FRESH) && (0 == GNUNET_HELLO_address_cmp(address, n->address))) |
2471 | { | 2471 | { |
2472 | GST_validation_set_address_use (n->address, n->session, GNUNET_YES); | 2472 | GST_validation_set_address_use (n->address, n->session, GNUNET_YES, __LINE__); |
2473 | GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_YES); | 2473 | GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_YES); |
2474 | n->address_state = USED; | 2474 | n->address_state = USED; |
2475 | } | 2475 | } |
@@ -2556,7 +2556,7 @@ GST_neighbours_handle_ack (const struct GNUNET_MessageHeader *message, | |||
2556 | 2556 | ||
2557 | if ((n->address_state == FRESH) && (0 == GNUNET_HELLO_address_cmp(address, n->address))) | 2557 | if ((n->address_state == FRESH) && (0 == GNUNET_HELLO_address_cmp(address, n->address))) |
2558 | { | 2558 | { |
2559 | GST_validation_set_address_use (n->address, n->session, GNUNET_YES); | 2559 | GST_validation_set_address_use (n->address, n->session, GNUNET_YES, __LINE__); |
2560 | GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_YES); | 2560 | GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_YES); |
2561 | n->address_state = USED; | 2561 | n->address_state = USED; |
2562 | } | 2562 | } |
diff --git a/src/transport/gnunet-service-transport_validation.c b/src/transport/gnunet-service-transport_validation.c index a6d942497..6a13061cc 100644 --- a/src/transport/gnunet-service-transport_validation.c +++ b/src/transport/gnunet-service-transport_validation.c | |||
@@ -1211,13 +1211,16 @@ GST_validation_get_addresses (const struct GNUNET_PeerIdentity *target, | |||
1211 | * @param session the session | 1211 | * @param session the session |
1212 | * @param in_use GNUNET_YES if we are now using the address for a connection, | 1212 | * @param in_use GNUNET_YES if we are now using the address for a connection, |
1213 | * GNUNET_NO if we are no longer using the address for a connection | 1213 | * GNUNET_NO if we are no longer using the address for a connection |
1214 | * @param line line of caller just for DEBUGGING! | ||
1214 | */ | 1215 | */ |
1215 | void | 1216 | void |
1216 | GST_validation_set_address_use (const struct GNUNET_HELLO_Address *address, | 1217 | GST_validation_set_address_use (const struct GNUNET_HELLO_Address *address, |
1217 | struct Session *session, | 1218 | struct Session *session, |
1218 | int in_use) | 1219 | int in_use, |
1220 | int line) | ||
1219 | { | 1221 | { |
1220 | struct ValidationEntry *ve; | 1222 | struct ValidationEntry *ve; |
1223 | static int last_calling_line = 0; | ||
1221 | 1224 | ||
1222 | if (NULL != address) | 1225 | if (NULL != address) |
1223 | ve = find_validation_entry (NULL, address); | 1226 | ve = find_validation_entry (NULL, address); |
@@ -1229,10 +1232,16 @@ GST_validation_set_address_use (const struct GNUNET_HELLO_Address *address, | |||
1229 | return; | 1232 | return; |
1230 | } | 1233 | } |
1231 | if (ve->in_use == in_use) | 1234 | if (ve->in_use == in_use) |
1235 | { | ||
1232 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 1236 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
1233 | "GST_validation_set_address_use: %s %s: ve->in_use %i <-> in_use %i\n", | 1237 | "Error setting address in use for peer `%s' `%s': %s -> %s; set last time by %i, called now by %i\n", |
1234 | GNUNET_i2s (&address->peer), GST_plugins_a2s (address), ve->in_use, | 1238 | |
1235 | in_use); | 1239 | GNUNET_i2s (&address->peer), GST_plugins_a2s (address), |
1240 | (GNUNET_NO == ve->in_use) ? "NOT USED" : "USED", | ||
1241 | (GNUNET_NO == in_use) ? "NOT USED" : "USED", | ||
1242 | last_calling_line, line); | ||
1243 | } | ||
1244 | last_calling_line = line; | ||
1236 | GNUNET_break (ve->in_use != in_use); /* should be different... */ | 1245 | GNUNET_break (ve->in_use != in_use); /* should be different... */ |
1237 | ve->in_use = in_use; | 1246 | ve->in_use = in_use; |
1238 | if (in_use == GNUNET_YES) | 1247 | if (in_use == GNUNET_YES) |
diff --git a/src/transport/gnunet-service-transport_validation.h b/src/transport/gnunet-service-transport_validation.h index 9b1063be3..dd5bcd6bf 100644 --- a/src/transport/gnunet-service-transport_validation.h +++ b/src/transport/gnunet-service-transport_validation.h | |||
@@ -52,13 +52,16 @@ GST_validation_stop (void); | |||
52 | * address more or less often. | 52 | * address more or less often. |
53 | * | 53 | * |
54 | * @param address the address | 54 | * @param address the address |
55 | * @param session session | 55 | * @param session the session |
56 | * @param in_use GNUNET_YES if we are now using the address for a connection, | 56 | * @param in_use GNUNET_YES if we are now using the address for a connection, |
57 | * GNUNET_NO if we are no longer using the address for a connection | 57 | * GNUNET_NO if we are no longer using the address for a connection |
58 | * @param line line of caller just for DEBUGGING! | ||
58 | */ | 59 | */ |
59 | void | 60 | void |
60 | GST_validation_set_address_use (const struct GNUNET_HELLO_Address *address, | 61 | GST_validation_set_address_use (const struct GNUNET_HELLO_Address *address, |
61 | struct Session *session, int in_use); | 62 | struct Session *session, |
63 | int in_use, | ||
64 | int line); | ||
62 | 65 | ||
63 | 66 | ||
64 | /** | 67 | /** |