aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-05-16 00:04:18 +0000
committerChristian Grothoff <christian@grothoff.org>2012-05-16 00:04:18 +0000
commitbd6c8afde29ee915198f60c51ee4c6ca713c187c (patch)
tree94e7e696a7c4cb029dfa4adc65918be7190d5eb6
parent7a1e0e0da32a6fb1028e361edd64a456fdc43ab8 (diff)
downloadgnunet-bd6c8afde29ee915198f60c51ee4c6ca713c187c.tar.gz
gnunet-bd6c8afde29ee915198f60c51ee4c6ca713c187c.zip
-fixing 2360
-rw-r--r--src/transport/gnunet-service-transport_neighbours.c66
1 files changed, 50 insertions, 16 deletions
diff --git a/src/transport/gnunet-service-transport_neighbours.c b/src/transport/gnunet-service-transport_neighbours.c
index 7dc9d32b9..f3e67fb66 100644
--- a/src/transport/gnunet-service-transport_neighbours.c
+++ b/src/transport/gnunet-service-transport_neighbours.c
@@ -1691,6 +1691,14 @@ handle_test_blacklist_cont (void *cls,
1691 case S_INIT_BLACKLIST: 1691 case S_INIT_BLACKLIST:
1692 /* check if the address the blacklist was fine with matches 1692 /* check if the address the blacklist was fine with matches
1693 ATS suggestion, if so, we can move on! */ 1693 ATS suggestion, if so, we can move on! */
1694 if ( (GNUNET_OK == result) &&
1695 (1 == n->send_connect_ack) )
1696 {
1697 n->send_connect_ack = 2;
1698 send_session_connect_ack_message (bcc->na.address,
1699 bcc->na.session,
1700 n->connect_ack_timestamp);
1701 }
1694 if (GNUNET_YES != address_matches (&bcc->na, &n->primary_address)) 1702 if (GNUNET_YES != address_matches (&bcc->na, &n->primary_address))
1695 break; /* result for an address we currently don't care about */ 1703 break; /* result for an address we currently don't care about */
1696 if (GNUNET_OK == result) 1704 if (GNUNET_OK == result)
@@ -1698,13 +1706,6 @@ handle_test_blacklist_cont (void *cls,
1698 n->timeout = GNUNET_TIME_relative_to_absolute (SETUP_CONNECTION_TIMEOUT); 1706 n->timeout = GNUNET_TIME_relative_to_absolute (SETUP_CONNECTION_TIMEOUT);
1699 n->state = S_CONNECT_SENT; 1707 n->state = S_CONNECT_SENT;
1700 send_session_connect (&n->primary_address); 1708 send_session_connect (&n->primary_address);
1701 if (1 == n->send_connect_ack)
1702 {
1703 n->send_connect_ack = 2;
1704 send_session_connect_ack_message (bcc->na.address,
1705 bcc->na.session,
1706 n->connect_ack_timestamp);
1707 }
1708 } 1709 }
1709 else 1710 else
1710 { 1711 {
@@ -1718,7 +1719,15 @@ handle_test_blacklist_cont (void *cls,
1718 } 1719 }
1719 break; 1720 break;
1720 case S_CONNECT_SENT: 1721 case S_CONNECT_SENT:
1721 /* waiting on CONNECT_ACK, don't care about blacklist */ 1722 /* waiting on CONNECT_ACK, send ACK if one is pending */
1723 if ( (GNUNET_OK == result) &&
1724 (1 == n->send_connect_ack) )
1725 {
1726 n->send_connect_ack = 2;
1727 send_session_connect_ack_message (n->primary_address.address,
1728 n->primary_address.session,
1729 n->connect_ack_timestamp);
1730 }
1722 break; 1731 break;
1723 case S_CONNECT_RECV_ATS: 1732 case S_CONNECT_RECV_ATS:
1724 /* still waiting on ATS suggestion, don't care about blacklist */ 1733 /* still waiting on ATS suggestion, don't care about blacklist */
@@ -1748,7 +1757,15 @@ handle_test_blacklist_cont (void *cls,
1748 } 1757 }
1749 break; 1758 break;
1750 case S_CONNECT_RECV_ACK: 1759 case S_CONNECT_RECV_ACK:
1751 /* waiting on SESSION_ACK, don't care about blacklist */ 1760 /* waiting on SESSION_ACK, send ACK if one is pending */
1761 if ( (GNUNET_OK == result) &&
1762 (1 == n->send_connect_ack) )
1763 {
1764 n->send_connect_ack = 2;
1765 send_session_connect_ack_message (n->primary_address.address,
1766 n->primary_address.session,
1767 n->connect_ack_timestamp);
1768 }
1752 break; 1769 break;
1753 case S_CONNECTED: 1770 case S_CONNECTED:
1754 /* already connected, don't care about blacklist */ 1771 /* already connected, don't care about blacklist */
@@ -1757,6 +1774,14 @@ handle_test_blacklist_cont (void *cls,
1757 /* still waiting on ATS suggestion, don't care about blacklist */ 1774 /* still waiting on ATS suggestion, don't care about blacklist */
1758 break; 1775 break;
1759 case S_RECONNECT_BLACKLIST: 1776 case S_RECONNECT_BLACKLIST:
1777 if ( (GNUNET_OK == result) &&
1778 (1 == n->send_connect_ack) )
1779 {
1780 n->send_connect_ack = 2;
1781 send_session_connect_ack_message (bcc->na.address,
1782 bcc->na.session,
1783 n->connect_ack_timestamp);
1784 }
1760 if (GNUNET_YES != address_matches (&bcc->na, &n->primary_address)) 1785 if (GNUNET_YES != address_matches (&bcc->na, &n->primary_address))
1761 break; /* result for an address we currently don't care about */ 1786 break; /* result for an address we currently don't care about */
1762 if (GNUNET_OK == result) 1787 if (GNUNET_OK == result)
@@ -1764,13 +1789,6 @@ handle_test_blacklist_cont (void *cls,
1764 send_session_connect (&n->primary_address); 1789 send_session_connect (&n->primary_address);
1765 n->timeout = GNUNET_TIME_relative_to_absolute (FAST_RECONNECT_TIMEOUT); 1790 n->timeout = GNUNET_TIME_relative_to_absolute (FAST_RECONNECT_TIMEOUT);
1766 n->state = S_RECONNECT_SENT; 1791 n->state = S_RECONNECT_SENT;
1767 if (1 == n->send_connect_ack)
1768 {
1769 n->send_connect_ack = 2;
1770 send_session_connect_ack_message (bcc->na.address,
1771 bcc->na.session,
1772 n->connect_ack_timestamp);
1773 }
1774 } 1792 }
1775 else 1793 else
1776 { 1794 {
@@ -1785,6 +1803,14 @@ handle_test_blacklist_cont (void *cls,
1785 break; 1803 break;
1786 case S_RECONNECT_SENT: 1804 case S_RECONNECT_SENT:
1787 /* waiting on CONNECT_ACK, don't care about blacklist */ 1805 /* waiting on CONNECT_ACK, don't care about blacklist */
1806 if ( (GNUNET_OK == result) &&
1807 (1 == n->send_connect_ack) )
1808 {
1809 n->send_connect_ack = 2;
1810 send_session_connect_ack_message (n->primary_address.address,
1811 n->primary_address.session,
1812 n->connect_ack_timestamp);
1813 }
1788 break; 1814 break;
1789 case S_CONNECTED_SWITCHING_BLACKLIST: 1815 case S_CONNECTED_SWITCHING_BLACKLIST:
1790 if (GNUNET_YES != address_matches (&bcc->na, &n->alternative_address)) 1816 if (GNUNET_YES != address_matches (&bcc->na, &n->alternative_address))
@@ -1805,6 +1831,14 @@ handle_test_blacklist_cont (void *cls,
1805 break; 1831 break;
1806 case S_CONNECTED_SWITCHING_CONNECT_SENT: 1832 case S_CONNECTED_SWITCHING_CONNECT_SENT:
1807 /* waiting on CONNECT_ACK, don't care about blacklist */ 1833 /* waiting on CONNECT_ACK, don't care about blacklist */
1834 if ( (GNUNET_OK == result) &&
1835 (1 == n->send_connect_ack) )
1836 {
1837 n->send_connect_ack = 2;
1838 send_session_connect_ack_message (n->primary_address.address,
1839 n->primary_address.session,
1840 n->connect_ack_timestamp);
1841 }
1808 break; 1842 break;
1809 case S_DISCONNECT: 1843 case S_DISCONNECT:
1810 /* Nothing to do here, ATS will already do what can be done */ 1844 /* Nothing to do here, ATS will already do what can be done */