global reindent, now with uncrustify hook enabled
[oweals/gnunet.git] / src / credential / plugin_gnsrecord_credential.c
index c03f2b3e40de381838ea210b7c6e43f03f975001..269e558c218a97b7e5cdf612da350d60ce7eee67 100644 (file)
@@ -16,7 +16,7 @@
      along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
      SPDX-License-Identifier: AGPL3.0-or-later
-*/
+ */
 
 /**
  * @file credential/plugin_gnsrecord_credential.c
@@ -46,66 +46,79 @@ static char *
 credential_value_to_string (void *cls, uint32_t type, const void *data,
                             size_t data_size)
 {
-
   const char *cdata;
 
-  switch (type) {
+  switch (type)
+  {
   case GNUNET_GNSRECORD_TYPE_ATTRIBUTE: {
-    struct GNUNET_CREDENTIAL_DelegationRecord sets;
-    char *attr_str;
-    char *subject_pkey;
-    char *tmp_str;
-    int i;
-    if (data_size < sizeof (struct GNUNET_CREDENTIAL_DelegationRecord))
-      return NULL; /* malformed */
-    GNUNET_memcpy (&sets, data, sizeof (sets));
-    cdata = data;
-    struct GNUNET_CREDENTIAL_DelegationSet set[ntohl (sets.set_count)];
-    if (GNUNET_OK != GNUNET_CREDENTIAL_delegation_set_deserialize (
-                         GNUNET_ntohll (sets.data_size), &cdata[sizeof (sets)],
-                         ntohl (sets.set_count), set))
-      return NULL;
-
-    for (i = 0; i < ntohl (sets.set_count); i++) {
-      subject_pkey =
+      struct GNUNET_CREDENTIAL_DelegationRecord sets;
+      char *attr_str;
+      char *subject_pkey;
+      char *tmp_str;
+      int i;
+      if (data_size < sizeof(struct GNUNET_CREDENTIAL_DelegationRecord))
+        return NULL; /* malformed */
+      GNUNET_memcpy (&sets, data, sizeof(sets));
+      cdata = data;
+      struct GNUNET_CREDENTIAL_DelegationSet set[ntohl (sets.set_count)];
+      if (GNUNET_OK != GNUNET_CREDENTIAL_delegation_set_deserialize (
+            GNUNET_ntohll (sets.data_size), &cdata[sizeof(sets)],
+            ntohl (sets.set_count), set))
+        return NULL;
+
+      for (i = 0; i < ntohl (sets.set_count); i++)
+      {
+        subject_pkey =
           GNUNET_CRYPTO_ecdsa_public_key_to_string (&set[i].subject_key);
-      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "%d len attr\n",
-                  set[i].subject_attribute_len);
-      if (0 == set[i].subject_attribute_len) {
-        if (0 == i) {
-          GNUNET_asprintf (&attr_str, "%s", subject_pkey);
-        } else {
-          GNUNET_asprintf (&tmp_str, "%s,%s", attr_str, subject_pkey);
-          GNUNET_free (attr_str);
-          attr_str = tmp_str;
+        GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "%d len attr\n",
+                    set[i].subject_attribute_len);
+        if (0 == set[i].subject_attribute_len)
+        {
+          if (0 == i)
+          {
+            GNUNET_asprintf (&attr_str, "%s", subject_pkey);
+          }
+          else
+          {
+            GNUNET_asprintf (&tmp_str, "%s,%s", attr_str, subject_pkey);
+            GNUNET_free (attr_str);
+            attr_str = tmp_str;
+          }
         }
-      } else {
-        if (0 == i) {
-          GNUNET_asprintf (&attr_str, "%s %s", subject_pkey,
-                           set[i].subject_attribute);
-        } else {
-          GNUNET_asprintf (&tmp_str, "%s,%s %s", attr_str, subject_pkey,
-                           set[i].subject_attribute);
-          GNUNET_free (attr_str);
-          attr_str = tmp_str;
+        else
+        {
+          if (0 == i)
+          {
+            GNUNET_asprintf (&attr_str, "%s %s", subject_pkey,
+                             set[i].subject_attribute);
+          }
+          else
+          {
+            GNUNET_asprintf (&tmp_str, "%s,%s %s", attr_str, subject_pkey,
+                             set[i].subject_attribute);
+            GNUNET_free (attr_str);
+            attr_str = tmp_str;
+          }
         }
+        GNUNET_free (subject_pkey);
       }
-      GNUNET_free (subject_pkey);
+      return attr_str;
     }
-    return attr_str;
-  }
+
   case GNUNET_GNSRECORD_TYPE_CREDENTIAL: {
-    struct GNUNET_CREDENTIAL_Credential *cred;
-    char *cred_str;
+      struct GNUNET_CREDENTIAL_Credential *cred;
+      char *cred_str;
+
+      cred = GNUNET_CREDENTIAL_credential_deserialize (data, data_size);
+      cred_str = GNUNET_CREDENTIAL_credential_to_string (cred);
+      GNUNET_free (cred);
+      return cred_str;
+    }
 
-    cred = GNUNET_CREDENTIAL_credential_deserialize (data, data_size);
-    cred_str = GNUNET_CREDENTIAL_credential_to_string (cred);
-    GNUNET_free (cred);
-    return cred_str;
-  }
   case GNUNET_GNSRECORD_TYPE_POLICY: {
-    return GNUNET_strndup (data, data_size);
-  }
+      return GNUNET_strndup (data, data_size);
+    }
+
   default:
     return NULL;
   }
@@ -129,92 +142,107 @@ credential_string_to_value (void *cls, uint32_t type, const char *s,
 {
   if (NULL == s)
     return GNUNET_SYSERR;
-  switch (type) {
+  switch (type)
+  {
   case GNUNET_GNSRECORD_TYPE_ATTRIBUTE: {
-    struct GNUNET_CREDENTIAL_DelegationRecord *sets;
-    char attr_str[253 + 1];
-    char subject_pkey[52 + 1];
-    char *token;
-    char *tmp_str;
-    int matches = 0;
-    int entries;
-    size_t tmp_data_size;
-    int i;
-
-    tmp_str = GNUNET_strdup (s);
-    token = strtok (tmp_str, ",");
-    entries = 0;
-    tmp_data_size = 0;
-    *data_size = sizeof (struct GNUNET_CREDENTIAL_DelegationRecord);
-    while (NULL != token) {
-      matches = SSCANF (token, "%s %s", subject_pkey, attr_str);
-      if (0 == matches) {
-        GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                    _ ("Unable to parse ATTR record string `%s'\n"), s);
+      struct GNUNET_CREDENTIAL_DelegationRecord *sets;
+      char attr_str[253 + 1];
+      char subject_pkey[52 + 1];
+      char *token;
+      char *tmp_str;
+      int matches = 0;
+      int entries;
+      size_t tmp_data_size;
+      int i;
+
+      tmp_str = GNUNET_strdup (s);
+      token = strtok (tmp_str, ",");
+      entries = 0;
+      tmp_data_size = 0;
+      *data_size = sizeof(struct GNUNET_CREDENTIAL_DelegationRecord);
+      while (NULL != token)
+      {
+        matches = sscanf (token, "%s %s", subject_pkey, attr_str);
+        if (0 == matches)
+        {
+          GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                      _ ("Unable to parse ATTR record string `%s'\n"), s);
+          GNUNET_free (tmp_str);
+          return GNUNET_SYSERR;
+        }
+        if (1 == matches)
+        {
+          tmp_data_size += sizeof(struct GNUNET_CREDENTIAL_DelegationRecordSet);
+        }
+        else if (2 == matches)
+        {
+          tmp_data_size += sizeof(struct GNUNET_CREDENTIAL_DelegationRecordSet)
+                           + strlen (attr_str) + 1;
+        }
+        entries++;
+        token = strtok (NULL, ",");
+      }
+      GNUNET_free (tmp_str);
+      tmp_str = GNUNET_strdup (s);
+      token = strtok (tmp_str, ",");
+      if (NULL == token)
+      {
         GNUNET_free (tmp_str);
+        GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Malformed string %s\n", s);
         return GNUNET_SYSERR;
       }
-      if (1 == matches) {
-        tmp_data_size += sizeof (struct GNUNET_CREDENTIAL_DelegationRecordSet);
-      } else if (2 == matches) {
-        tmp_data_size += sizeof (struct GNUNET_CREDENTIAL_DelegationRecordSet) +
-                         strlen (attr_str) + 1;
-      }
-      entries++;
-      token = strtok (NULL, ",");
-    }
-    GNUNET_free (tmp_str);
-    tmp_str = GNUNET_strdup (s);
-    token = strtok (tmp_str, ",");
-    if (NULL == token) {
-      GNUNET_free (tmp_str);
-      GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Malformed string %s\n", s);
-      return GNUNET_SYSERR;
-    }
-    struct GNUNET_CREDENTIAL_DelegationSet set[entries];
-    memset (set, 0, sizeof (struct GNUNET_CREDENTIAL_DelegationSet) * entries);
-    for (i = 0; i < entries; i++) {
-      matches = SSCANF (token, "%s %s", subject_pkey, attr_str);
-      GNUNET_CRYPTO_ecdsa_public_key_from_string (
+      struct GNUNET_CREDENTIAL_DelegationSet set[entries];
+      memset (set, 0, sizeof(struct GNUNET_CREDENTIAL_DelegationSet) * entries);
+      for (i = 0; i < entries; i++)
+      {
+        matches = sscanf (token, "%s %s", subject_pkey, attr_str);
+        GNUNET_CRYPTO_ecdsa_public_key_from_string (
           subject_pkey, strlen (subject_pkey), &set[i].subject_key);
-      if (2 == matches) {
-        set[i].subject_attribute_len = strlen (attr_str) + 1;
-        set[i].subject_attribute = GNUNET_strdup (attr_str);
+        if (2 == matches)
+        {
+          set[i].subject_attribute_len = strlen (attr_str) + 1;
+          set[i].subject_attribute = GNUNET_strdup (attr_str);
+        }
+        token = strtok (NULL, ",");
       }
-      token = strtok (NULL, ",");
-    }
-    tmp_data_size = GNUNET_CREDENTIAL_delegation_set_get_size (entries, set);
+      tmp_data_size = GNUNET_CREDENTIAL_delegation_set_get_size (entries, set);
+
+      if (-1 == tmp_data_size)
+      {
+        GNUNET_free (tmp_str);
+        return GNUNET_SYSERR;
+      }
+      *data_size += tmp_data_size;
+      *data = sets = GNUNET_malloc (*data_size);
+      GNUNET_CREDENTIAL_delegation_set_serialize (entries, set, tmp_data_size,
+                                                  (char *) &sets[1]);
+      for (i = 0; i < entries; i++)
+      {
+        if (0 != set[i].subject_attribute_len)
+          GNUNET_free ((char *) set[i].subject_attribute);
+      }
+      sets->set_count = htonl (entries);
+      sets->data_size = GNUNET_htonll (tmp_data_size);
 
-    if (-1 == tmp_data_size) {
       GNUNET_free (tmp_str);
-      return GNUNET_SYSERR;
+      return GNUNET_OK;
     }
-    *data_size += tmp_data_size;
-    *data = sets = GNUNET_malloc (*data_size);
-    GNUNET_CREDENTIAL_delegation_set_serialize (entries, set, tmp_data_size,
-                                                (char *)&sets[1]);
-    for (i = 0; i < entries; i++) {
-      if (0 != set[i].subject_attribute_len)
-        GNUNET_free ((char *)set[i].subject_attribute);
-    }
-    sets->set_count = htonl (entries);
-    sets->data_size = GNUNET_htonll (tmp_data_size);
 
-    GNUNET_free (tmp_str);
-    return GNUNET_OK;
-  }
   case GNUNET_GNSRECORD_TYPE_CREDENTIAL: {
-    struct GNUNET_CREDENTIAL_Credential *cred;
-    cred = GNUNET_CREDENTIAL_credential_from_string (s);
+      struct GNUNET_CREDENTIAL_Credential *cred;
+      cred = GNUNET_CREDENTIAL_credential_from_string (s);
+
+      *data_size = GNUNET_CREDENTIAL_credential_serialize (cred,
+                                                           (char **) data);
+      return GNUNET_OK;
+    }
 
-    *data_size = GNUNET_CREDENTIAL_credential_serialize (cred, (char **)data);
-    return GNUNET_OK;
-  }
   case GNUNET_GNSRECORD_TYPE_POLICY: {
-    *data_size = strlen (s);
-    *data = GNUNET_strdup (s);
-    return GNUNET_OK;
-  }
+      *data_size = strlen (s);
+      *data = GNUNET_strdup (s);
+      return GNUNET_OK;
+    }
+
   default:
     return GNUNET_SYSERR;
   }
@@ -229,10 +257,10 @@ static struct
 {
   const char *name;
   uint32_t number;
-} name_map[] = {{"CRED", GNUNET_GNSRECORD_TYPE_CREDENTIAL},
-                {"ATTR", GNUNET_GNSRECORD_TYPE_ATTRIBUTE},
-                {"POLICY", GNUNET_GNSRECORD_TYPE_POLICY},
-                {NULL, UINT32_MAX}};
+} name_map[] = { { "CRED", GNUNET_GNSRECORD_TYPE_CREDENTIAL },
+                 { "ATTR", GNUNET_GNSRECORD_TYPE_ATTRIBUTE },
+                 { "POLICY", GNUNET_GNSRECORD_TYPE_POLICY },
+                 { NULL, UINT32_MAX } };
 
 
 /**