View Issue Details

IDProjectCategoryView StatusLast Update
0007760Talerwallet (Android App)public2023-09-23 15:09
Reportersebasjm Assigned Togrote  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version0.9.3Fixed in Version0.9.3 
Summary0007760: making a deposit with lower case country (in the IBAN field) throws an error
DescriptionThe 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: }
TagsNo tags attached.

Activities

grote

2023-03-09 17:43

developer   ~0019943

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?

sebasjm

2023-03-09 19:15

developer   ~0019944

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.

grote

2023-03-10 21:33

developer   ~0019955

A C validator? Shouldn't it be the job of wallet core to validate/fix those?

However, I can do uppercase for now.

grote

2023-03-21 17:47

developer   ~0019971

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.

Florian Dold

2023-03-29 21:07

manager   ~0019990

As discussed on Mattermost, wallet-core v0.9.3-dev.10 now supports the "validateIban" request.

grote

2023-04-11 16:39

developer   ~0020068

IBAN gets validated in https://git.taler.net/taler-android.git/commit/?id=f5aced13fda3132d5ee3a6947fe95f7b7b22b98a

Issue History

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