diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-01-15 12:39:10 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-01-15 12:39:10 +0100 |
commit | dac3175e350122d74c6600a89d6045f449705ab1 (patch) | |
tree | a28616326cf2b56fc1331216acc6adf54672d171 /src | |
parent | 7de305af405fa04da82684c1921fb3c636434a3b (diff) | |
download | merchant-dac3175e350122d74c6600a89d6045f449705ab1.tar.gz merchant-dac3175e350122d74c6600a89d6045f449705ab1.tar.bz2 merchant-dac3175e350122d74c6600a89d6045f449705ab1.zip |
force (re)download of /keys also for auditor check, see #6699
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/taler-merchant-httpd_auditors.c | 1 | ||||
-rw-r--r-- | src/backend/taler-merchant-httpd_post-orders-ID-pay.c | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/backend/taler-merchant-httpd_auditors.c b/src/backend/taler-merchant-httpd_auditors.c index 179fa320..ce2e17e8 100644 --- a/src/backend/taler-merchant-httpd_auditors.c +++ b/src/backend/taler-merchant-httpd_auditors.c @@ -61,6 +61,7 @@ static unsigned int nauditors; */ json_t *j_auditors; + int TMH_AUDITORS_check_dk (struct TALER_EXCHANGE_Handle *mh, const struct TALER_EXCHANGE_DenomPublicKey *dk, 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 7e7ac0b0..bc45902a 100644 --- a/src/backend/taler-merchant-httpd_post-orders-ID-pay.c +++ b/src/backend/taler-merchant-httpd_post-orders-ID-pay.c @@ -845,6 +845,19 @@ process_pay_with_exchange (void *cls, &http_status, &ec)) { + if (! pc->tried_force_keys) + { + /* let's try *forcing* a re-download of /keys from the exchange. + Maybe the wallet has seen auditors that we missed. */ + pc->tried_force_keys = true; + pc->fo = TMH_EXCHANGES_find_exchange (pc->current_exchange, + pc->wm->wire_method, + GNUNET_YES, + &process_pay_with_exchange, + pc); + if (NULL != pc->fo) + return; + } resume_pay_with_response ( pc, http_status, |