aboutsummaryrefslogtreecommitdiff
path: root/src/transport
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-06-10 14:32:39 +0000
committerChristian Grothoff <christian@grothoff.org>2011-06-10 14:32:39 +0000
commit0b5a723229ec82a74fa779052fc190470a00abd1 (patch)
treee00b05f6b0ce62118dc27e2c8ce2ff69688d5a3f /src/transport
parent6ba30d03e61bb437ffc9fe870445cc8e4e4d3af8 (diff)
downloadgnunet-0b5a723229ec82a74fa779052fc190470a00abd1.tar.gz
gnunet-0b5a723229ec82a74fa779052fc190470a00abd1.zip
check earlier for connect-self messages
Diffstat (limited to 'src/transport')
-rw-r--r--src/transport/transport_api.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/transport/transport_api.c b/src/transport/transport_api.c
index 126823cc2..e08205005 100644
--- a/src/transport/transport_api.c
+++ b/src/transport/transport_api.c
@@ -1743,7 +1743,6 @@ demultiplexer (void *cls, const struct GNUNET_MessageHeader *msg)
1743 } 1743 }
1744 break; 1744 break;
1745 case GNUNET_MESSAGE_TYPE_TRANSPORT_CONNECT: 1745 case GNUNET_MESSAGE_TYPE_TRANSPORT_CONNECT:
1746
1747 if (size < sizeof (struct ConnectInfoMessage)) 1746 if (size < sizeof (struct ConnectInfoMessage))
1748 { 1747 {
1749 GNUNET_break (0); 1748 GNUNET_break (0);
@@ -1756,7 +1755,14 @@ demultiplexer (void *cls, const struct GNUNET_MessageHeader *msg)
1756 GNUNET_break (0); 1755 GNUNET_break (0);
1757 break; 1756 break;
1758 } 1757 }
1759 1758 if (0 == memcmp (&cim->id,
1759 &h->self,
1760 sizeof (struct GNUNET_PeerIdentity)))
1761 {
1762 /* connect to self!? */
1763 GNUNET_break (0);
1764 break;
1765 }
1760#if DEBUG_TRANSPORT 1766#if DEBUG_TRANSPORT
1761 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 1767 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1762 "Receiving `%s' message for `%4s'.\n", 1768 "Receiving `%s' message for `%4s'.\n",
@@ -1783,6 +1789,14 @@ demultiplexer (void *cls, const struct GNUNET_MessageHeader *msg)
1783 } 1789 }
1784 dim = (const struct DisconnectInfoMessage *) msg; 1790 dim = (const struct DisconnectInfoMessage *) msg;
1785 GNUNET_break (ntohl (dim->reserved) == 0); 1791 GNUNET_break (ntohl (dim->reserved) == 0);
1792 if (0 == memcmp (&dim->peer,
1793 &h->self,
1794 sizeof (struct GNUNET_PeerIdentity)))
1795 {
1796 /* discconnect from self!? */
1797 GNUNET_break (0);
1798 break;
1799 }
1786#if DEBUG_TRANSPORT_DISCONNECT 1800#if DEBUG_TRANSPORT_DISCONNECT
1787 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 1801 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1788 "Receiving `%s' message for `%4s'.\n", 1802 "Receiving `%s' message for `%4s'.\n",