View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007267 | Taler | exchange | public | 2022-06-30 10:31 | 2024-03-07 20:49 |
Reporter | oec | Assigned To | oec | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | git (master) | ||||
Target Version | 0.9.4 | Fixed in Version | 0.9.4 | ||
Summary | 0007267: TEH_make_coin_known needs proper conflict handling and evidence gathering | ||||
Description | Right now, TEH_make_coin_known calls TEH_RESPONSE_reply_coin_insufficient_funds in the cases TALER_EXCHANGEDB_CKS_DENOM_CONFLICT and TALER_EXCHANGEDB_CKS_AGE_CONFLICT. This is not correct because that function does not gather the required evidence for the noticed conflicts. We need a new conflict resolver/evidence gatherer function for those cases. It must take into account the usage of the coin in deposits, p2p or refunds (and maybe other circumstances?) | ||||
Tags | No tags attached. | ||||
parent of | 0008002 | closed | oec | exchange_do_deposit.sql needs to provide more information on conflict |
related to | 0006952 | closed | Florian Dold | document how public /pay handles refunded coins |
|
And we need test cases for those situations, too! |
|
Also, other places that call TEH_RESPONSE_reply_coin_insufficient_funds might require similar treatment |
|
Florian: please note that addressing this bug requires changes to the TALER_SIGNATURE_WALLET_RESERVE_OPEN_DEPOSIT signature. Now, I *think* the current wallet-core does not even use that signature yet, but if it does, this would be a protocol break. Please advise as to whether we need to coordinate here. |
|
Commits fa5582930e6198e2783ae9cad59d2d2b4ce2ee1a and 9454b655454317cc129eecc61009ffc7c2a9925b provide the required minimum information for the client in the case of a conflict, either due to age restriction or denomination. What is now missing are the corresponding tests. |
|
commit f7745020a3eb7f63194956ada075862bd1d0a6d6 adds the first test to trigger a denom-conflict and check if the exchange responds properly. It does, but only for RSA so far - for CS we get a 200 instead of a 409. TBC. |
|
Tests added in src/testing/test_exchange_api_conflicts.c to generate conflicting coins (wrt to denomination and age commitment) and verify that the exchange replies with 409 and corresponding response data. Note: In the Clause-Schnorr case of denominations, even when the master secret material for two keys are the same, the required nonce's are still randomly chosen. Therefore, the test expects no conflict in this case for denominations, but still for different age-commitments. |
|
fixed with 13bb37b6a811451accc14b3501173637f2c28d10 |
Date Modified | Username | Field | Change |
---|---|---|---|
2022-06-30 10:31 | oec | New Issue | |
2022-06-30 10:31 | oec | Status | new => assigned |
2022-06-30 10:31 | oec | Assigned To | => Christian Grothoff |
2022-06-30 10:33 | oec | Note Added: 0018951 | |
2022-06-30 10:40 | oec | Note Added: 0018952 | |
2022-07-05 13:20 | Christian Grothoff | Assigned To | Christian Grothoff => oec |
2023-04-05 18:37 | Florian Dold | Target Version | => 0.10 |
2023-04-08 09:56 | Christian Grothoff | Relationship added | related to 0006952 |
2023-11-25 04:16 | Christian Grothoff | Note Added: 0020661 | |
2023-12-07 17:33 | oec | Relationship added | parent of 0008002 |
2023-12-22 00:05 | oec | Note Added: 0020785 | |
2023-12-22 22:20 | oec | Note Added: 0020795 | |
2023-12-23 15:03 | oec | Note Added: 0020798 | |
2023-12-23 23:39 | oec | Status | assigned => resolved |
2023-12-23 23:39 | oec | Resolution | open => fixed |
2023-12-23 23:39 | oec | Fixed in Version | => git (master) |
2023-12-23 23:39 | oec | Note Added: 0020802 | |
2023-12-24 06:16 | Christian Grothoff | Fixed in Version | git (master) => 0.9.4 |
2023-12-24 06:16 | Christian Grothoff | Target Version | 0.10 => 0.9.4 |
2023-12-26 23:25 | oec | Tag Attached: bug | |
2024-02-29 22:46 | Christian Grothoff | Tag Detached: bug | |
2024-03-07 20:49 | Christian Grothoff | Status | resolved => closed |