View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007760 | Taler | wallet (Android App) | public | 2023-03-09 15:21 | 2023-09-23 15:09 |
Reporter | sebasjm | Assigned To | grote | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | git (master) | ||||
Target Version | 0.9.3 | Fixed in Version | 0.9.3 | ||
Summary | 0007760: making a deposit with lower case country (in the IBAN field) throws an error | ||||
Description | The UI allows to send the deposit. The deposit then fails because the exchange throws 404 Log 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: got back response: { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "type": "response", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "operation": "getPendingOperations", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "id": 168, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "result": { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "pendingOperations": [ 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "type": "exchange-update", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "id": "exchange-update:http:\/\/exchange.taler\/", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "isDue": false, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "timestampDue": { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "t_ms": 1678372689000 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: }, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "isLongpolling": false, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "givesLifeness": false, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "exchangeBaseUrl": "http:\/\/exchange.taler\/" 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: }, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "type": "exchange-check-refresh", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "id": "exchange-update:http:\/\/exchange.taler\/", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "isDue": false, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "timestampDue": { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "t_ms": 1678455489000 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: }, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "isLongpolling": false, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "givesLifeness": false, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "exchangeBaseUrl": "http:\/\/exchange.taler\/" 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: }, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "type": "exchange-update", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "id": "exchange-update:https:\/\/exchange.demo.taler.net\/", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "isDue": false, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "timestampDue": { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "t_ms": 1678372663000 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: }, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "isLongpolling": false, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "givesLifeness": false, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "exchangeBaseUrl": "https:\/\/exchange.demo.taler.net\/" 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: }, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "type": "exchange-check-refresh", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "id": "exchange-update:https:\/\/exchange.demo.taler.net\/", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "isDue": false, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "timestampDue": { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "t_ms": 1678455463000 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: }, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "isLongpolling": false, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "givesLifeness": false, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "exchangeBaseUrl": "https:\/\/exchange.demo.taler.net\/" 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: }, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "type": "deposit", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "id": "deposit:BMREECH4CM2187PKTZT6WJTKYQES4ZEWMCRN4NZEX4M025D6FNCG", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "isDue": false, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "timestampDue": { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "t_ms": 1.678370181094625E12 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: }, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "isLongpolling": false, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "givesLifeness": true, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "depositGroupId": "BMREECH4CM2187PKTZT6WJTKYQES4ZEWMCRN4NZEX4M025D6FNCG", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "lastError": { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "code": 7005, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "when": { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "t_ms": 1678370169701 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: }, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "hint": "Unexpected HTTP status 400 in response", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "requestUrl": "http:\/\/exchange.taler\/coins\/2M7G9JJRKMF1AM5PRKP1B8H9RCC858FWZDD4J37K3VXEB2PD1CMG\/deposit", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "requestMethod": "POST", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "httpStatusCode": 400, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "errorResponse": { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "code": 26, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "hint": "A parameter in the request was malformed.", 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "detail": "Country code `de' not supported\n" 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: } 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: }, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "retryInfo": { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "firstTry": { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "t_ms": 1678370133368 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: }, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "nextRetry": { 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "t_ms": 1.678370181094625E12 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: }, 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: "retryCounter": 6 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: } 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: } 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: ] 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: } 03-09 10:56:10.069 29726 29759 V taler-wallet-backend: } | ||||
Tags | No tags attached. | ||||
|
What's the fix here? Force all characters in the IBAN to uppercase? Or show an error to the user if they enter lower-case? |
|
The exchange will fail to validate the iban using this https://git.taler.net/exchange.git/tree/src/util/iban.c There is a country table and a checksum validator. Forcing uppercase seems ok, i think. |
|
A C validator? Shouldn't it be the job of wallet core to validate/fix those? However, I can do uppercase for now. |
|
So I did uppercasing, but entering random stuff now gives me an IBAN checksum is wrong error. I would really expect wallet-core to have a validator method for wallets instead of each wallet having to implement their own. |
|
As discussed on Mattermost, wallet-core v0.9.3-dev.10 now supports the "validateIban" request. |
|
IBAN gets validated in https://git.taler.net/taler-android.git/commit/?id=f5aced13fda3132d5ee3a6947fe95f7b7b22b98a |
Date Modified | Username | Field | Change |
---|---|---|---|
2023-03-09 15:21 | sebasjm | New Issue | |
2023-03-09 15:21 | sebasjm | Status | new => assigned |
2023-03-09 15:21 | sebasjm | Assigned To | => grote |
2023-03-09 17:43 | grote | Note Added: 0019943 | |
2023-03-09 19:15 | sebasjm | Note Added: 0019944 | |
2023-03-10 21:33 | grote | Note Added: 0019955 | |
2023-03-21 17:47 | grote | Assigned To | grote => Florian Dold |
2023-03-21 17:47 | grote | Status | assigned => feedback |
2023-03-21 17:47 | grote | Note Added: 0019971 | |
2023-03-29 21:07 | Florian Dold | Note Added: 0019990 | |
2023-03-29 21:07 | Florian Dold | Assigned To | Florian Dold => grote |
2023-03-29 21:07 | Florian Dold | Status | feedback => assigned |
2023-04-04 19:33 | Florian Dold | Target Version | 0.9.2 => 0.9.3 |
2023-04-11 16:39 | grote | Status | assigned => resolved |
2023-04-11 16:39 | grote | Resolution | open => fixed |
2023-04-11 16:39 | grote | Note Added: 0020068 | |
2023-09-23 15:07 | Christian Grothoff | Fixed in Version | => 0.9.3 |
2023-09-23 15:09 | Christian Grothoff | Status | resolved => closed |