aboutsummaryrefslogtreecommitdiff
path: root/src/transport/gnunet-service-transport_neighbours.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/gnunet-service-transport_neighbours.c')
-rw-r--r--src/transport/gnunet-service-transport_neighbours.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/transport/gnunet-service-transport_neighbours.c b/src/transport/gnunet-service-transport_neighbours.c
index b01c82d55..67eb9f39b 100644
--- a/src/transport/gnunet-service-transport_neighbours.c
+++ b/src/transport/gnunet-service-transport_neighbours.c
@@ -471,7 +471,7 @@ reset_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
471 n->state = S_NOT_CONNECTED; 471 n->state = S_NOT_CONNECTED;
472 472
473 /* destroying address */ 473 /* destroying address */
474 474 GNUNET_assert (strlen(n->address->transport_name) > 0);
475 GNUNET_ATS_address_destroyed (GST_ats, n->address, n->session); 475 GNUNET_ATS_address_destroyed (GST_ats, n->address, n->session);
476 476
477 /* request new address */ 477 /* request new address */
@@ -1142,7 +1142,10 @@ send_connect_continuation (void *cls, const struct GNUNET_PeerIdentity *target,
1142 struct NeighbourMapEntry *n = lookup_neighbour (&cc->address->peer); 1142 struct NeighbourMapEntry *n = lookup_neighbour (&cc->address->peer);
1143 1143
1144 if (GNUNET_YES != success) 1144 if (GNUNET_YES != success)
1145 {
1146 GNUNET_assert (strlen(cc->address->transport_name) > 0);
1145 GNUNET_ATS_address_destroyed (GST_ats, cc->address, cc->session); 1147 GNUNET_ATS_address_destroyed (GST_ats, cc->address, cc->session);
1148 }
1146 if ( (NULL == neighbours) || 1149 if ( (NULL == neighbours) ||
1147 (NULL == n) || 1150 (NULL == n) ||
1148 (n->state == S_DISCONNECT)) 1151 (n->state == S_DISCONNECT))
@@ -1172,9 +1175,6 @@ send_connect_continuation (void *cls, const struct GNUNET_PeerIdentity *target,
1172 n->session); 1175 n->session);
1173#endif 1176#endif
1174 change_state (n, S_NOT_CONNECTED); 1177 change_state (n, S_NOT_CONNECTED);
1175
1176 GNUNET_ATS_address_destroyed (GST_ats, cc->address, cc->session);
1177
1178 if (n->ats_suggest != GNUNET_SCHEDULER_NO_TASK) 1178 if (n->ats_suggest != GNUNET_SCHEDULER_NO_TASK)
1179 GNUNET_SCHEDULER_cancel (n->ats_suggest); 1179 GNUNET_SCHEDULER_cancel (n->ats_suggest);
1180 n->ats_suggest = 1180 n->ats_suggest =
@@ -1225,6 +1225,7 @@ send_switch_address_continuation (void *cls,
1225 GNUNET_i2s (&n->id), 1225 GNUNET_i2s (&n->id),
1226 GST_plugins_a2s (n->address), n->session); 1226 GST_plugins_a2s (n->address), n->session);
1227#endif 1227#endif
1228 GNUNET_assert (strlen(cc->address->transport_name) > 0);
1228 GNUNET_ATS_address_destroyed (GST_ats, cc->address, cc->session); 1229 GNUNET_ATS_address_destroyed (GST_ats, cc->address, cc->session);
1229 1230
1230 if (n->ats_suggest != GNUNET_SCHEDULER_NO_TASK) 1231 if (n->ats_suggest != GNUNET_SCHEDULER_NO_TASK)
@@ -1333,7 +1334,7 @@ send_connect_ack_continuation (void *cls,
1333 n->session); 1334 n->session);
1334#endif 1335#endif
1335 change_state (n, S_NOT_CONNECTED); 1336 change_state (n, S_NOT_CONNECTED);
1336 1337 GNUNET_assert (strlen(cc->address->transport_name) > 0);
1337 GNUNET_ATS_address_destroyed (GST_ats, cc->address, cc->session); 1338 GNUNET_ATS_address_destroyed (GST_ats, cc->address, cc->session);
1338 1339
1339 if (n->ats_suggest != GNUNET_SCHEDULER_NO_TASK) 1340 if (n->ats_suggest != GNUNET_SCHEDULER_NO_TASK)
@@ -1342,7 +1343,6 @@ send_connect_ack_continuation (void *cls,
1342 GNUNET_SCHEDULER_add_delayed (ATS_RESPONSE_TIMEOUT, ats_suggest_cancel, 1343 GNUNET_SCHEDULER_add_delayed (ATS_RESPONSE_TIMEOUT, ats_suggest_cancel,
1343 n); 1344 n);
1344 GNUNET_ATS_suggest_address (GST_ats, &n->id); 1345 GNUNET_ATS_suggest_address (GST_ats, &n->id);
1345
1346 GNUNET_HELLO_address_free (cc->address); 1346 GNUNET_HELLO_address_free (cc->address);
1347 GNUNET_free (cc); 1347 GNUNET_free (cc);
1348} 1348}
@@ -1394,7 +1394,9 @@ GST_neighbours_switch_to_address_3way (const struct GNUNET_PeerIdentity *peer,
1394 if ( (session == NULL) && (0 == address->address_length) ) 1394 if ( (session == NULL) && (0 == address->address_length) )
1395 { 1395 {
1396 GNUNET_break_op (0); 1396 GNUNET_break_op (0);
1397 GNUNET_ATS_address_destroyed (GST_ats, address, session); 1397 /* FIXME: is this actually possible? When does this happen? */
1398 if (strlen(address->transport_name) > 0)
1399 GNUNET_ATS_address_destroyed (GST_ats, address, session);
1398 GNUNET_ATS_suggest_address (GST_ats, peer); 1400 GNUNET_ATS_suggest_address (GST_ats, peer);
1399 return GNUNET_NO; 1401 return GNUNET_NO;
1400 } 1402 }