gnunet-svn
[Top][All Lists]
Advanced

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

[gnunet] 19/30: bugfixes


From: gnunet
Subject: [gnunet] 19/30: bugfixes
Date: Thu, 13 Feb 2020 22:31:19 +0100

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

martin-schanzenbach pushed a commit to branch master
in repository gnunet.

commit 02daf09b5348ffa894621f59ba0d3497a74ff669
Author: Schanzenbach, Martin <address@hidden>
AuthorDate: Thu Feb 6 18:38:02 2020 +0100

    bugfixes
---
 po/POTFILES.in                              |  6 ++++-
 src/reclaim-attribute/reclaim_attestation.c |  2 +-
 src/reclaim-attribute/reclaim_attribute.c   |  2 +-
 src/reclaim/gnunet-reclaim.c                | 17 +++++++++++++++
 src/reclaim/gnunet-service-reclaim.c        |  7 +++---
 src/reclaim/plugin_rest_reclaim.c           |  4 +++-
 src/reclaim/reclaim_api.c                   | 34 +++++++++++++++++++----------
 7 files changed, 53 insertions(+), 19 deletions(-)

diff --git a/po/POTFILES.in b/po/POTFILES.in
index 441d0f91d..f3376d01b 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -264,7 +264,9 @@ src/pq/pq_prepare.c
 src/pq/pq_query_helper.c
 src/pq/pq_result_helper.c
 src/pt/gnunet-daemon-pt.c
-src/reclaim-attribute/plugin_reclaim_attribute_gnuid.c
+src/reclaim-attribute/plugin_reclaim_attestation_jwt.c
+src/reclaim-attribute/plugin_reclaim_attribute_basic.c
+src/reclaim-attribute/reclaim_attestation.c
 src/reclaim-attribute/reclaim_attribute.c
 src/reclaim/gnunet-reclaim.c
 src/reclaim/gnunet-service-reclaim.c
@@ -428,6 +430,7 @@ src/transport/transport_api_offer_hello.c
 src/util/bandwidth.c
 src/util/benchmark.c
 src/util/bio.c
+src/util/buffer.c
 src/util/client.c
 src/util/common_allocation.c
 src/util/common_endian.c
@@ -464,6 +467,7 @@ src/util/getopt.c
 src/util/getopt_helpers.c
 src/util/gnunet-config-diff.c
 src/util/gnunet-config.c
+src/util/gnunet-crypto-tvg.c
 src/util/gnunet-ecc.c
 src/util/gnunet-qr.c
 src/util/gnunet-resolver.c
diff --git a/src/reclaim-attribute/reclaim_attestation.c 
b/src/reclaim-attribute/reclaim_attestation.c
index fd08b9b12..961c6ede4 100644
--- a/src/reclaim-attribute/reclaim_attestation.c
+++ b/src/reclaim-attribute/reclaim_attestation.c
@@ -388,7 +388,7 @@ GNUNET_RECLAIM_attestation_list_destroy (
   struct GNUNET_RECLAIM_AttestationListEntry *ale;
   struct GNUNET_RECLAIM_AttestationListEntry *tmp_ale;
 
-  for (ale = al->list_head; NULL != ale; ale = ale->next)
+  for (ale = al->list_head; NULL != ale;)
   {
     if (NULL != ale->attestation)
       GNUNET_free (ale->attestation);
diff --git a/src/reclaim-attribute/reclaim_attribute.c 
b/src/reclaim-attribute/reclaim_attribute.c
index 936f9cb75..0e3fae849 100644
--- a/src/reclaim-attribute/reclaim_attribute.c
+++ b/src/reclaim-attribute/reclaim_attribute.c
@@ -423,7 +423,7 @@ GNUNET_RECLAIM_attribute_list_destroy (
   struct GNUNET_RECLAIM_AttributeListEntry *ale;
   struct GNUNET_RECLAIM_AttributeListEntry *tmp_ale;
 
-  for (ale = al->list_head; NULL != ale; ale = ale->next)
+  for (ale = al->list_head; NULL != ale;)
   {
     if (NULL != ale->attribute)
       GNUNET_free (ale->attribute);
diff --git a/src/reclaim/gnunet-reclaim.c b/src/reclaim/gnunet-reclaim.c
index 0170ceff2..121f2b963 100644
--- a/src/reclaim/gnunet-reclaim.c
+++ b/src/reclaim/gnunet-reclaim.c
@@ -627,8 +627,10 @@ attest_iter_cb (void *cls,
                 const struct GNUNET_RECLAIM_AttributeList *attrs)
 {
   char *attest_str;
+  char *attr_str;
   char *id;
   const char *attest_type;
+  struct GNUNET_RECLAIM_AttributeListEntry *ale;
 
   if (GNUNET_YES == GNUNET_RECLAIM_id_is_equal (&attestation,
                                                 &attest->id))
@@ -647,6 +649,21 @@ attest_iter_cb (void *cls,
              attest_type,
              attest->flag,
              id);
+    if (NULL != attrs)
+    {
+      fprintf (stdout,
+               "\t Attributes:\n");
+      for (ale = attrs->list_head; NULL != ale; ale = ale->next)
+      {
+        attr_str = GNUNET_RECLAIM_attribute_value_to_string 
(ale->attribute->type,
+                                                             
ale->attribute->data,
+                                                             
ale->attribute->data_size);
+
+        fprintf (stdout,
+                 "\t %s: %s\n", ale->attribute->name, attr_str);
+        GNUNET_free (attr_str);
+      }
+    }
     GNUNET_free (id);
   }
   GNUNET_RECLAIM_get_attestations_next (attest_iterator);
diff --git a/src/reclaim/gnunet-service-reclaim.c 
b/src/reclaim/gnunet-service-reclaim.c
index 99831172b..eb8727f8f 100644
--- a/src/reclaim/gnunet-service-reclaim.c
+++ b/src/reclaim/gnunet-service-reclaim.c
@@ -1859,6 +1859,7 @@ attest_iter_finished (void *cls)
   env = GNUNET_MQ_msg (arm, GNUNET_MESSAGE_TYPE_RECLAIM_ATTESTATION_RESULT);
   arm->id = htonl (ai->request_id);
   arm->attestation_len = htons (0);
+  arm->attributes_len = htons (0);
   GNUNET_MQ_send (ai->client->mq, env);
   GNUNET_CONTAINER_DLL_remove (ai->client->attest_iter_head,
                                ai->client->attest_iter_tail,
@@ -1900,10 +1901,11 @@ attest_iter_cb (void *cls,
 {
   struct Iterator *ai = cls;
   struct GNUNET_MQ_Envelope *env;
+  struct AttestationResultMessage *arm;
   struct GNUNET_RECLAIM_AttributeList *attrs;
   struct GNUNET_RECLAIM_Attestation *att;
   char *data_tmp;
-  char *attrs_size;
+  size_t attrs_size;
 
   if ((rd_count != 1) ||
       (GNUNET_GNSRECORD_TYPE_RECLAIM_ATTESTATION != rd->record_type))
@@ -1915,8 +1917,6 @@ attest_iter_cb (void *cls,
                                                 rd->data_size);
   attrs = GNUNET_RECLAIM_attestation_get_attributes (att);
   attrs_size = GNUNET_RECLAIM_attribute_list_serialize_get_size (attrs);
-
-  struct AttestationResultMessage *arm;
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Found attestation under: %s\n",
               label);
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -1926,6 +1926,7 @@ attest_iter_cb (void *cls,
                              GNUNET_MESSAGE_TYPE_RECLAIM_ATTESTATION_RESULT);
   arm->id = htonl (ai->request_id);
   arm->attestation_len = htons (rd->data_size);
+  arm->attributes_len = htons (attrs_size);
   GNUNET_CRYPTO_ecdsa_key_get_public (zone, &arm->identity);
   data_tmp = (char *) &arm[1];
   GNUNET_memcpy (data_tmp, rd->data, rd->data_size);
diff --git a/src/reclaim/plugin_rest_reclaim.c 
b/src/reclaim/plugin_rest_reclaim.c
index cddee9b54..cd163e8a4 100644
--- a/src/reclaim/plugin_rest_reclaim.c
+++ b/src/reclaim/plugin_rest_reclaim.c
@@ -275,7 +275,8 @@ cleanup_handle (struct RequestHandle *handle)
     GNUNET_free (handle->url);
   if (NULL != handle->emsg)
     GNUNET_free (handle->emsg);
-  GNUNET_RECLAIM_attribute_list_destroy (handle->attr_list);
+  if (NULL != handle->attr_list)
+    GNUNET_RECLAIM_attribute_list_destroy (handle->attr_list);
   for (ego_entry = handle->ego_head; NULL != ego_entry;)
   {
     ego_tmp = ego_entry;
@@ -1029,6 +1030,7 @@ attr_collect (void *cls,
   json_array_append (handle->resp_object, attr_obj);
   json_decref (attr_obj);
   GNUNET_free (tmp_value);
+  GNUNET_RECLAIM_get_attributes_next (handle->attr_it);
 }
 
 
diff --git a/src/reclaim/reclaim_api.c b/src/reclaim/reclaim_api.c
index afab33320..5f52aa57b 100644
--- a/src/reclaim/reclaim_api.c
+++ b/src/reclaim/reclaim_api.c
@@ -632,7 +632,7 @@ handle_consume_ticket_result (void *cls,
                                               &ale->attestation->id))
               {
                 op->atr_cb (op->cls, &msg->identity,
-                           le->attribute, ale->attestation);
+                            le->attribute, ale->attestation);
                 break;
               }
 
@@ -641,11 +641,13 @@ handle_consume_ticket_result (void *cls,
           else     // No attestations
           {
             op->atr_cb (op->cls, &msg->identity,
-                       le->attribute, NULL);
+                        le->attribute, NULL);
           }
         }
-        GNUNET_RECLAIM_attribute_list_destroy (attrs);
-        GNUNET_RECLAIM_attestation_list_destroy (attests);
+        if (NULL != attrs)
+          GNUNET_RECLAIM_attribute_list_destroy (attrs);
+        if (NULL != attests)
+          GNUNET_RECLAIM_attestation_list_destroy (attests);
         attrs = NULL;
         attests = NULL;
       }
@@ -775,10 +777,13 @@ check_attestation_result (void *cls, const struct 
AttestationResultMessage *msg)
 {
   size_t msg_len;
   size_t attr_len;
+  size_t attest_len;
 
   msg_len = ntohs (msg->header.size);
-  attr_len = ntohs (msg->attestation_len);
-  if (msg_len != sizeof(struct AttestationResultMessage) + attr_len)
+  attest_len = ntohs (msg->attestation_len);
+  attr_len = ntohs (msg->attributes_len);
+  if (msg_len != sizeof(struct AttestationResultMessage)
+      + attr_len + attest_len)
   {
     GNUNET_break (0);
     return GNUNET_SYSERR;
@@ -851,6 +856,7 @@ handle_attestation_result (void *cls, const struct
     att = GNUNET_RECLAIM_attestation_deserialize ((char *) &msg[1], att_len);
     char *read_ptr = ((char *) &msg[1]) + att_len;
     attrs = GNUNET_RECLAIM_attribute_list_deserialize (read_ptr, attrs_len);
+
     if (NULL != it)
     {
       if (NULL != it->proc)
@@ -862,7 +868,8 @@ handle_attestation_result (void *cls, const struct
         op->at_cb (op->cls, &msg->identity, att, attrs);
     }
     GNUNET_free (att);
-    GNUNET_RECLAIM_attribute_list_destroy (attrs);
+    if (NULL != attrs)
+      GNUNET_RECLAIM_attribute_list_destroy (attrs);
     return;
   }
   GNUNET_assert (0);
@@ -1429,7 +1436,8 @@ GNUNET_RECLAIM_get_attestations_start (
   ait->identity = *identity;
   GNUNET_CONTAINER_DLL_insert_tail (h->ait_head, h->ait_tail, ait);
   env =
-    GNUNET_MQ_msg (msg, 
GNUNET_MESSAGE_TYPE_RECLAIM_ATTESTATION_ITERATION_START);
+    GNUNET_MQ_msg (msg,
+                   GNUNET_MESSAGE_TYPE_RECLAIM_ATTESTATION_ITERATION_START);
   msg->id = htonl (rid);
   msg->identity = *identity;
   if (NULL == h->mq)
@@ -1447,7 +1455,8 @@ GNUNET_RECLAIM_get_attestations_start (
  * @param it the iterator
  */
 void
-GNUNET_RECLAIM_get_attestations_next (struct 
GNUNET_RECLAIM_AttestationIterator *ait)
+GNUNET_RECLAIM_get_attestations_next (struct
+                                      GNUNET_RECLAIM_AttestationIterator *ait)
 {
   struct GNUNET_RECLAIM_Handle *h = ait->h;
   struct AttestationIterationNextMessage *msg;
@@ -1468,7 +1477,8 @@ GNUNET_RECLAIM_get_attestations_next (struct 
GNUNET_RECLAIM_AttestationIterator
  * @param it the iterator
  */
 void
-GNUNET_RECLAIM_get_attestations_stop (struct 
GNUNET_RECLAIM_AttestationIterator *ait)
+GNUNET_RECLAIM_get_attestations_stop (struct
+                                      GNUNET_RECLAIM_AttestationIterator *ait)
 {
   struct GNUNET_RECLAIM_Handle *h = ait->h;
   struct GNUNET_MQ_Envelope *env;
@@ -1477,7 +1487,8 @@ GNUNET_RECLAIM_get_attestations_stop (struct 
GNUNET_RECLAIM_AttestationIterator
   if (NULL != h->mq)
   {
     env =
-      GNUNET_MQ_msg (msg, 
GNUNET_MESSAGE_TYPE_RECLAIM_ATTESTATION_ITERATION_STOP);
+      GNUNET_MQ_msg (msg,
+                     GNUNET_MESSAGE_TYPE_RECLAIM_ATTESTATION_ITERATION_STOP);
     msg->id = htonl (ait->r_id);
     GNUNET_MQ_send (h->mq, env);
   }
@@ -1485,7 +1496,6 @@ GNUNET_RECLAIM_get_attestations_stop (struct 
GNUNET_RECLAIM_AttestationIterator
 }
 
 
-
 /**
  * Issues a ticket to another relying party. The identity may use
  * @GNUNET_RECLAIM_ticket_consume to consume the ticket

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



reply via email to

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