X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fidentity-provider%2Fidentity_token.c;h=31249840b0ff989ac4b5375601549336adf9b4fe;hb=2105059516320800eaa8fff1196b58f29a50ba7c;hp=3bed6962e4ea6bd67b6b2507c1ff8a18752af3ce;hpb=bee208bcd6803829aa26c55a4c8e176a5f2c815f;p=oweals%2Fgnunet.git diff --git a/src/identity-provider/identity_token.c b/src/identity-provider/identity_token.c index 3bed6962e..31249840b 100644 --- a/src/identity-provider/identity_token.c +++ b/src/identity-provider/identity_token.c @@ -19,7 +19,7 @@ */ /** - * @file identity-token/identity_token.c + * @file identity-provider/identity_token.c * @brief helper library to manage identity tokens * @author Martin Schanzenbach */ @@ -98,7 +98,10 @@ decrypt_str_ecdhe (const struct GNUNET_CRYPTO_EcdsaPrivateKey *priv_key, &enc_key, &enc_iv, str_buf); - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Decrypted bytes: %d Expected bytes: %d\n", str_size, cyphertext_len); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Decrypted bytes: %zd Expected bytes: %zd\n", + str_size, + cyphertext_len); if (-1 == str_size) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "ECDH invalid\n"); @@ -106,7 +109,7 @@ decrypt_str_ecdhe (const struct GNUNET_CRYPTO_EcdsaPrivateKey *priv_key, return GNUNET_SYSERR; } *result_str = GNUNET_malloc (str_size+1); - memcpy (*result_str, str_buf, str_size); + GNUNET_memcpy (*result_str, str_buf, str_size); (*result_str)[str_size] = '\0'; GNUNET_free (str_buf); return GNUNET_OK; @@ -172,14 +175,14 @@ encrypt_str_ecdhe (const char *plaintext, pub_key, &new_key_hash)); create_sym_key_from_ecdh(&new_key_hash, &skey, &iv); - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Encrypting string %s\n (len=%d)", + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Encrypting string %s\n (len=%zd)", plaintext, strlen (plaintext)); enc_size = GNUNET_CRYPTO_symmetric_encrypt (plaintext, strlen (plaintext), &skey, &iv, *cyphertext); - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Encrypted (len=%d)", enc_size); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Encrypted (len=%zd)", enc_size); return GNUNET_OK; } @@ -421,6 +424,9 @@ token_parse (const char* raw_data, GNUNET_asprintf (&tmp_buf, "%s", raw_data); ecdh_pubkey_str = strtok (tmp_buf, ","); enc_token_str = strtok (NULL, ","); + + GNUNET_assert (NULL != ecdh_pubkey_str); + GNUNET_assert (NULL != enc_token_str); GNUNET_STRINGS_string_to_data (ecdh_pubkey_str, strlen (ecdh_pubkey_str), @@ -536,7 +542,7 @@ token_to_string (const struct IdentityToken *token, purpose->size = htonl (strlen (signature_target) + sizeof (struct GNUNET_CRYPTO_EccSignaturePurpose)); purpose->purpose = htonl(GNUNET_SIGNATURE_PURPOSE_GNUID_TOKEN); - memcpy (&purpose[1], signature_target, strlen (signature_target)); + GNUNET_memcpy (&purpose[1], signature_target, strlen (signature_target)); if (GNUNET_OK != GNUNET_CRYPTO_ecdsa_sign (priv_key, purpose, (struct GNUNET_CRYPTO_EcdsaSignature *)&token->signature)) @@ -544,6 +550,7 @@ token_to_string (const struct IdentityToken *token, GNUNET_free (signature_target); GNUNET_free (payload_str); GNUNET_free (payload_base64); + GNUNET_free (header_base64); GNUNET_free (purpose); return GNUNET_SYSERR; } @@ -707,11 +714,11 @@ ticket_serialize (struct TokenTicket *ticket, strlen (code_payload_str)); purpose->purpose = htonl(GNUNET_SIGNATURE_PURPOSE_GNUID_TICKET); write_ptr = (char*) &purpose[1]; - memcpy (write_ptr, + GNUNET_memcpy (write_ptr, &ticket->ecdh_pubkey, sizeof (struct GNUNET_CRYPTO_EcdhePublicKey)); write_ptr += sizeof (struct GNUNET_CRYPTO_EcdhePublicKey); - memcpy (write_ptr, enc_ticket_payload, strlen (code_payload_str)); + GNUNET_memcpy (write_ptr, enc_ticket_payload, strlen (code_payload_str)); GNUNET_assert (GNUNET_OK == GNUNET_CRYPTO_ecdsa_sign (priv_key, purpose, &ticket->signature)); @@ -925,9 +932,9 @@ ticket_parse (const char *raw_data, enc_data_len); purpose->purpose = htonl(GNUNET_SIGNATURE_PURPOSE_GNUID_TICKET); write_ptr = (char*) &purpose[1]; - memcpy (write_ptr, &ticket->ecdh_pubkey, sizeof (struct GNUNET_CRYPTO_EcdhePublicKey)); + GNUNET_memcpy (write_ptr, &ticket->ecdh_pubkey, sizeof (struct GNUNET_CRYPTO_EcdhePublicKey)); write_ptr += sizeof (struct GNUNET_CRYPTO_EcdhePublicKey); - memcpy (write_ptr, enc_data, enc_data_len); + GNUNET_memcpy (write_ptr, enc_data, enc_data_len); if (GNUNET_OK != GNUNET_CRYPTO_ecdsa_verify (GNUNET_SIGNATURE_PURPOSE_GNUID_TICKET, purpose,