[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r15532 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r15532 - gnunet/src/transport |
Date: |
Fri, 10 Jun 2011 16:37:41 +0200 |
Author: grothoff
Date: 2011-06-10 16:37:41 +0200 (Fri, 10 Jun 2011)
New Revision: 15532
Modified:
gnunet/src/transport/gnunet-service-transport.c
Log:
extra checks against connects to self
Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c 2011-06-10 14:32:39 UTC
(rev 15531)
+++ gnunet/src/transport/gnunet-service-transport.c 2011-06-10 14:37:41 UTC
(rev 15532)
@@ -2704,6 +2704,13 @@
uint32_t ats_count;
size_t size;
+ if (0 == memcmp (peer,
+ &my_identity,
+ sizeof (struct GNUNET_PeerIdentity)))
+ {
+ GNUNET_break (0);
+ return;
+ }
#if DEBUG_TRANSPORT
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Notifying clients about connection from `%s'\n",
@@ -2717,11 +2724,10 @@
ats_count = 2;
size = sizeof (struct ConnectInfoMessage) + ats_count * sizeof (struct
GNUNET_TRANSPORT_ATS_Information);
if (size > GNUNET_SERVER_MAX_MESSAGE_SIZE)
- {
- GNUNET_break(0);
- }
+ {
+ GNUNET_break(0);
+ }
cim = GNUNET_malloc (size);
-
cim->header.size = htons (size);
cim->header.type = htons (GNUNET_MESSAGE_TYPE_TRANSPORT_CONNECT);
cim->ats_count = htonl(2);
@@ -2757,6 +2763,13 @@
struct DisconnectInfoMessage dim;
struct TransportClient *cpos;
+ if (0 == memcmp (peer,
+ &my_identity,
+ sizeof (struct GNUNET_PeerIdentity)))
+ {
+ GNUNET_break (0);
+ return;
+ }
#if DEBUG_TRANSPORT
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Notifying clients about lost connection to `%s'\n",
@@ -3309,6 +3322,14 @@
struct TransportPlugin *tp;
struct ReadyList *rl;
+ if (0 == memcmp (peer,
+ &my_identity,
+ sizeof (struct GNUNET_PeerIdentity)))
+ {
+ /* refusing to setup a neighbour entry for myself */
+ GNUNET_break (0);
+ return NULL;
+ }
#if DEBUG_TRANSPORT
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Setting up state for neighbour `%4s'\n",
@@ -4346,6 +4367,14 @@
const char *sender_address,
size_t sender_address_len)
{
+ if (0 == memcmp (peer,
+ &my_identity,
+ sizeof (struct GNUNET_PeerIdentity)))
+ {
+ /* PONG send to self, ignore */
+ return;
+ }
+
#if DEBUG_TRANSPORT > 1
/* we get tons of these that just get discarded, only log
if we are quite verbose */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r15532 - gnunet/src/transport,
gnunet <=