From fa2978883e1585b1eeff3a22b7a9b4f174a45ca3 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 13 May 2018 19:55:46 +0200 Subject: get rid of plain memcpy calls --- src/credential/gnunet-service-credential.c | 48 +++++++++++++++------------- src/credential/plugin_gnsrecord_credential.c | 10 +++--- src/credential/plugin_rest_credential.c | 36 ++++++++++----------- 3 files changed, 49 insertions(+), 45 deletions(-) (limited to 'src/credential') diff --git a/src/credential/gnunet-service-credential.c b/src/credential/gnunet-service-credential.c index 399371a2e..29bdf63d8 100644 --- a/src/credential/gnunet-service-credential.c +++ b/src/credential/gnunet-service-credential.c @@ -61,17 +61,17 @@ struct DelegationChainEntry * The issuer */ struct GNUNET_CRYPTO_EcdsaPublicKey issuer_key; - + /** * The subject */ struct GNUNET_CRYPTO_EcdsaPublicKey subject_key; - + /** * The issued attribute */ char *issuer_attribute; - + /** * The delegated attribute */ @@ -92,7 +92,7 @@ struct CredentialRecordEntry * DLL */ struct CredentialRecordEntry *prev; - + /** * Number of references in delegation chains */ @@ -409,7 +409,7 @@ cleanup_handle (struct VerifyRequestHandle *vrh) } cleanup_delegation_set (vrh->root_set); GNUNET_free_non_null (vrh->issuer_attribute); - for (cr_entry = vrh->cred_chain_head; + for (cr_entry = vrh->cred_chain_head; NULL != vrh->cred_chain_head; cr_entry = vrh->cred_chain_head) { @@ -543,7 +543,7 @@ send_lookup_response (struct VerifyRequestHandle *vrh) else rmsg->cred_found = htonl (GNUNET_NO); - GNUNET_assert (-1 != + GNUNET_assert (-1 != GNUNET_CREDENTIAL_delegation_chain_serialize (vrh->delegation_chain_size, dd, vrh->cred_chain_size, @@ -587,7 +587,7 @@ backward_resolution (void* cls, "Got %d attrs\n", rd_count); // Each OR - for (uint32_t i=0; i < rd_count; i++) + for (uint32_t i=0; i < rd_count; i++) { if (GNUNET_GNSRECORD_TYPE_ATTRIBUTE != rd[i].record_type) continue; @@ -665,10 +665,10 @@ backward_resolution (void* cls, /** * Check if this delegation already matches one of our credentials */ - for(cred_pointer = vrh->cred_chain_head; cred_pointer != NULL; + for(cred_pointer = vrh->cred_chain_head; cred_pointer != NULL; cred_pointer = cred_pointer->next) { - if(0 != memcmp (&set->subject_key, + if(0 != memcmp (&set->subject_key, &cred_pointer->credential->issuer_key, sizeof(struct GNUNET_CRYPTO_EcdsaPublicKey))) continue; @@ -769,7 +769,7 @@ backward_resolution (void* cls, return; } -} +} /** @@ -809,7 +809,7 @@ delegation_chain_resolution_start (void* cls) } /** - * Check for attributes from the issuer and follow the chain + * Check for attributes from the issuer and follow the chain * till you get the required subject's attributes */ char issuer_attribute_name[strlen (vrh->issuer_attribute) + strlen (".gnu") + 1]; @@ -821,9 +821,9 @@ delegation_chain_resolution_start (void* cls) "Looking up %s\n", issuer_attribute_name); ds_entry = GNUNET_new (struct DelegationSetQueueEntry); ds_entry->issuer_key = GNUNET_new (struct GNUNET_CRYPTO_EcdsaPublicKey); - memcpy (ds_entry->issuer_key, - &vrh->issuer_key, - sizeof (struct GNUNET_CRYPTO_EcdsaPublicKey)); + GNUNET_memcpy (ds_entry->issuer_key, + &vrh->issuer_key, + sizeof (struct GNUNET_CRYPTO_EcdsaPublicKey)); ds_entry->issuer_attribute = GNUNET_strdup (vrh->issuer_attribute); ds_entry->handle = vrh; ds_entry->lookup_attribute = GNUNET_strdup (vrh->issuer_attribute); @@ -869,7 +869,7 @@ check_verify (void *cls, static void handle_verify (void *cls, - const struct VerifyMessage *v_msg) + const struct VerifyMessage *v_msg) { struct VerifyRequestHandle *vrh; struct GNUNET_SERVICE_Client *client = cls; @@ -886,7 +886,9 @@ handle_verify (void *cls, "Received VERIFY message\n"); utf_in = (const char *) &v_msg[1]; GNUNET_STRINGS_utf8_tolower (utf_in, attrptr); - GNUNET_memcpy (issuer_attribute, attr, ntohs (v_msg->issuer_attribute_len)); + GNUNET_memcpy (issuer_attribute, + attr, + ntohs (v_msg->issuer_attribute_len)); issuer_attribute[ntohs (v_msg->issuer_attribute_len)] = '\0'; vrh = GNUNET_new (struct VerifyRequestHandle); GNUNET_CONTAINER_DLL_insert (vrh_head, vrh_tail, vrh); @@ -897,7 +899,7 @@ handle_verify (void *cls, vrh->issuer_attribute = GNUNET_strdup (issuer_attribute); if (0 == strlen (issuer_attribute)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "No issuer attribute provided!\n"); send_lookup_response (vrh); return; @@ -907,7 +909,7 @@ handle_verify (void *cls, * TODO: cleanup! */ credentials_count = ntohl(v_msg->c_count); - credential_data_size = ntohs (v_msg->header.size) + credential_data_size = ntohs (v_msg->header.size) - sizeof (struct VerifyMessage) - ntohs (v_msg->issuer_attribute_len) - 1; @@ -918,7 +920,7 @@ handle_verify (void *cls, credentials_count, credentials)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Cannot deserialize credentials!\n"); send_lookup_response (vrh); return; @@ -1015,7 +1017,7 @@ handle_cred_collection_finished_cb (void *cls) static void handle_collect (void *cls, - const struct CollectMessage *c_msg) + const struct CollectMessage *c_msg) { char attr[GNUNET_CREDENTIAL_MAX_LENGTH + 1]; char issuer_attribute[GNUNET_CREDENTIAL_MAX_LENGTH + 1]; @@ -1030,7 +1032,9 @@ handle_collect (void *cls, utf_in = (const char *) &c_msg[1]; GNUNET_STRINGS_utf8_tolower (utf_in, attrptr); - GNUNET_memcpy (issuer_attribute, attr, ntohs (c_msg->issuer_attribute_len)); + GNUNET_memcpy (issuer_attribute, + attr, + ntohs (c_msg->issuer_attribute_len)); issuer_attribute[ntohs (c_msg->issuer_attribute_len)] = '\0'; vrh = GNUNET_new (struct VerifyRequestHandle); GNUNET_CONTAINER_DLL_insert (vrh_head, vrh_tail, vrh); @@ -1043,7 +1047,7 @@ handle_collect (void *cls, if (0 == strlen (issuer_attribute)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "No issuer attribute provided!\n"); send_lookup_response (vrh); return; diff --git a/src/credential/plugin_gnsrecord_credential.c b/src/credential/plugin_gnsrecord_credential.c index ffb2857dc..cba362a50 100644 --- a/src/credential/plugin_gnsrecord_credential.c +++ b/src/credential/plugin_gnsrecord_credential.c @@ -62,9 +62,9 @@ credential_value_to_string (void *cls, int i; if (data_size < sizeof (struct GNUNET_CREDENTIAL_DelegationRecord)) return NULL; /* malformed */ - memcpy (&sets, - data, - sizeof (sets)); + 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), @@ -224,7 +224,7 @@ credential_string_to_value (void *cls, } tmp_data_size = GNUNET_CREDENTIAL_delegation_set_get_size (entries, set); - + if (-1 == tmp_data_size) { GNUNET_free (tmp_str); @@ -248,7 +248,7 @@ credential_string_to_value (void *cls, return GNUNET_OK; } case GNUNET_GNSRECORD_TYPE_CREDENTIAL: - { + { struct GNUNET_CREDENTIAL_Credential *cred; cred = GNUNET_CREDENTIAL_credential_from_string (s); diff --git a/src/credential/plugin_rest_credential.c b/src/credential/plugin_rest_credential.c index 2e43139de..7f39b34ea 100644 --- a/src/credential/plugin_rest_credential.c +++ b/src/credential/plugin_rest_credential.c @@ -309,14 +309,14 @@ json_to_credential (json_t *res) sig, sizeof (struct GNUNET_CRYPTO_EcdsaSignature)); GNUNET_free (sig); - + tmp = json_object_get (res, "expiration"); if (0 == json_is_integer (tmp)) { GNUNET_free (cred); return NULL; } - cred->expiration.abs_value_us = json_integer_value (tmp); + cred->expiration.abs_value_us = json_integer_value (tmp); return cred; } @@ -342,7 +342,7 @@ credential_to_json (struct GNUNET_CREDENTIAL_Credential *cred) GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Issuer in credential malformed\n"); return NULL; - } + } subject = GNUNET_CRYPTO_ecdsa_public_key_to_string (&cred->subject_key); if (NULL == subject) { @@ -354,9 +354,9 @@ credential_to_json (struct GNUNET_CREDENTIAL_Credential *cred) GNUNET_STRINGS_base64_encode ((char*)&cred->signature, sizeof (struct GNUNET_CRYPTO_EcdsaSignature), &signature); - memcpy (attribute, - cred->issuer_attribute, - cred->issuer_attribute_len); + GNUNET_memcpy (attribute, + cred->issuer_attribute, + cred->issuer_attribute_len); attribute[cred->issuer_attribute_len] = '\0'; cred_obj = json_object (); json_object_set_new (cred_obj, "issuer", json_string (issuer)); @@ -570,7 +570,7 @@ collect_cred_cont (struct GNUNET_REST_RequestHandle *conndata_handle, { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Missing issuer attribute\n"); - GNUNET_SCHEDULER_add_now (&do_error, handle); + GNUNET_SCHEDULER_add_now (&do_error, handle); return; } tmp = GNUNET_CONTAINER_multihashmap_get (conndata_handle->url_param_map, @@ -585,7 +585,7 @@ collect_cred_cont (struct GNUNET_REST_RequestHandle *conndata_handle, GNUNET_SCHEDULER_add_now (&do_error, handle); return; } - if (GNUNET_OK != + if (GNUNET_OK != GNUNET_CRYPTO_ecdsa_public_key_from_string (tmp, strlen (tmp), &handle->issuer_key)) @@ -626,7 +626,7 @@ collect_cred_cont (struct GNUNET_REST_RequestHandle *conndata_handle, { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Malformed subject\n"); - GNUNET_SCHEDULER_add_now (&do_error, handle); + GNUNET_SCHEDULER_add_now (&do_error, handle); return; } handle->ego_lookup = GNUNET_IDENTITY_ego_lookup (cfg, @@ -679,7 +679,7 @@ verify_cred_cont (struct GNUNET_REST_RequestHandle *conndata_handle, { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Missing issuer attribute\n"); - GNUNET_SCHEDULER_add_now (&do_error, handle); + GNUNET_SCHEDULER_add_now (&do_error, handle); return; } tmp = GNUNET_CONTAINER_multihashmap_get (conndata_handle->url_param_map, @@ -694,7 +694,7 @@ verify_cred_cont (struct GNUNET_REST_RequestHandle *conndata_handle, GNUNET_SCHEDULER_add_now (&do_error, handle); return; } - if (GNUNET_OK != + if (GNUNET_OK != GNUNET_CRYPTO_ecdsa_public_key_from_string (tmp, strlen (tmp), &handle->issuer_key)) @@ -735,7 +735,7 @@ verify_cred_cont (struct GNUNET_REST_RequestHandle *conndata_handle, { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Malformed subject\n"); - GNUNET_SCHEDULER_add_now (&do_error, handle); + GNUNET_SCHEDULER_add_now (&do_error, handle); return; } if (GNUNET_OK != @@ -946,7 +946,7 @@ get_cred_issuer_cb (void *cls, { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Missing expiration\n"); - GNUNET_SCHEDULER_add_now (&do_error, handle); + GNUNET_SCHEDULER_add_now (&do_error, handle); return; } expiration_str = GNUNET_CONTAINER_multihashmap_get (handle->rest_handle->url_param_map, @@ -955,7 +955,7 @@ get_cred_issuer_cb (void *cls, { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Expiration malformed\n"); - GNUNET_SCHEDULER_add_now (&do_error, handle); + GNUNET_SCHEDULER_add_now (&do_error, handle); return; } @@ -968,7 +968,7 @@ get_cred_issuer_cb (void *cls, { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Malformed expiration: %s\n", expiration_str); - GNUNET_SCHEDULER_add_now (&do_error, handle); + GNUNET_SCHEDULER_add_now (&do_error, handle); return; } GNUNET_CRYPTO_hash (GNUNET_REST_JSONAPI_CREDENTIAL_ISSUER_ATTR, @@ -980,10 +980,10 @@ get_cred_issuer_cb (void *cls, { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Missing issuer attribute\n"); - GNUNET_SCHEDULER_add_now (&do_error, handle); + GNUNET_SCHEDULER_add_now (&do_error, handle); return; } - handle->issuer_attr = GNUNET_strdup(GNUNET_CONTAINER_multihashmap_get + handle->issuer_attr = GNUNET_strdup(GNUNET_CONTAINER_multihashmap_get (handle->rest_handle->url_param_map, &key)); GNUNET_CRYPTO_hash (GNUNET_REST_JSONAPI_CREDENTIAL_SUBJECT_KEY, @@ -1004,7 +1004,7 @@ get_cred_issuer_cb (void *cls, { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Malformed subject\n"); - GNUNET_SCHEDULER_add_now (&do_error, handle); + GNUNET_SCHEDULER_add_now (&do_error, handle); return; } if (GNUNET_OK != -- cgit v1.2.3