add logic to store attributes

This commit is contained in:
Christian Grothoff 2023-01-27 15:10:25 +01:00
parent 6da3cbedd4
commit d79c23aaab
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
2 changed files with 42 additions and 7 deletions

View File

@ -195,8 +195,43 @@ proof_cb (
if (TALER_KYCLOGIC_STATUS_SUCCESS == status) if (TALER_KYCLOGIC_STATUS_SUCCESS == status)
{ {
enum GNUNET_DB_QueryStatus qs; enum GNUNET_DB_QueryStatus qs;
size_t eas;
void *ea;
const char *birthdate;
struct GNUNET_ShortHashCode kyc_prox;
// FIXME: also store 'attributes' in DB! // FIXME: compute kyc_prox properly!
memset (&kyc_prox,
0,
sizeof (kyc_prox));
birthdate = json_string_value (json_object_get (attributes,
"birthdate"));
TALER_CRYPTO_kyc_attributes_encrypt (&TEH_attribute_key,
attributes,
&ea,
&eas);
qs = TEH_plugin->insert_kyc_attributes (
TEH_plugin->cls,
&kpc->h_payto,
&kyc_prox,
kpc->provider_section,
birthdate,
GNUNET_TIME_timestamp_get (),
GNUNET_TIME_absolute_to_timestamp (expiration),
eas,
ea);
GNUNET_free (ea);
if (GNUNET_DB_STATUS_HARD_ERROR == qs)
{
GNUNET_break (0);
if (NULL != response)
MHD_destroy_response (response);
kpc->response_code = MHD_HTTP_INTERNAL_SERVER_ERROR;
kpc->response = TALER_MHD_make_error (TALER_EC_GENERIC_DB_STORE_FAILED,
"insert_kyc_attributes");
GNUNET_async_scope_restore (&old_scope);
return;
}
qs = TEH_plugin->update_kyc_process_by_row (TEH_plugin->cls, qs = TEH_plugin->update_kyc_process_by_row (TEH_plugin->cls,
kpc->process_row, kpc->process_row,
kpc->provider_section, kpc->provider_section,

View File

@ -1259,13 +1259,13 @@ struct TALER_AgeAttestation
#endif #endif
}; };
extern const struct TALER_AgeCommitmentHash TALER_ZeroAgeCommitmentHash; extern const struct TALER_AgeCommitmentHash TALER_ZeroAgeCommitmentHash;
#define TALER_AgeCommitmentHash_isNullOrZero(ph) ((NULL == ph) || \ #define TALER_AgeCommitmentHash_isNullOrZero(ph) \
((NULL == ph) || \
(0 == memcmp (ph, \ (0 == memcmp (ph, \
& \ &TALER_ZeroAgeCommitmentHash, \
TALER_ZeroAgeCommitmentHash, \ sizeof(struct TALER_AgeCommitmentHash))))
sizeof(struct \
TALER_AgeCommitmentHash))))
/** /**
* @brief Type of public signing keys for verifying blindly signed coins. * @brief Type of public signing keys for verifying blindly signed coins.