gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [gnunet] 02/05: simplify check_data logic


From: gnunet
Subject: [GNUnet-SVN] [gnunet] 02/05: simplify check_data logic
Date: Sun, 22 Jan 2017 23:55:05 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository gnunet.

commit 22141e7eb07d6331ad1c2548032c2de014f33383
Author: Christian Grothoff <address@hidden>
AuthorDate: Sun Jan 22 23:25:25 2017 +0100

    simplify check_data logic
---
 src/cadet/gnunet-service-cadet-new.c         | 21 ++++++++++++---------
 src/cadet/gnunet-service-cadet-new_channel.c |  2 +-
 src/cadet/test_cadet.c                       | 16 +++++++++++-----
 3 files changed, 24 insertions(+), 15 deletions(-)

diff --git a/src/cadet/gnunet-service-cadet-new.c 
b/src/cadet/gnunet-service-cadet-new.c
index 76bc4ec48..cb8eab2fe 100644
--- a/src/cadet/gnunet-service-cadet-new.c
+++ b/src/cadet/gnunet-service-cadet-new.c
@@ -629,30 +629,33 @@ check_data (void *cls,
   const char *buf;
   struct GNUNET_MessageHeader pa;
 
+  /* FIXME: what is the format we shall allow for @a msg?
+     ONE payload item or multiple? Seems current cadet_api
+     at least in theory allows more than one. Next-gen
+     cadet_api will likely no more.
+
+     Regardless, the multi-message check below should pass,
+     albeit it does not :-(. */
   /* Sanity check for message size */
   payload_size = ntohs (msg->header.size) - sizeof (*msg);
-  if ( (payload_size < sizeof (struct GNUNET_MessageHeader)) ||
-       (GNUNET_CONSTANTS_MAX_CADET_MESSAGE_SIZE < payload_size) )
-  {
-    GNUNET_break (0);
-    return GNUNET_SYSERR;
-  }
   buf = (const char *) &msg[1];
-  do {
+  while (payload_size >= sizeof (struct GNUNET_MessageHeader))
+  {
     /* need to memcpy() for alignment */
     GNUNET_memcpy (&pa,
                    buf,
                    sizeof (pa));
     payload_claimed_size = ntohs (pa.size);
     if ( (payload_size < payload_claimed_size) ||
-         (0 == payload_claimed_size) )
+         (payload_claimed_size < sizeof (struct GNUNET_MessageHeader)) ||
+         (GNUNET_CONSTANTS_MAX_CADET_MESSAGE_SIZE < payload_claimed_size) )
     {
       GNUNET_break_op (0);
       return GNUNET_SYSERR;
     }
     payload_size -= payload_claimed_size;
     buf += payload_claimed_size;
-  } while (payload_size >= sizeof (struct GNUNET_MessageHeader));
+  }
   if (0 != payload_size)
   {
     GNUNET_break_op (0);
diff --git a/src/cadet/gnunet-service-cadet-new_channel.c 
b/src/cadet/gnunet-service-cadet-new_channel.c
index 42565d276..b92c4eaf5 100644
--- a/src/cadet/gnunet-service-cadet-new_channel.c
+++ b/src/cadet/gnunet-service-cadet-new_channel.c
@@ -1294,7 +1294,7 @@ GCCH_handle_local_data (struct CadetChannel *ch,
 
   if (GNUNET_NO == ch->client_allowed)
   {
-    GNUNET_break_op (0);
+    GNUNET_break (0);
     return GNUNET_SYSERR;
   }
   ch->client_allowed = GNUNET_NO;
diff --git a/src/cadet/test_cadet.c b/src/cadet/test_cadet.c
index a411b41bc..b19963bba 100644
--- a/src/cadet/test_cadet.c
+++ b/src/cadet/test_cadet.c
@@ -536,7 +536,9 @@ tmt_rdy (void *cls, size_t size, void *buf)
   long id = (long) cls;
   unsigned int counter;
 
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "tmt_rdy on %ld, filling buffer\n", id);
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+              "tmt_rdy on %ld, filling buffer\n",
+              id);
   if (0 == id)
     th = NULL;
   else if ((peers_requested - 1) == id)
@@ -545,7 +547,8 @@ tmt_rdy (void *cls, size_t size, void *buf)
     GNUNET_assert (0);
   counter = get_expected_target () == id ? ack_sent : data_sent;
   msg_size = size_payload + counter;
-  if (size < msg_size || NULL == buf)
+  if ( (size < msg_size) ||
+       (NULL == buf) )
   {
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                 "size %u, buf %p, data_sent %u, ack_received %u\n",
@@ -569,7 +572,8 @@ tmt_rdy (void *cls, size_t size, void *buf)
     if (SPEED_ACK == test)
       data_sent++;
   }
-  else if (SPEED == test || SPEED_ACK == test)
+  else if ( (SPEED == test) ||
+            (SPEED_ACK == test) )
   {
     if (get_expected_target() == id)
       ack_sent++;
@@ -580,9 +584,11 @@ tmt_rdy (void *cls, size_t size, void *buf)
                 " Sent message %u size %u\n",
                 counter,
                 (unsigned int) msg_size);
-    if (data_sent < TOTAL_PACKETS && SPEED == test)
+    if ( (data_sent < TOTAL_PACKETS) &&
+         (SPEED == test) )
     {
-      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " Scheduling message %d\n",
+      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                  " Scheduling message %d\n",
                   counter + 1);
       data_job = GNUNET_SCHEDULER_add_now (&data_task, NULL);
     }

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

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