[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-merchant] branch master updated: actually store minimum age sig
From: |
gnunet |
Subject: |
[taler-merchant] branch master updated: actually store minimum age sig |
Date: |
Tue, 26 Apr 2022 00:11:10 +0200 |
This is an automated email from the git hooks/post-receive script.
dold pushed a commit to branch master
in repository merchant.
The following commit(s) were added to refs/heads/master by this push:
new 407fd7eb actually store minimum age sig
407fd7eb is described below
commit 407fd7eb725ce58515c5feab2a61ed4adb596e80
Author: Florian Dold <florian@dold.me>
AuthorDate: Tue Apr 26 00:10:44 2022 +0200
actually store minimum age sig
Previously the value was parsed, but never actually stored in the place
where we later look it up for signature verification.
---
src/backend/taler-merchant-httpd_post-orders-ID-pay.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/backend/taler-merchant-httpd_post-orders-ID-pay.c
b/src/backend/taler-merchant-httpd_post-orders-ID-pay.c
index 4ace33ef..c64eaebf 100644
--- a/src/backend/taler-merchant-httpd_post-orders-ID-pay.c
+++ b/src/backend/taler-merchant-httpd_post-orders-ID-pay.c
@@ -124,9 +124,10 @@ struct DepositConfirmation
/**
* If a minimum age was required (i. e. pc->minimum_age is large enough),
* this is the signature of the minimum age (as a single uint8_t), using the
- * private key to the corresponding age group. Might be NULL.
+ * private key to the corresponding age group. Might be all zeroes for no
+ * age attestation.
*/
- struct TALER_AgeAttestation *minimum_age_sig;
+ struct TALER_AgeAttestation minimum_age_sig;
/* If a minimum age was required (i. e. pc->minimum_age is large enought),
* this is the age commitment (i. e. age mask and vector of EdDSA public
@@ -1193,7 +1194,7 @@ process_pay_with_exchange (void *cls,
}
dc->age_commitment->mask = denom_details->key.age_mask;
- if (dc->age_commitment->num !=
+ if ((dc->age_commitment->num + 1) !=
__builtin_popcount (dc->age_commitment->mask.bits))
{
code =
@@ -1205,7 +1206,7 @@ process_pay_with_exchange (void *cls,
TALER_age_commitment_verify (
dc->age_commitment,
pc->minimum_age,
- dc->minimum_age_sig))
+ &dc->minimum_age_sig))
code = TALER_EC_MERCHANT_POST_ORDERS_ID_PAY_AGE_VERIFICATION_FAILED;
AGE_FAIL:
@@ -2034,7 +2035,6 @@ parse_pay (struct MHD_Connection *connection,
{
struct DepositConfirmation *dc = &pc->dc[coins_index];
const char *exchange_url;
- struct TALER_AgeAttestation minimum_age_sig = {0};
json_t *age_commitment = NULL;
struct GNUNET_JSON_Specification ispec[] = {
GNUNET_JSON_spec_fixed_auto ("coin_sig",
@@ -2052,7 +2052,7 @@ parse_pay (struct MHD_Connection *connection,
&exchange_url),
GNUNET_JSON_spec_mark_optional (
GNUNET_JSON_spec_fixed_auto ("minimum_age_sig",
- &minimum_age_sig),
+ &dc->minimum_age_sig),
NULL),
GNUNET_JSON_spec_mark_optional (
GNUNET_JSON_spec_json ("age_commitment",
@@ -2110,8 +2110,8 @@ parse_pay (struct MHD_Connection *connection,
{
bool has_commitment = (NULL != age_commitment) &&
json_is_array (age_commitment);
- bool has_sig = ! GNUNET_is_zero_ (&minimum_age_sig,
- sizeof(minimum_age_sig));
+ bool has_sig = ! GNUNET_is_zero_ (&dc->minimum_age_sig,
+ sizeof(dc->minimum_age_sig));
if (has_sig != has_commitment)
{
GNUNET_break_op (0);
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-merchant] branch master updated: actually store minimum age sig,
gnunet <=