diff options
Diffstat (limited to 'src/exchange')
-rw-r--r-- | src/exchange/taler-exchange-aggregator.c | 1 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_age-withdraw.c | 1 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_aml-decision.c | 1 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_batch-withdraw.c | 1 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_kyc-check.c | 12 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_kyc-wallet.c | 13 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_purses_merge.c | 1 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_reserves_close.c | 1 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_reserves_purse.c | 1 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_withdraw.c | 1 |
10 files changed, 28 insertions, 5 deletions
diff --git a/src/exchange/taler-exchange-aggregator.c b/src/exchange/taler-exchange-aggregator.c index 0073d85e..df953ce3 100644 --- a/src/exchange/taler-exchange-aggregator.c +++ b/src/exchange/taler-exchange-aggregator.c @@ -522,6 +522,7 @@ kyc_satisfied (struct AggregationUnit *au_active) db_plugin->cls, requirement, &au_active->h_payto, + NULL, /* not a reserve */ &au_active->requirement_row); if (qs < 0) { diff --git a/src/exchange/taler-exchange-httpd_age-withdraw.c b/src/exchange/taler-exchange-httpd_age-withdraw.c index d0dd2e4f..106feb01 100644 --- a/src/exchange/taler-exchange-httpd_age-withdraw.c +++ b/src/exchange/taler-exchange-httpd_age-withdraw.c @@ -727,6 +727,7 @@ age_withdraw_transaction (void *cls, TEH_plugin->cls, kyc_required, &awc->h_payto, + &awc->commitment.reserve_pub, &awc->kyc.requirement_row); } } diff --git a/src/exchange/taler-exchange-httpd_aml-decision.c b/src/exchange/taler-exchange-httpd_aml-decision.c index c1439adc..e688b2ba 100644 --- a/src/exchange/taler-exchange-httpd_aml-decision.c +++ b/src/exchange/taler-exchange-httpd_aml-decision.c @@ -165,6 +165,7 @@ make_aml_decision (void *cls, TEH_plugin->cls, res, &dc->h_payto, + NULL, /* not a reserve */ &requirement_row); if (qs < 0) { diff --git a/src/exchange/taler-exchange-httpd_batch-withdraw.c b/src/exchange/taler-exchange-httpd_batch-withdraw.c index 270ee0ca..d60da56e 100644 --- a/src/exchange/taler-exchange-httpd_batch-withdraw.c +++ b/src/exchange/taler-exchange-httpd_batch-withdraw.c @@ -456,6 +456,7 @@ batch_withdraw_transaction (void *cls, TEH_plugin->cls, kyc_required, &wc->h_payto, + wc->reserve_pub, &wc->kyc.requirement_row); GNUNET_free (kyc_required); if (qs < 0) diff --git a/src/exchange/taler-exchange-httpd_kyc-check.c b/src/exchange/taler-exchange-httpd_kyc-check.c index 4b78c071..090927ec 100644 --- a/src/exchange/taler-exchange-httpd_kyc-check.c +++ b/src/exchange/taler-exchange-httpd_kyc-check.c @@ -301,6 +301,7 @@ kyc_check (void *cls, struct TALER_KYCLOGIC_ProviderDetails *pd; enum GNUNET_GenericReturnValue ret; struct TALER_PaytoHashP h_payto; + struct TALER_ReservePublicKeyP *reserve_pub; char *requirements; bool satisfied; @@ -309,7 +310,8 @@ kyc_check (void *cls, kyp->requirement_row, &requirements, &kyp->aml_status, - &h_payto); + &h_payto, + &reserve_pub); if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs) { GNUNET_log (GNUNET_ERROR_TYPE_INFO, @@ -335,6 +337,7 @@ kyc_check (void *cls, TALER_EC_EXCHANGE_KYC_CHECK_AUTHORIZATION_FAILED, "h_payto"); GNUNET_free (requirements); + GNUNET_free (reserve_pub); return GNUNET_DB_STATUS_HARD_ERROR; } qs = TALER_KYCLOGIC_check_satisfied ( @@ -354,6 +357,7 @@ kyc_check (void *cls, TALER_EC_GENERIC_DB_FETCH_FAILED, "kyc_test_required"); GNUNET_free (requirements); + GNUNET_free (reserve_pub); return GNUNET_DB_STATUS_HARD_ERROR; } if (satisfied) @@ -362,6 +366,7 @@ kyc_check (void *cls, "KYC requirements `%s' already satisfied\n", requirements); GNUNET_free (requirements); + GNUNET_free (reserve_pub); return GNUNET_DB_STATUS_SUCCESS_NO_RESULTS; } @@ -381,6 +386,7 @@ kyc_check (void *cls, TALER_EC_EXCHANGE_KYC_GENERIC_LOGIC_GONE, requirements); GNUNET_free (requirements); + GNUNET_free (reserve_pub); return GNUNET_DB_STATUS_HARD_ERROR; } GNUNET_free (requirements); @@ -394,7 +400,11 @@ kyc_check (void *cls, kyp->section_name, NULL, NULL, + reserve_pub, &kyp->process_row); + + GNUNET_free (reserve_pub); + if (qs < 0) { if (GNUNET_DB_STATUS_SOFT_ERROR == qs) diff --git a/src/exchange/taler-exchange-httpd_kyc-wallet.c b/src/exchange/taler-exchange-httpd_kyc-wallet.c index 77f2dea7..21d07422 100644 --- a/src/exchange/taler-exchange-httpd_kyc-wallet.c +++ b/src/exchange/taler-exchange-httpd_kyc-wallet.c @@ -42,6 +42,11 @@ struct KycRequestContext struct TALER_PaytoHashP h_payto; /** + * The reserve's public key + */ + struct TALER_ReservePublicKeyP reserve_pub; + + /** * KYC status, with row with the legitimization requirement. */ struct TALER_EXCHANGEDB_KycStatus kyc; @@ -141,6 +146,7 @@ wallet_kyc_check (void *cls, qs = TEH_plugin->insert_kyc_requirement_for_account (TEH_plugin->cls, krc->required, &krc->h_payto, + &krc->reserve_pub, &krc->kyc.requirement_row); if (qs < 0) { @@ -170,12 +176,11 @@ TEH_handler_kyc_wallet ( { struct TALER_ReserveSignatureP reserve_sig; struct KycRequestContext krc; - struct TALER_ReservePublicKeyP reserve_pub; struct GNUNET_JSON_Specification spec[] = { GNUNET_JSON_spec_fixed_auto ("reserve_sig", &reserve_sig), GNUNET_JSON_spec_fixed_auto ("reserve_pub", - &reserve_pub), + &krc.reserve_pub), TALER_JSON_spec_amount ("balance", TEH_currency, &krc.balance), @@ -195,7 +200,7 @@ TEH_handler_kyc_wallet ( TEH_METRICS_num_verifications[TEH_MT_SIGNATURE_EDDSA]++; if (GNUNET_OK != - TALER_wallet_account_setup_verify (&reserve_pub, + TALER_wallet_account_setup_verify (&krc.reserve_pub, &krc.balance, &reserve_sig)) { @@ -210,7 +215,7 @@ TEH_handler_kyc_wallet ( char *payto_uri; payto_uri = TALER_reserve_make_payto (TEH_base_url, - &reserve_pub); + &krc.reserve_pub); TALER_payto_hash (payto_uri, &krc.h_payto); GNUNET_log (GNUNET_ERROR_TYPE_INFO, diff --git a/src/exchange/taler-exchange-httpd_purses_merge.c b/src/exchange/taler-exchange-httpd_purses_merge.c index 50382687..d1edc49b 100644 --- a/src/exchange/taler-exchange-httpd_purses_merge.c +++ b/src/exchange/taler-exchange-httpd_purses_merge.c @@ -308,6 +308,7 @@ merge_transaction (void *cls, TEH_plugin->cls, required, &pcc->h_payto, + &pcc->reserve_pub, &pcc->kyc.requirement_row); GNUNET_free (required); if (GNUNET_DB_STATUS_HARD_ERROR == qs) diff --git a/src/exchange/taler-exchange-httpd_reserves_close.c b/src/exchange/taler-exchange-httpd_reserves_close.c index c84b22da..bcde8088 100644 --- a/src/exchange/taler-exchange-httpd_reserves_close.c +++ b/src/exchange/taler-exchange-httpd_reserves_close.c @@ -272,6 +272,7 @@ reserve_close_transaction (void *cls, TEH_plugin->cls, kyc_needed, &rcc->kyc_payto, + rcc->reserve_pub, &rcc->kyc.requirement_row); GNUNET_free (kyc_needed); if (GNUNET_DB_STATUS_HARD_ERROR == qs) diff --git a/src/exchange/taler-exchange-httpd_reserves_purse.c b/src/exchange/taler-exchange-httpd_reserves_purse.c index 5e39f810..71cec694 100644 --- a/src/exchange/taler-exchange-httpd_reserves_purse.c +++ b/src/exchange/taler-exchange-httpd_reserves_purse.c @@ -218,6 +218,7 @@ purse_transaction (void *cls, TEH_plugin->cls, required, &rpc->h_payto, + rpc->reserve_pub, &rpc->kyc.requirement_row); GNUNET_free (required); if (GNUNET_DB_STATUS_HARD_ERROR == qs) diff --git a/src/exchange/taler-exchange-httpd_withdraw.c b/src/exchange/taler-exchange-httpd_withdraw.c index 9c8a405c..cbc64141 100644 --- a/src/exchange/taler-exchange-httpd_withdraw.c +++ b/src/exchange/taler-exchange-httpd_withdraw.c @@ -319,6 +319,7 @@ withdraw_transaction (void *cls, TEH_plugin->cls, kyc_required, &wc->h_account_payto, + &wc->collectable.reserve_pub, &wc->kyc.requirement_row); GNUNET_free (kyc_required); if (GNUNET_DB_STATUS_HARD_ERROR == qs) |