aboutsummaryrefslogtreecommitdiff
path: root/src/transport/gnunet-service-transport_neighbours.c
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2014-03-20 20:06:51 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2014-03-20 20:06:51 +0000
commitb27b2bf400b357af5eaf48b06e0f4c6f51ad0ecf (patch)
tree4cf6c73df9fe18d181f5d4d4e49d2ddd28b8f9be /src/transport/gnunet-service-transport_neighbours.c
parent5cd93ed2b702e40972269970ad298a86c83469db (diff)
downloadgnunet-b27b2bf400b357af5eaf48b06e0f4c6f51ad0ecf.tar.gz
gnunet-b27b2bf400b357af5eaf48b06e0f4c6f51ad0ecf.zip
when switching addresses in connect_sent: no blacklist check required, switch directly and send new connect
Diffstat (limited to 'src/transport/gnunet-service-transport_neighbours.c')
-rw-r--r--src/transport/gnunet-service-transport_neighbours.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/transport/gnunet-service-transport_neighbours.c b/src/transport/gnunet-service-transport_neighbours.c
index 11520a5f4..374dc7109 100644
--- a/src/transport/gnunet-service-transport_neighbours.c
+++ b/src/transport/gnunet-service-transport_neighbours.c
@@ -2661,13 +2661,20 @@ switch_address_bl_check_cont (void *cls,
2661 blc_ctx->address, blc_ctx->session); 2661 blc_ctx->address, blc_ctx->session);
2662 break; 2662 break;
2663 case GNUNET_TRANSPORT_PS_CONNECT_SENT: 2663 case GNUNET_TRANSPORT_PS_CONNECT_SENT:
2664 /* waiting on CONNECT_ACK, send ACK if one is pending */
2665 if (1 == n->send_connect_ack)
2666 {
2667 n->send_connect_ack = 2;
2668 send_session_connect_ack_message (n->primary_address.address,
2669 n->primary_address.session,
2670 n->connect_ack_timestamp);
2671 }
2664 /* ATS suggests a different address, switch again */ 2672 /* ATS suggests a different address, switch again */
2665 set_primary_address (n, blc_ctx->address, blc_ctx->session, 2673 set_primary_address (n, blc_ctx->address, blc_ctx->session,
2666 blc_ctx->bandwidth_in, blc_ctx->bandwidth_out, GNUNET_NO); 2674 blc_ctx->bandwidth_in, blc_ctx->bandwidth_out, GNUNET_NO);
2667 set_state_and_timeout (n, GNUNET_TRANSPORT_PS_INIT_BLACKLIST, 2675 set_state_and_timeout (n, GNUNET_TRANSPORT_PS_CONNECT_SENT,
2668 GNUNET_TIME_relative_to_absolute (BLACKLIST_RESPONSE_TIMEOUT)); 2676 GNUNET_TIME_relative_to_absolute (SETUP_CONNECTION_TIMEOUT));
2669 check_blacklist (&n->id, n->connect_ack_timestamp, 2677 send_session_connect (&n->primary_address);
2670 blc_ctx->address, blc_ctx->session);
2671 break; 2678 break;
2672 case GNUNET_TRANSPORT_PS_CONNECT_RECV_ATS: 2679 case GNUNET_TRANSPORT_PS_CONNECT_RECV_ATS:
2673 set_primary_address (n, blc_ctx->address, blc_ctx->session, 2680 set_primary_address (n, blc_ctx->address, blc_ctx->session,