diff options
author | Martin Schanzenbach <schanzen@gnunet.org> | 2022-11-05 08:41:36 +0900 |
---|---|---|
committer | Martin Schanzenbach <schanzen@gnunet.org> | 2022-11-05 08:41:36 +0900 |
commit | e22c4a47f4d77c4013da2a7781abdeb8838901de (patch) | |
tree | f21b2c858c83214807b595b07f14e8a2fee2d070 | |
parent | 145a04e3ac6763644a94b01e16b87964a0716ac7 (diff) | |
download | gnunet-e22c4a47f4d77c4013da2a7781abdeb8838901de.tar.gz gnunet-e22c4a47f4d77c4013da2a7781abdeb8838901de.zip |
RECLAIM: Fix length field inconsistencies in IPC protocol. Issue #7432
m--------- | contrib/sphinx | 0 | ||||
-rw-r--r-- | po/de.po | 2 | ||||
-rw-r--r-- | po/es.po | 2 | ||||
-rw-r--r-- | po/fr.po | 2 | ||||
-rw-r--r-- | po/it.po | 2 | ||||
-rw-r--r-- | po/sr.po | 2 | ||||
-rw-r--r-- | po/sv.po | 2 | ||||
-rw-r--r-- | po/vi.po | 2 | ||||
-rw-r--r-- | po/zh_CN.po | 2 | ||||
-rw-r--r-- | src/reclaim/gnunet-service-reclaim.c | 32 | ||||
-rw-r--r-- | src/reclaim/reclaim.h | 9 | ||||
-rw-r--r-- | src/reclaim/reclaim_api.c | 20 |
12 files changed, 36 insertions, 41 deletions
diff --git a/contrib/sphinx b/contrib/sphinx | |||
Subproject 5f853d253daa5bc700b549fd40e4086aee1058b | Subproject 84cb6aaaaebe9b79d5453a8444ee95459c8f502 | ||
@@ -10,7 +10,7 @@ msgid "" | |||
10 | msgstr "" | 10 | msgstr "" |
11 | "Project-Id-Version: gnunet 0.10.1\n" | 11 | "Project-Id-Version: gnunet 0.10.1\n" |
12 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" | 12 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" |
13 | "POT-Creation-Date: 2022-11-01 12:18+0900\n" | 13 | "POT-Creation-Date: 2022-11-04 14:22+0900\n" |
14 | "PO-Revision-Date: 2015-03-08 16:16+0100\n" | 14 | "PO-Revision-Date: 2015-03-08 16:16+0100\n" |
15 | "Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n" | 15 | "Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n" |
16 | "Language-Team: German <translation-team-de@lists.sourceforge.net>\n" | 16 | "Language-Team: German <translation-team-de@lists.sourceforge.net>\n" |
@@ -8,7 +8,7 @@ msgid "" | |||
8 | msgstr "" | 8 | msgstr "" |
9 | "Project-Id-Version: gnunet 0.9.5a\n" | 9 | "Project-Id-Version: gnunet 0.9.5a\n" |
10 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" | 10 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" |
11 | "POT-Creation-Date: 2022-11-01 12:18+0900\n" | 11 | "POT-Creation-Date: 2022-11-04 14:22+0900\n" |
12 | "PO-Revision-Date: 2013-02-23 17:50+0100\n" | 12 | "PO-Revision-Date: 2013-02-23 17:50+0100\n" |
13 | "Last-Translator: Miguel Ángel Arruga Vivas <rosen644835@gmail.com>\n" | 13 | "Last-Translator: Miguel Ángel Arruga Vivas <rosen644835@gmail.com>\n" |
14 | "Language-Team: Spanish <es@li.org>\n" | 14 | "Language-Team: Spanish <es@li.org>\n" |
@@ -7,7 +7,7 @@ msgid "" | |||
7 | msgstr "" | 7 | msgstr "" |
8 | "Project-Id-Version: gnunet 0.10.1\n" | 8 | "Project-Id-Version: gnunet 0.10.1\n" |
9 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" | 9 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" |
10 | "POT-Creation-Date: 2022-11-01 12:18+0900\n" | 10 | "POT-Creation-Date: 2022-11-04 14:22+0900\n" |
11 | "PO-Revision-Date: 2021-11-21 00:53+0100\n" | 11 | "PO-Revision-Date: 2021-11-21 00:53+0100\n" |
12 | "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n" | 12 | "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n" |
13 | "Language-Team: French <traduc@traduc.org>\n" | 13 | "Language-Team: French <traduc@traduc.org>\n" |
@@ -8,7 +8,7 @@ msgid "" | |||
8 | msgstr "" | 8 | msgstr "" |
9 | "Project-Id-Version: gnunet 0.10.1\n" | 9 | "Project-Id-Version: gnunet 0.10.1\n" |
10 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" | 10 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" |
11 | "POT-Creation-Date: 2022-11-01 12:18+0900\n" | 11 | "POT-Creation-Date: 2022-11-04 14:22+0900\n" |
12 | "PO-Revision-Date: 2019-10-16 11:00+0200\n" | 12 | "PO-Revision-Date: 2019-10-16 11:00+0200\n" |
13 | "Last-Translator: Sebastiano Pistore <sebastianopistore.info@protonmail.ch>\n" | 13 | "Last-Translator: Sebastiano Pistore <sebastianopistore.info@protonmail.ch>\n" |
14 | "Language-Team: Italian <tp@lists.linux.it>\n" | 14 | "Language-Team: Italian <tp@lists.linux.it>\n" |
@@ -6,7 +6,7 @@ msgid "" | |||
6 | msgstr "" | 6 | msgstr "" |
7 | "Project-Id-Version: gnunet-0.10.1\n" | 7 | "Project-Id-Version: gnunet-0.10.1\n" |
8 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" | 8 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" |
9 | "POT-Creation-Date: 2022-11-01 12:18+0900\n" | 9 | "POT-Creation-Date: 2022-11-04 14:22+0900\n" |
10 | "PO-Revision-Date: 2020-10-23 18:39+0200\n" | 10 | "PO-Revision-Date: 2020-10-23 18:39+0200\n" |
11 | "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n" | 11 | "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n" |
12 | "Language-Team: Serbian <(nothing)>\n" | 12 | "Language-Team: Serbian <(nothing)>\n" |
@@ -7,7 +7,7 @@ msgid "" | |||
7 | msgstr "" | 7 | msgstr "" |
8 | "Project-Id-Version: GNUnet 0.7.0b\n" | 8 | "Project-Id-Version: GNUnet 0.7.0b\n" |
9 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" | 9 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" |
10 | "POT-Creation-Date: 2022-11-01 12:18+0900\n" | 10 | "POT-Creation-Date: 2022-11-04 14:22+0900\n" |
11 | "PO-Revision-Date: 2006-01-21 17:16+0100\n" | 11 | "PO-Revision-Date: 2006-01-21 17:16+0100\n" |
12 | "Last-Translator: Daniel Nylander <po@danielnylander.se>\n" | 12 | "Last-Translator: Daniel Nylander <po@danielnylander.se>\n" |
13 | "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" | 13 | "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" |
@@ -8,7 +8,7 @@ msgid "" | |||
8 | msgstr "" | 8 | msgstr "" |
9 | "Project-Id-Version: gnunet 0.8.0a\n" | 9 | "Project-Id-Version: gnunet 0.8.0a\n" |
10 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" | 10 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" |
11 | "POT-Creation-Date: 2022-11-01 12:18+0900\n" | 11 | "POT-Creation-Date: 2022-11-04 14:22+0900\n" |
12 | "PO-Revision-Date: 2008-09-10 22:05+0930\n" | 12 | "PO-Revision-Date: 2008-09-10 22:05+0930\n" |
13 | "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n" | 13 | "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n" |
14 | "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n" | 14 | "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n" |
diff --git a/po/zh_CN.po b/po/zh_CN.po index 4bcc8d253..50e8fc217 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po | |||
@@ -7,7 +7,7 @@ msgid "" | |||
7 | msgstr "" | 7 | msgstr "" |
8 | "Project-Id-Version: gnunet-0.8.1\n" | 8 | "Project-Id-Version: gnunet-0.8.1\n" |
9 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" | 9 | "Report-Msgid-Bugs-To: gnunet-developers@mail.gnu.org\n" |
10 | "POT-Creation-Date: 2022-11-01 12:18+0900\n" | 10 | "POT-Creation-Date: 2022-11-04 14:22+0900\n" |
11 | "PO-Revision-Date: 2011-07-09 12:12+0800\n" | 11 | "PO-Revision-Date: 2011-07-09 12:12+0800\n" |
12 | "Last-Translator: Wylmer Wang <wantinghard@gmail.com>\n" | 12 | "Last-Translator: Wylmer Wang <wantinghard@gmail.com>\n" |
13 | "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" | 13 | "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" |
diff --git a/src/reclaim/gnunet-service-reclaim.c b/src/reclaim/gnunet-service-reclaim.c index 4c80d6d24..2cf223173 100644 --- a/src/reclaim/gnunet-service-reclaim.c +++ b/src/reclaim/gnunet-service-reclaim.c | |||
@@ -681,7 +681,7 @@ send_ticket_result (const struct IdpClient *client, | |||
681 | } | 681 | } |
682 | // TODO add success member | 682 | // TODO add success member |
683 | irm->id = htonl (r_id); | 683 | irm->id = htonl (r_id); |
684 | irm->presentations_len = htons (pres_len); | 684 | irm->presentations_len = htonl (pres_len); |
685 | if (NULL != presentations) | 685 | if (NULL != presentations) |
686 | { | 686 | { |
687 | GNUNET_RECLAIM_presentation_list_serialize (presentations, | 687 | GNUNET_RECLAIM_presentation_list_serialize (presentations, |
@@ -745,7 +745,7 @@ check_issue_ticket_message (void *cls, const struct IssueTicketMessage *im) | |||
745 | size_t pkey_len; | 745 | size_t pkey_len; |
746 | 746 | ||
747 | size = ntohs (im->header.size); | 747 | size = ntohs (im->header.size); |
748 | attrs_len = ntohs (im->attr_len); | 748 | attrs_len = ntohl (im->attr_len); |
749 | key_len = ntohl (im->key_len); | 749 | key_len = ntohl (im->key_len); |
750 | pkey_len = ntohl (im->pkey_len); | 750 | pkey_len = ntohl (im->pkey_len); |
751 | if (size != attrs_len + key_len + pkey_len + sizeof(struct | 751 | if (size != attrs_len + key_len + pkey_len + sizeof(struct |
@@ -806,7 +806,7 @@ handle_issue_ticket_message (void *cls, const struct IssueTicketMessage *im) | |||
806 | } | 806 | } |
807 | buf += read; | 807 | buf += read; |
808 | tio = GNUNET_new (struct TicketIssueOperation); | 808 | tio = GNUNET_new (struct TicketIssueOperation); |
809 | attrs_len = ntohs (im->attr_len); | 809 | attrs_len = ntohl (im->attr_len); |
810 | attrs = GNUNET_RECLAIM_attribute_list_deserialize (buf, | 810 | attrs = GNUNET_RECLAIM_attribute_list_deserialize (buf, |
811 | attrs_len); | 811 | attrs_len); |
812 | for (le = attrs->list_head; NULL != le; le = le->next) | 812 | for (le = attrs->list_head; NULL != le; le = le->next) |
@@ -972,8 +972,8 @@ consume_result_cb (void *cls, | |||
972 | attrs_len + pres_len + key_len, | 972 | attrs_len + pres_len + key_len, |
973 | GNUNET_MESSAGE_TYPE_RECLAIM_CONSUME_TICKET_RESULT); | 973 | GNUNET_MESSAGE_TYPE_RECLAIM_CONSUME_TICKET_RESULT); |
974 | crm->id = htonl (cop->r_id); | 974 | crm->id = htonl (cop->r_id); |
975 | crm->attrs_len = htons (attrs_len); | 975 | crm->attrs_len = htonl (attrs_len); |
976 | crm->presentations_len = htons (pres_len); | 976 | crm->presentations_len = htonl (pres_len); |
977 | crm->key_len = htonl (key_len); | 977 | crm->key_len = htonl (key_len); |
978 | crm->result = htonl (success); | 978 | crm->result = htonl (success); |
979 | data_tmp = (char *) &crm[1]; | 979 | data_tmp = (char *) &crm[1]; |
@@ -1196,7 +1196,7 @@ handle_attribute_store_message (void *cls, | |||
1196 | 1196 | ||
1197 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received ATTRIBUTE_STORE message\n"); | 1197 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received ATTRIBUTE_STORE message\n"); |
1198 | 1198 | ||
1199 | data_len = ntohs (sam->attr_len); | 1199 | data_len = ntohl (sam->attr_len); |
1200 | key_len = ntohl (sam->key_len); | 1200 | key_len = ntohl (sam->key_len); |
1201 | buf = (char *) &sam[1]; | 1201 | buf = (char *) &sam[1]; |
1202 | if ((GNUNET_SYSERR == | 1202 | if ((GNUNET_SYSERR == |
@@ -1397,7 +1397,7 @@ handle_credential_store_message (void *cls, | |||
1397 | 1397 | ||
1398 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received CREDENTIAL_STORE message\n"); | 1398 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received CREDENTIAL_STORE message\n"); |
1399 | 1399 | ||
1400 | data_len = ntohs (sam->attr_len); | 1400 | data_len = ntohl (sam->attr_len); |
1401 | key_len = ntohl (sam->key_len); | 1401 | key_len = ntohl (sam->key_len); |
1402 | buf = (char *) &sam[1]; | 1402 | buf = (char *) &sam[1]; |
1403 | if ((GNUNET_SYSERR == | 1403 | if ((GNUNET_SYSERR == |
@@ -1868,7 +1868,7 @@ handle_attribute_delete_message (void *cls, | |||
1868 | 1868 | ||
1869 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received ATTRIBUTE_DELETE message\n"); | 1869 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received ATTRIBUTE_DELETE message\n"); |
1870 | 1870 | ||
1871 | data_len = ntohs (dam->attr_len); | 1871 | data_len = ntohl (dam->attr_len); |
1872 | key_len = ntohl (dam->key_len); | 1872 | key_len = ntohl (dam->key_len); |
1873 | buf = (char *) &dam[1]; | 1873 | buf = (char *) &dam[1]; |
1874 | if ((GNUNET_SYSERR == | 1874 | if ((GNUNET_SYSERR == |
@@ -1975,7 +1975,7 @@ handle_credential_delete_message (void *cls, | |||
1975 | 1975 | ||
1976 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received CREDENTIAL_DELETE message\n"); | 1976 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received CREDENTIAL_DELETE message\n"); |
1977 | 1977 | ||
1978 | data_len = ntohs (dam->attr_len); | 1978 | data_len = ntohl (dam->attr_len); |
1979 | key_len = ntohl (dam->key_len); | 1979 | key_len = ntohl (dam->key_len); |
1980 | buf = (char *) &dam[1]; | 1980 | buf = (char *) &dam[1]; |
1981 | if ((GNUNET_SYSERR == | 1981 | if ((GNUNET_SYSERR == |
@@ -2032,7 +2032,7 @@ attr_iter_finished (void *cls) | |||
2032 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Sending ATTRIBUTE_RESULT message\n"); | 2032 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Sending ATTRIBUTE_RESULT message\n"); |
2033 | env = GNUNET_MQ_msg (arm, GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_RESULT); | 2033 | env = GNUNET_MQ_msg (arm, GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_RESULT); |
2034 | arm->id = htonl (ai->request_id); | 2034 | arm->id = htonl (ai->request_id); |
2035 | arm->attr_len = htons (0); | 2035 | arm->attr_len = htonl (0); |
2036 | arm->pkey_len = htonl (0); | 2036 | arm->pkey_len = htonl (0); |
2037 | GNUNET_MQ_send (ai->client->mq, env); | 2037 | GNUNET_MQ_send (ai->client->mq, env); |
2038 | GNUNET_CONTAINER_DLL_remove (ai->client->attr_iter_head, | 2038 | GNUNET_CONTAINER_DLL_remove (ai->client->attr_iter_head, |
@@ -2097,7 +2097,7 @@ attr_iter_cb (void *cls, | |||
2097 | rd->data_size + key_len, | 2097 | rd->data_size + key_len, |
2098 | GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_RESULT); | 2098 | GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_RESULT); |
2099 | arm->id = htonl (ai->request_id); | 2099 | arm->id = htonl (ai->request_id); |
2100 | arm->attr_len = htons (rd->data_size); | 2100 | arm->attr_len = htonl (rd->data_size); |
2101 | data_tmp = (char *) &arm[1]; | 2101 | data_tmp = (char *) &arm[1]; |
2102 | arm->pkey_len = htonl (key_len); | 2102 | arm->pkey_len = htonl (key_len); |
2103 | written = GNUNET_IDENTITY_write_public_key_to_buffer (&identity, | 2103 | written = GNUNET_IDENTITY_write_public_key_to_buffer (&identity, |
@@ -2119,7 +2119,7 @@ check_iteration_start ( | |||
2119 | size_t key_len; | 2119 | size_t key_len; |
2120 | 2120 | ||
2121 | size = ntohs (ais_msg->header.size); | 2121 | size = ntohs (ais_msg->header.size); |
2122 | key_len = ntohs (ais_msg->key_len); | 2122 | key_len = ntohl (ais_msg->key_len); |
2123 | 2123 | ||
2124 | if (size < key_len + sizeof(*ais_msg)) | 2124 | if (size < key_len + sizeof(*ais_msg)) |
2125 | { | 2125 | { |
@@ -2262,7 +2262,7 @@ cred_iter_finished (void *cls) | |||
2262 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Sending CREDENTIAL_RESULT message\n"); | 2262 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Sending CREDENTIAL_RESULT message\n"); |
2263 | env = GNUNET_MQ_msg (arm, GNUNET_MESSAGE_TYPE_RECLAIM_CREDENTIAL_RESULT); | 2263 | env = GNUNET_MQ_msg (arm, GNUNET_MESSAGE_TYPE_RECLAIM_CREDENTIAL_RESULT); |
2264 | arm->id = htonl (ai->request_id); | 2264 | arm->id = htonl (ai->request_id); |
2265 | arm->credential_len = htons (0); | 2265 | arm->credential_len = htonl (0); |
2266 | GNUNET_MQ_send (ai->client->mq, env); | 2266 | GNUNET_MQ_send (ai->client->mq, env); |
2267 | GNUNET_CONTAINER_DLL_remove (ai->client->cred_iter_head, | 2267 | GNUNET_CONTAINER_DLL_remove (ai->client->cred_iter_head, |
2268 | ai->client->cred_iter_tail, | 2268 | ai->client->cred_iter_tail, |
@@ -2326,7 +2326,7 @@ cred_iter_cb (void *cls, | |||
2326 | rd->data_size + key_len, | 2326 | rd->data_size + key_len, |
2327 | GNUNET_MESSAGE_TYPE_RECLAIM_CREDENTIAL_RESULT); | 2327 | GNUNET_MESSAGE_TYPE_RECLAIM_CREDENTIAL_RESULT); |
2328 | arm->id = htonl (ai->request_id); | 2328 | arm->id = htonl (ai->request_id); |
2329 | arm->credential_len = htons (rd->data_size); | 2329 | arm->credential_len = htonl (rd->data_size); |
2330 | data_tmp = (char *) &arm[1]; | 2330 | data_tmp = (char *) &arm[1]; |
2331 | written = GNUNET_IDENTITY_write_public_key_to_buffer (&identity, | 2331 | written = GNUNET_IDENTITY_write_public_key_to_buffer (&identity, |
2332 | data_tmp, | 2332 | data_tmp, |
@@ -2346,7 +2346,7 @@ check_credential_iteration_start ( | |||
2346 | size_t key_len; | 2346 | size_t key_len; |
2347 | 2347 | ||
2348 | size = ntohs (cis_msg->header.size); | 2348 | size = ntohs (cis_msg->header.size); |
2349 | key_len = ntohs (cis_msg->key_len); | 2349 | key_len = ntohl (cis_msg->key_len); |
2350 | 2350 | ||
2351 | if (size < key_len + sizeof(*cis_msg)) | 2351 | if (size < key_len + sizeof(*cis_msg)) |
2352 | { | 2352 | { |
@@ -2531,7 +2531,7 @@ check_ticket_iteration_start ( | |||
2531 | size_t key_len; | 2531 | size_t key_len; |
2532 | 2532 | ||
2533 | size = ntohs (tis_msg->header.size); | 2533 | size = ntohs (tis_msg->header.size); |
2534 | key_len = ntohs (tis_msg->key_len); | 2534 | key_len = ntohl (tis_msg->key_len); |
2535 | 2535 | ||
2536 | if (size < key_len + sizeof(*tis_msg)) | 2536 | if (size < key_len + sizeof(*tis_msg)) |
2537 | { | 2537 | { |
diff --git a/src/reclaim/reclaim.h b/src/reclaim/reclaim.h index 5813beaf7..d2d2d4b89 100644 --- a/src/reclaim/reclaim.h +++ b/src/reclaim/reclaim.h | |||
@@ -138,17 +138,12 @@ struct AttributeResultMessage | |||
138 | /** | 138 | /** |
139 | * Length of serialized attribute data | 139 | * Length of serialized attribute data |
140 | */ | 140 | */ |
141 | uint16_t attr_len GNUNET_PACKED; | 141 | uint32_t attr_len GNUNET_PACKED; |
142 | 142 | ||
143 | /** | 143 | /** |
144 | * Length of serialized credential data | 144 | * Length of serialized credential data |
145 | */ | 145 | */ |
146 | uint16_t credential_len GNUNET_PACKED; | 146 | uint32_t credential_len GNUNET_PACKED; |
147 | |||
148 | /** | ||
149 | * always zero (for alignment) | ||
150 | */ | ||
151 | uint16_t reserved GNUNET_PACKED; | ||
152 | 147 | ||
153 | /** | 148 | /** |
154 | * The length of the public key | 149 | * The length of the public key |
diff --git a/src/reclaim/reclaim_api.c b/src/reclaim/reclaim_api.c index efc45e616..cb1aa305a 100644 --- a/src/reclaim/reclaim_api.c +++ b/src/reclaim/reclaim_api.c | |||
@@ -570,9 +570,9 @@ check_consume_ticket_result (void *cls, | |||
570 | size_t key_len; | 570 | size_t key_len; |
571 | 571 | ||
572 | msg_len = ntohs (msg->header.size); | 572 | msg_len = ntohs (msg->header.size); |
573 | attrs_len = ntohs (msg->attrs_len); | 573 | attrs_len = ntohl (msg->attrs_len); |
574 | key_len = ntohl (msg->key_len); | 574 | key_len = ntohl (msg->key_len); |
575 | pl_len = ntohs (msg->presentations_len); | 575 | pl_len = ntohl (msg->presentations_len); |
576 | if (msg_len != sizeof(*msg) + attrs_len + pl_len + key_len) | 576 | if (msg_len != sizeof(*msg) + attrs_len + pl_len + key_len) |
577 | { | 577 | { |
578 | GNUNET_break (0); | 578 | GNUNET_break (0); |
@@ -603,9 +603,9 @@ handle_consume_ticket_result (void *cls, | |||
603 | uint32_t r_id = ntohl (msg->id); | 603 | uint32_t r_id = ntohl (msg->id); |
604 | char *read_ptr; | 604 | char *read_ptr; |
605 | 605 | ||
606 | attrs_len = ntohs (msg->attrs_len); | 606 | attrs_len = ntohl (msg->attrs_len); |
607 | key_len = ntohl (msg->key_len); | 607 | key_len = ntohl (msg->key_len); |
608 | pl_len = ntohs (msg->presentations_len); | 608 | pl_len = ntohl (msg->presentations_len); |
609 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Processing ticket result.\n"); | 609 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Processing ticket result.\n"); |
610 | 610 | ||
611 | 611 | ||
@@ -694,7 +694,7 @@ check_attribute_result (void *cls, const struct AttributeResultMessage *msg) | |||
694 | size_t key_len; | 694 | size_t key_len; |
695 | 695 | ||
696 | msg_len = ntohs (msg->header.size); | 696 | msg_len = ntohs (msg->header.size); |
697 | attr_len = ntohs (msg->attr_len); | 697 | attr_len = ntohl (msg->attr_len); |
698 | key_len = ntohl (msg->pkey_len); | 698 | key_len = ntohl (msg->pkey_len); |
699 | if (msg_len != sizeof(*msg) + attr_len + key_len) | 699 | if (msg_len != sizeof(*msg) + attr_len + key_len) |
700 | { | 700 | { |
@@ -725,7 +725,7 @@ handle_attribute_result (void *cls, const struct AttributeResultMessage *msg) | |||
725 | uint32_t r_id = ntohl (msg->id); | 725 | uint32_t r_id = ntohl (msg->id); |
726 | char *buf; | 726 | char *buf; |
727 | 727 | ||
728 | attr_len = ntohs (msg->attr_len); | 728 | attr_len = ntohl (msg->attr_len); |
729 | key_len = ntohl (msg->pkey_len); | 729 | key_len = ntohl (msg->pkey_len); |
730 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Processing attribute result.\n"); | 730 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Processing attribute result.\n"); |
731 | 731 | ||
@@ -805,7 +805,7 @@ check_credential_result (void *cls, const struct CredentialResultMessage *msg) | |||
805 | size_t key_len; | 805 | size_t key_len; |
806 | 806 | ||
807 | msg_len = ntohs (msg->header.size); | 807 | msg_len = ntohs (msg->header.size); |
808 | cred_len = ntohs (msg->credential_len); | 808 | cred_len = ntohl (msg->credential_len); |
809 | key_len = ntohl (msg->key_len); | 809 | key_len = ntohl (msg->key_len); |
810 | if (msg_len != sizeof(*msg) + cred_len + key_len) | 810 | if (msg_len != sizeof(*msg) + cred_len + key_len) |
811 | { | 811 | { |
@@ -838,7 +838,7 @@ handle_credential_result (void *cls, const struct | |||
838 | char *buf; | 838 | char *buf; |
839 | 839 | ||
840 | key_len = ntohl (msg->key_len); | 840 | key_len = ntohl (msg->key_len); |
841 | att_len = ntohs (msg->credential_len); | 841 | att_len = ntohl (msg->credential_len); |
842 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Processing credential result.\n"); | 842 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Processing credential result.\n"); |
843 | 843 | ||
844 | 844 | ||
@@ -922,7 +922,7 @@ check_ticket_result (void *cls, const struct TicketResultMessage *msg) | |||
922 | size_t tkt_len; | 922 | size_t tkt_len; |
923 | 923 | ||
924 | msg_len = ntohs (msg->header.size); | 924 | msg_len = ntohs (msg->header.size); |
925 | pres_len = ntohs (msg->presentations_len); | 925 | pres_len = ntohl (msg->presentations_len); |
926 | tkt_len = ntohl (msg->tkt_len); | 926 | tkt_len = ntohl (msg->tkt_len); |
927 | if (msg_len != sizeof(*msg) + pres_len + tkt_len) | 927 | if (msg_len != sizeof(*msg) + pres_len + tkt_len) |
928 | { | 928 | { |
@@ -955,7 +955,7 @@ handle_ticket_result (void *cls, const struct TicketResultMessage *msg) | |||
955 | char *buf; | 955 | char *buf; |
956 | 956 | ||
957 | tkt_len = ntohl (msg->tkt_len); | 957 | tkt_len = ntohl (msg->tkt_len); |
958 | pres_len = ntohs (msg->presentations_len); | 958 | pres_len = ntohl (msg->presentations_len); |
959 | for (op = handle->op_head; NULL != op; op = op->next) | 959 | for (op = handle->op_head; NULL != op; op = op->next) |
960 | if (op->r_id == r_id) | 960 | if (op->r_id == r_id) |
961 | break; | 961 | break; |