diff options
author | Schanzenbach, Martin <mschanzenbach@posteo.de> | 2019-06-05 00:56:43 +0200 |
---|---|---|
committer | Schanzenbach, Martin <mschanzenbach@posteo.de> | 2019-06-05 00:56:43 +0200 |
commit | 86d974e61bb7be2541f3675913d0d3993bc19987 (patch) | |
tree | 714a14beaea41413f2bbcf0d4ea03453673138b7 /src/reclaim/reclaim_api.c | |
parent | 2af1b568199c62152fe7892ec33579aed326c136 (diff) | |
download | gnunet-86d974e61bb7be2541f3675913d0d3993bc19987.tar.gz gnunet-86d974e61bb7be2541f3675913d0d3993bc19987.zip |
fix ticket result messages
Diffstat (limited to 'src/reclaim/reclaim_api.c')
-rw-r--r-- | src/reclaim/reclaim_api.c | 36 |
1 files changed, 7 insertions, 29 deletions
diff --git a/src/reclaim/reclaim_api.c b/src/reclaim/reclaim_api.c index 63f8b9ba3..00ab69579 100644 --- a/src/reclaim/reclaim_api.c +++ b/src/reclaim/reclaim_api.c | |||
@@ -613,28 +613,6 @@ handle_attribute_result (void *cls, const struct AttributeResultMessage *msg) | |||
613 | * | 613 | * |
614 | * @param cls | 614 | * @param cls |
615 | * @param msg the message we received | 615 | * @param msg the message we received |
616 | * @return #GNUNET_OK on success, #GNUNET_SYSERR on error | ||
617 | */ | ||
618 | static int | ||
619 | check_ticket_result (void *cls, const struct TicketResultMessage *msg) | ||
620 | { | ||
621 | size_t msg_len; | ||
622 | |||
623 | msg_len = ntohs (msg->header.size); | ||
624 | if (msg_len < sizeof (struct TicketResultMessage)) { | ||
625 | GNUNET_break (0); | ||
626 | return GNUNET_SYSERR; | ||
627 | } | ||
628 | return GNUNET_OK; | ||
629 | } | ||
630 | |||
631 | |||
632 | /** | ||
633 | * Handle an incoming message of type | ||
634 | * #GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_RESULT | ||
635 | * | ||
636 | * @param cls | ||
637 | * @param msg the message we received | ||
638 | */ | 616 | */ |
639 | static void | 617 | static void |
640 | handle_ticket_result (void *cls, const struct TicketResultMessage *msg) | 618 | handle_ticket_result (void *cls, const struct TicketResultMessage *msg) |
@@ -643,7 +621,7 @@ handle_ticket_result (void *cls, const struct TicketResultMessage *msg) | |||
643 | struct GNUNET_RECLAIM_Operation *op; | 621 | struct GNUNET_RECLAIM_Operation *op; |
644 | struct GNUNET_RECLAIM_TicketIterator *it; | 622 | struct GNUNET_RECLAIM_TicketIterator *it; |
645 | uint32_t r_id = ntohl (msg->id); | 623 | uint32_t r_id = ntohl (msg->id); |
646 | 624 | static const struct GNUNET_RECLAIM_Ticket ticket; | |
647 | for (op = handle->op_head; NULL != op; op = op->next) | 625 | for (op = handle->op_head; NULL != op; op = op->next) |
648 | if (op->r_id == r_id) | 626 | if (op->r_id == r_id) |
649 | break; | 627 | break; |
@@ -654,7 +632,7 @@ handle_ticket_result (void *cls, const struct TicketResultMessage *msg) | |||
654 | return; | 632 | return; |
655 | if (NULL != op) { | 633 | if (NULL != op) { |
656 | GNUNET_CONTAINER_DLL_remove (handle->op_head, handle->op_tail, op); | 634 | GNUNET_CONTAINER_DLL_remove (handle->op_head, handle->op_tail, op); |
657 | if (memcmp (&msg->ticket, 0, sizeof (struct GNUNET_RECLAIM_Ticket))) | 635 | if (0 == memcmp (&msg->ticket, &ticket, sizeof (struct GNUNET_RECLAIM_Ticket))) |
658 | { | 636 | { |
659 | if (NULL != op->tr_cb) | 637 | if (NULL != op->tr_cb) |
660 | op->tr_cb (op->cls, NULL); | 638 | op->tr_cb (op->cls, NULL); |
@@ -665,7 +643,7 @@ handle_ticket_result (void *cls, const struct TicketResultMessage *msg) | |||
665 | free_op (op); | 643 | free_op (op); |
666 | return; | 644 | return; |
667 | } else if (NULL != it) { | 645 | } else if (NULL != it) { |
668 | if (memcmp (&msg->ticket, 0, sizeof (struct GNUNET_RECLAIM_Ticket))) | 646 | if (0 == memcmp (&msg->ticket, &ticket, sizeof (struct GNUNET_RECLAIM_Ticket))) |
669 | { | 647 | { |
670 | GNUNET_CONTAINER_DLL_remove (handle->ticket_it_head, | 648 | GNUNET_CONTAINER_DLL_remove (handle->ticket_it_head, |
671 | handle->ticket_it_tail, it); | 649 | handle->ticket_it_tail, it); |
@@ -733,9 +711,9 @@ reconnect (struct GNUNET_RECLAIM_Handle *h) | |||
733 | GNUNET_MQ_hd_var_size (attribute_result, | 711 | GNUNET_MQ_hd_var_size (attribute_result, |
734 | GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_RESULT, | 712 | GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_RESULT, |
735 | struct AttributeResultMessage, h), | 713 | struct AttributeResultMessage, h), |
736 | GNUNET_MQ_hd_var_size (ticket_result, | 714 | GNUNET_MQ_hd_fixed_size (ticket_result, |
737 | GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_RESULT, | 715 | GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_RESULT, |
738 | struct TicketResultMessage, h), | 716 | struct TicketResultMessage, h), |
739 | GNUNET_MQ_hd_var_size (consume_ticket_result, | 717 | GNUNET_MQ_hd_var_size (consume_ticket_result, |
740 | GNUNET_MESSAGE_TYPE_RECLAIM_CONSUME_TICKET_RESULT, | 718 | GNUNET_MESSAGE_TYPE_RECLAIM_CONSUME_TICKET_RESULT, |
741 | struct ConsumeTicketResultMessage, h), | 719 | struct ConsumeTicketResultMessage, h), |
@@ -1035,7 +1013,7 @@ GNUNET_RECLAIM_ticket_issue ( | |||
1035 | struct GNUNET_RECLAIM_Operation *op; | 1013 | struct GNUNET_RECLAIM_Operation *op; |
1036 | struct IssueTicketMessage *tim; | 1014 | struct IssueTicketMessage *tim; |
1037 | size_t attr_len; | 1015 | size_t attr_len; |
1038 | 1016 | fprintf(stderr, "Issuing ticket\n"); | |
1039 | op = GNUNET_new (struct GNUNET_RECLAIM_Operation); | 1017 | op = GNUNET_new (struct GNUNET_RECLAIM_Operation); |
1040 | op->h = h; | 1018 | op->h = h; |
1041 | op->tr_cb = cb; | 1019 | op->tr_cb = cb; |