From 86d974e61bb7be2541f3675913d0d3993bc19987 Mon Sep 17 00:00:00 2001 From: "Schanzenbach, Martin" Date: Wed, 5 Jun 2019 00:56:43 +0200 Subject: [PATCH] fix ticket result messages --- src/reclaim/gnunet-service-reclaim.c | 11 +++------ src/reclaim/reclaim_api.c | 36 ++++++---------------------- 2 files changed, 10 insertions(+), 37 deletions(-) diff --git a/src/reclaim/gnunet-service-reclaim.c b/src/reclaim/gnunet-service-reclaim.c index 52dc12725..57bff8ed4 100644 --- a/src/reclaim/gnunet-service-reclaim.c +++ b/src/reclaim/gnunet-service-reclaim.c @@ -600,16 +600,11 @@ send_ticket_result (const struct IdpClient *client, { struct TicketResultMessage *irm; struct GNUNET_MQ_Envelope *env; - struct GNUNET_RECLAIM_Ticket *ticket_buf; + env = GNUNET_MQ_msg (irm, + GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_RESULT); if (NULL != ticket) { - env = GNUNET_MQ_msg_extra (irm, - sizeof (struct GNUNET_RECLAIM_Ticket), - GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_RESULT); - ticket_buf = (struct GNUNET_RECLAIM_Ticket *)&irm[1]; - *ticket_buf = *ticket; - } else { - env = GNUNET_MQ_msg (irm, GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_RESULT); + irm->ticket = *ticket; } // TODO add success member irm->id = htonl (r_id); 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 @@ -607,28 +607,6 @@ handle_attribute_result (void *cls, const struct AttributeResultMessage *msg) } -/** - * Handle an incoming message of type - * #GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_RESULT - * - * @param cls - * @param msg the message we received - * @return #GNUNET_OK on success, #GNUNET_SYSERR on error - */ -static int -check_ticket_result (void *cls, const struct TicketResultMessage *msg) -{ - size_t msg_len; - - msg_len = ntohs (msg->header.size); - if (msg_len < sizeof (struct TicketResultMessage)) { - GNUNET_break (0); - return GNUNET_SYSERR; - } - return GNUNET_OK; -} - - /** * Handle an incoming message of type * #GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_RESULT @@ -643,7 +621,7 @@ handle_ticket_result (void *cls, const struct TicketResultMessage *msg) struct GNUNET_RECLAIM_Operation *op; struct GNUNET_RECLAIM_TicketIterator *it; uint32_t r_id = ntohl (msg->id); - + static const struct GNUNET_RECLAIM_Ticket ticket; for (op = handle->op_head; NULL != op; op = op->next) if (op->r_id == r_id) break; @@ -654,7 +632,7 @@ handle_ticket_result (void *cls, const struct TicketResultMessage *msg) return; if (NULL != op) { GNUNET_CONTAINER_DLL_remove (handle->op_head, handle->op_tail, op); - if (memcmp (&msg->ticket, 0, sizeof (struct GNUNET_RECLAIM_Ticket))) + if (0 == memcmp (&msg->ticket, &ticket, sizeof (struct GNUNET_RECLAIM_Ticket))) { if (NULL != op->tr_cb) op->tr_cb (op->cls, NULL); @@ -665,7 +643,7 @@ handle_ticket_result (void *cls, const struct TicketResultMessage *msg) free_op (op); return; } else if (NULL != it) { - if (memcmp (&msg->ticket, 0, sizeof (struct GNUNET_RECLAIM_Ticket))) + if (0 == memcmp (&msg->ticket, &ticket, sizeof (struct GNUNET_RECLAIM_Ticket))) { GNUNET_CONTAINER_DLL_remove (handle->ticket_it_head, handle->ticket_it_tail, it); @@ -733,9 +711,9 @@ reconnect (struct GNUNET_RECLAIM_Handle *h) GNUNET_MQ_hd_var_size (attribute_result, GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_RESULT, struct AttributeResultMessage, h), - GNUNET_MQ_hd_var_size (ticket_result, - GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_RESULT, - struct TicketResultMessage, h), + GNUNET_MQ_hd_fixed_size (ticket_result, + GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_RESULT, + struct TicketResultMessage, h), GNUNET_MQ_hd_var_size (consume_ticket_result, GNUNET_MESSAGE_TYPE_RECLAIM_CONSUME_TICKET_RESULT, struct ConsumeTicketResultMessage, h), @@ -1035,7 +1013,7 @@ GNUNET_RECLAIM_ticket_issue ( struct GNUNET_RECLAIM_Operation *op; struct IssueTicketMessage *tim; size_t attr_len; - + fprintf(stderr, "Issuing ticket\n"); op = GNUNET_new (struct GNUNET_RECLAIM_Operation); op->h = h; op->tr_cb = cb; -- 2.25.1