GNUNET_assert (NULL != n->address);
if (n->address_state == USED)
{
- GST_validation_set_address_use (n->address, n->session,
- GNUNET_NO);
-
+ GST_validation_set_address_use (n->address, n->session, GNUNET_NO);
GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_NO);
n->address_state = UNUSED;
}
case S_CONNECTED:
if (n->address_state == FRESH)
{
- GST_validation_set_address_use (cc->address, cc->session,
- GNUNET_YES);
+ n->address_state = USED;
+ GST_validation_set_address_use (cc->address, cc->session, GNUNET_YES);
GNUNET_ATS_address_update (GST_ats, cc->address, cc->session, NULL, 0);
GNUNET_ATS_address_in_use (GST_ats, cc->address, cc->session, GNUNET_YES);
- n->address_state = USED;
}
break;
case S_FAST_RECONNECT:
if (n->address_state == FRESH)
{
- GST_validation_set_address_use (cc->address, cc->session,
- GNUNET_YES);
+ n->address_state = USED;
+ GST_validation_set_address_use (cc->address, cc->session, GNUNET_YES);
GNUNET_ATS_address_update (GST_ats, cc->address, cc->session, NULL, 0);
GNUNET_ATS_address_in_use (GST_ats, cc->address, cc->session, GNUNET_YES);
- n->address_state = USED;
}
if (n->keepalive_task == GNUNET_SCHEDULER_NO_TASK)
GNUNET_assert (NULL != n->address);
if (n->address_state == USED)
{
- GST_validation_set_address_use (n->address, n->session,
- GNUNET_NO);
+ GST_validation_set_address_use (n->address, n->session, GNUNET_NO);
GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_NO);
n->address_state = UNUSED;
}
{
if (n->address_state == USED)
{
- GST_validation_set_address_use (n->address, n->session,
- GNUNET_NO);
+ GST_validation_set_address_use (n->address, n->session, GNUNET_NO);
GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_NO);
n->address_state = UNUSED;
}
}
GNUNET_ATS_address_update (GST_ats, address, session, ats, ats_count);
GNUNET_assert (NULL != n->address);
- if (n->address_state == FRESH)
+ if ((n->address_state == FRESH) && (0 == GNUNET_HELLO_address_cmp(address, n->address)))
{
+ n->address_state = USED;
GST_validation_set_address_use (n->address, n->session, GNUNET_YES);
GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_YES);
- n->address_state = USED;
+ if (n->session == NULL)
+ n->session = session;
}
GST_neighbours_set_incoming_quota (&n->id, n->bandwidth_in);
session, address->transport_name, GNUNET_i2s (peer));
GNUNET_ATS_address_update (GST_ats, address, session, ats, ats_count);
GNUNET_assert (n->address != NULL);
- if (n->address_state == FRESH)
+ if ((n->address_state == FRESH) && (0 == GNUNET_HELLO_address_cmp(address, n->address)))
{
+ n->address_state = USED;
GST_validation_set_address_use (n->address, n->session, GNUNET_YES);
GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_YES);
- n->address_state = USED;
+ if (n->session == NULL)
+ n->session = session;
}
neighbours_connected++;