View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update | 
|---|---|---|---|---|---|
| 0007103 | Taler | merchant backend | public | 2021-11-23 12:25 | 2024-01-12 14:04 | 
| Reporter | Florian Dold | Assigned To | Florian Dold | ||
| Priority | normal | Severity | minor | Reproducibility | have not tried | 
| Status | closed | Resolution | no change required | ||
| Product Version | git (master) | ||||
| Target Version | 0.9 | Fixed in Version | 0.9 | ||
| Summary | 0007103: merchant should generate better error message if exchange signkey of a /deposit response is not found | ||||
| Description | Currently, if this happens, the merchant just logs a rather non-actionable SQL constraint violation. We should explicitly check if the merchant knows the exchange signing key *before* we do the insert (with an otherwise potentially failing select clause).  | ||||
| Tags | No tags attached. | ||||
| 
		 | 
	
	I am very confused how this can happen.  exchange_api_deposit.c::handle_deposit_finished() explicitly checks that the signing key used by the exchange is known in the /keys response. exchange_api_handle.c::keys_completed_cb() explicitly calls the merchant to tell it whenever it gets new /keys. taler-merchant-httpd_exchanges::keys_mgmt_cb() explicitly stores every exchange signing key in the database when it is called. So how _can_ we end up with that database constraint violation? Is there a good way to reproduce this?  | 
| 
		 | 
	
	I think I reported this bug *before* I knew that there was a linker problem causing a weird API incompatibility. Probably the SQL statement can't fail now. It only failed because the exchange signing public key was set to NULL due to the linker issue.  | 
| 
		 | 
	Ok, then let's just close this. No point in adding insane error handling for well-logged invariants. | 
| Date Modified | Username | Field | Change | 
|---|---|---|---|
| 2021-11-23 12:25 | Florian Dold | New Issue | |
| 2021-11-23 12:25 | Florian Dold | Status | new => assigned | 
| 2021-11-23 12:25 | Florian Dold | Assigned To | => Christian Grothoff | 
| 2021-11-25 23:22 | Christian Grothoff | Note Added: 0018548 | |
| 2021-11-25 23:22 | Christian Grothoff | Assigned To | Christian Grothoff => Florian Dold | 
| 2021-11-25 23:22 | Christian Grothoff | Status | assigned => feedback | 
| 2021-11-25 23:30 | Florian Dold | Note Added: 0018550 | |
| 2021-11-25 23:45 | Christian Grothoff | Note Added: 0018553 | |
| 2021-11-25 23:45 | Christian Grothoff | Status | feedback => resolved | 
| 2021-11-25 23:45 | Christian Grothoff | Resolution | open => no change required | 
| 2021-11-25 23:45 | Christian Grothoff | Fixed in Version | => 0.9 | 
| 2021-11-25 23:45 | Christian Grothoff | Target Version | 0.9.1 => 0.9 | 
| 2022-11-04 20:53 | Christian Grothoff | Status | resolved => closed | 
| 2024-01-12 14:04 | Christian Grothoff | Category | merchant backend API (C) => mechant backend | 
| 2025-03-22 14:09 | Christian Grothoff | Category | mechant backend => merchant backend |