gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r22866 - gnunet/src/testbed


From: gnunet
Subject: [GNUnet-SVN] r22866 - gnunet/src/testbed
Date: Tue, 24 Jul 2012 13:31:47 +0200

Author: harsha
Date: 2012-07-24 13:31:47 +0200 (Tue, 24 Jul 2012)
New Revision: 22866

Modified:
   gnunet/src/testbed/testbed_api.c
Log:
message checks at client receive side

Modified: gnunet/src/testbed/testbed_api.c
===================================================================
--- gnunet/src/testbed/testbed_api.c    2012-07-24 09:13:32 UTC (rev 22865)
+++ gnunet/src/testbed/testbed_api.c    2012-07-24 11:31:47 UTC (rev 22866)
@@ -491,8 +491,9 @@
 static void 
 message_handler (void *cls, const struct GNUNET_MessageHeader *msg)
 {
-  struct GNUNET_TESTBED_Controller *c = cls;  
+  struct GNUNET_TESTBED_Controller *c = cls;
   int status;
+  uint16_t msize;
 
   c->in_receive = GNUNET_NO;
   /* FIXME: Add checks for message integrity */
@@ -502,29 +503,39 @@
     return;
   }
   status = GNUNET_OK;
+  msize = ntohs (msg->size);
   switch (ntohs (msg->type))
   {
   case GNUNET_MESSAGE_TYPE_TESTBED_ADDHOSTCONFIRM:
+    GNUNET_assert (msize >= sizeof (struct
+                                   GNUNET_TESTBED_HostConfirmedMessage));
     status =
-      handle_addhostconfirm (c, (const struct
-                                 GNUNET_TESTBED_HostConfirmedMessage *) msg);
+      handle_addhostconfirm (c, (const struct 
GNUNET_TESTBED_HostConfirmedMessage *) msg);
     break;
   case GNUNET_MESSAGE_TYPE_TESTBED_GENERICOPSUCCESS:
+    GNUNET_assert 
+      (msize == sizeof (struct 
GNUNET_TESTBED_GenericOperationSuccessEventMessage));
     status =
       handle_opsuccess (c, (const struct
                             GNUNET_TESTBED_GenericOperationSuccessEventMessage
                             *) msg);
     break;
   case GNUNET_MESSAGE_TYPE_TESTBED_PEERCREATESUCCESS:
+    GNUNET_assert (msize == 
+                  sizeof (struct 
GNUNET_TESTBED_PeerCreateSuccessEventMessage));
     status =
       handle_peer_create_success 
       (c, (const struct GNUNET_TESTBED_PeerCreateSuccessEventMessage *)msg);
     break;
   case GNUNET_MESSAGE_TYPE_TESTBED_PEEREVENT:
+    GNUNET_assert (msize == sizeof (struct GNUNET_TESTBED_PeerEventMessage));
     status =
       handle_peer_event (c, (const struct GNUNET_TESTBED_PeerEventMessage *) 
msg);
+    
     break;
   case GNUNET_MESSAGE_TYPE_TESTBED_PEERCONFIG:
+    GNUNET_assert (msize >= 
+                  sizeof (struct 
GNUNET_TESTBED_PeerConfigurationInformationMessage));
     status = 
       handle_peer_config 
       (c, (const struct GNUNET_TESTBED_PeerConfigurationInformationMessage *) 
msg);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]