[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r31346 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r31346 - gnunet/src/transport |
Date: |
Fri, 13 Dec 2013 11:42:41 +0100 |
Author: wachs
Date: 2013-12-13 11:42:41 +0100 (Fri, 13 Dec 2013)
New Revision: 31346
Modified:
gnunet/src/transport/gnunet-service-transport_neighbours.c
Log:
Destroy address and session if blacklist denies connection
Address suggestion requests are not need, if a request was scheduled before...
Modified: gnunet/src/transport/gnunet-service-transport_neighbours.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_neighbours.c 2013-12-13
09:05:33 UTC (rev 31345)
+++ gnunet/src/transport/gnunet-service-transport_neighbours.c 2013-12-13
10:42:41 UTC (rev 31346)
@@ -1817,6 +1817,15 @@
(GNUNET_OK == result) ? "allowed" : "FORBIDDEN");
if (GNUNET_OK == result)
GST_ats_add_address (bcc->na.address, bcc->na.session);
+ else
+ {
+ /* Blacklist disagreed on connecting to a peer with this address
+ * Destroy address because we are not allowed to use it
+ */
+ if (NULL != bcc->na.session)
+ GNUNET_ATS_address_destroyed (GST_ats, bcc->na.address, bcc->na.session);
+ GNUNET_ATS_address_destroyed (GST_ats, bcc->na.address, NULL);
+ }
if (NULL == (n = lookup_neighbour (peer)))
goto cleanup; /* nobody left to care about new address */
switch (n->state)
@@ -1851,15 +1860,9 @@
}
else
{
- // FIXME: should also possibly destroy session with plugin!?
- GNUNET_ATS_address_destroyed (GST_ats,
- bcc->na.address,
- NULL);
free_address (&n->primary_address);
n->state = S_INIT_ATS;
n->timeout = GNUNET_TIME_relative_to_absolute (ATS_RESPONSE_TIMEOUT);
- // FIXME: do we need to ask ATS again for suggestions?
- n->suggest_handle = GNUNET_ATS_suggest_address (GST_ats, &n->id);
}
break;
case S_CONNECT_SENT:
@@ -1912,15 +1915,10 @@
break;
}
GNUNET_break (NULL != plugin);
- GNUNET_ATS_address_destroyed (GST_ats,
- bcc->na.address,
- NULL);
free_address (&n->primary_address);
n->state = S_INIT_ATS;
n->timeout = GNUNET_TIME_relative_to_absolute (ATS_RESPONSE_TIMEOUT);
- // FIXME: do we need to ask ATS again for suggestions?
GNUNET_ATS_reset_backoff (GST_ats, peer);
- n->suggest_handle = GNUNET_ATS_suggest_address (GST_ats, &n->id);
}
break;
case S_CONNECT_RECV_ACK:
@@ -1959,13 +1957,8 @@
}
else
{
- GNUNET_ATS_address_destroyed (GST_ats,
- bcc->na.address,
- NULL);
n->state = S_RECONNECT_ATS;
n->timeout = GNUNET_TIME_relative_to_absolute (ATS_RESPONSE_TIMEOUT);
- // FIXME: do we need to ask ATS again for suggestions?
- n->suggest_handle = GNUNET_ATS_suggest_address (GST_ats, &n->id);
}
break;
case S_RECONNECT_SENT:
@@ -1989,9 +1982,6 @@
}
else
{
- GNUNET_ATS_address_destroyed (GST_ats,
- bcc->na.address,
- NULL);
free_address (&n->alternative_address);
n->state = S_CONNECTED;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r31346 - gnunet/src/transport,
gnunet <=