diff options
author | Sree Harsha Totakura <totakura@in.tum.de> | 2012-07-24 11:31:47 +0000 |
---|---|---|
committer | Sree Harsha Totakura <totakura@in.tum.de> | 2012-07-24 11:31:47 +0000 |
commit | 9e5d8202485538de57cd04dcef30b5fe36ecd6a8 (patch) | |
tree | a9d927bb96faf3bd046f74aa539704c8f0a019c3 /src/testbed | |
parent | a6f6e3422767655790228f5b686a9cf99ed51205 (diff) | |
download | gnunet-9e5d8202485538de57cd04dcef30b5fe36ecd6a8.tar.gz gnunet-9e5d8202485538de57cd04dcef30b5fe36ecd6a8.zip |
message checks at client receive side
Diffstat (limited to 'src/testbed')
-rw-r--r-- | src/testbed/testbed_api.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/testbed/testbed_api.c b/src/testbed/testbed_api.c index 466e19339..175c08404 100644 --- a/src/testbed/testbed_api.c +++ b/src/testbed/testbed_api.c | |||
@@ -491,8 +491,9 @@ handle_peer_config (struct GNUNET_TESTBED_Controller *c, | |||
491 | static void | 491 | static void |
492 | message_handler (void *cls, const struct GNUNET_MessageHeader *msg) | 492 | message_handler (void *cls, const struct GNUNET_MessageHeader *msg) |
493 | { | 493 | { |
494 | struct GNUNET_TESTBED_Controller *c = cls; | 494 | struct GNUNET_TESTBED_Controller *c = cls; |
495 | int status; | 495 | int status; |
496 | uint16_t msize; | ||
496 | 497 | ||
497 | c->in_receive = GNUNET_NO; | 498 | c->in_receive = GNUNET_NO; |
498 | /* FIXME: Add checks for message integrity */ | 499 | /* FIXME: Add checks for message integrity */ |
@@ -502,29 +503,39 @@ message_handler (void *cls, const struct GNUNET_MessageHeader *msg) | |||
502 | return; | 503 | return; |
503 | } | 504 | } |
504 | status = GNUNET_OK; | 505 | status = GNUNET_OK; |
506 | msize = ntohs (msg->size); | ||
505 | switch (ntohs (msg->type)) | 507 | switch (ntohs (msg->type)) |
506 | { | 508 | { |
507 | case GNUNET_MESSAGE_TYPE_TESTBED_ADDHOSTCONFIRM: | 509 | case GNUNET_MESSAGE_TYPE_TESTBED_ADDHOSTCONFIRM: |
510 | GNUNET_assert (msize >= sizeof (struct | ||
511 | GNUNET_TESTBED_HostConfirmedMessage)); | ||
508 | status = | 512 | status = |
509 | handle_addhostconfirm (c, (const struct | 513 | handle_addhostconfirm (c, (const struct GNUNET_TESTBED_HostConfirmedMessage *) msg); |
510 | GNUNET_TESTBED_HostConfirmedMessage *) msg); | ||
511 | break; | 514 | break; |
512 | case GNUNET_MESSAGE_TYPE_TESTBED_GENERICOPSUCCESS: | 515 | case GNUNET_MESSAGE_TYPE_TESTBED_GENERICOPSUCCESS: |
516 | GNUNET_assert | ||
517 | (msize == sizeof (struct GNUNET_TESTBED_GenericOperationSuccessEventMessage)); | ||
513 | status = | 518 | status = |
514 | handle_opsuccess (c, (const struct | 519 | handle_opsuccess (c, (const struct |
515 | GNUNET_TESTBED_GenericOperationSuccessEventMessage | 520 | GNUNET_TESTBED_GenericOperationSuccessEventMessage |
516 | *) msg); | 521 | *) msg); |
517 | break; | 522 | break; |
518 | case GNUNET_MESSAGE_TYPE_TESTBED_PEERCREATESUCCESS: | 523 | case GNUNET_MESSAGE_TYPE_TESTBED_PEERCREATESUCCESS: |
524 | GNUNET_assert (msize == | ||
525 | sizeof (struct GNUNET_TESTBED_PeerCreateSuccessEventMessage)); | ||
519 | status = | 526 | status = |
520 | handle_peer_create_success | 527 | handle_peer_create_success |
521 | (c, (const struct GNUNET_TESTBED_PeerCreateSuccessEventMessage *)msg); | 528 | (c, (const struct GNUNET_TESTBED_PeerCreateSuccessEventMessage *)msg); |
522 | break; | 529 | break; |
523 | case GNUNET_MESSAGE_TYPE_TESTBED_PEEREVENT: | 530 | case GNUNET_MESSAGE_TYPE_TESTBED_PEEREVENT: |
531 | GNUNET_assert (msize == sizeof (struct GNUNET_TESTBED_PeerEventMessage)); | ||
524 | status = | 532 | status = |
525 | handle_peer_event (c, (const struct GNUNET_TESTBED_PeerEventMessage *) msg); | 533 | handle_peer_event (c, (const struct GNUNET_TESTBED_PeerEventMessage *) msg); |
534 | |||
526 | break; | 535 | break; |
527 | case GNUNET_MESSAGE_TYPE_TESTBED_PEERCONFIG: | 536 | case GNUNET_MESSAGE_TYPE_TESTBED_PEERCONFIG: |
537 | GNUNET_assert (msize >= | ||
538 | sizeof (struct GNUNET_TESTBED_PeerConfigurationInformationMessage)); | ||
528 | status = | 539 | status = |
529 | handle_peer_config | 540 | handle_peer_config |
530 | (c, (const struct GNUNET_TESTBED_PeerConfigurationInformationMessage *) msg); | 541 | (c, (const struct GNUNET_TESTBED_PeerConfigurationInformationMessage *) msg); |