From: Christian Grothoff Date: Fri, 10 Jun 2011 14:32:39 +0000 (+0000) Subject: check earlier for connect-self messages X-Git-Tag: initial-import-from-subversion-38251~18260 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0b5a723229ec82a74fa779052fc190470a00abd1;p=oweals%2Fgnunet.git check earlier for connect-self messages --- 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) } break; case GNUNET_MESSAGE_TYPE_TRANSPORT_CONNECT: - if (size < sizeof (struct ConnectInfoMessage)) { GNUNET_break (0); @@ -1756,7 +1755,14 @@ demultiplexer (void *cls, const struct GNUNET_MessageHeader *msg) GNUNET_break (0); break; } - + if (0 == memcmp (&cim->id, + &h->self, + sizeof (struct GNUNET_PeerIdentity))) + { + /* connect to self!? */ + GNUNET_break (0); + break; + } #if DEBUG_TRANSPORT GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Receiving `%s' message for `%4s'.\n", @@ -1783,6 +1789,14 @@ demultiplexer (void *cls, const struct GNUNET_MessageHeader *msg) } dim = (const struct DisconnectInfoMessage *) msg; GNUNET_break (ntohl (dim->reserved) == 0); + if (0 == memcmp (&dim->peer, + &h->self, + sizeof (struct GNUNET_PeerIdentity))) + { + /* discconnect from self!? */ + GNUNET_break (0); + break; + } #if DEBUG_TRANSPORT_DISCONNECT GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Receiving `%s' message for `%4s'.\n",