View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0011340 | Taler | wallet (all platforms) | public | 2026-04-07 16:17 | 2026-07-31 13:52 |
| Reporter | Christian Grothoff | Assigned To | Florian Dold | Resolution deadline | |
| Implementer | Reviewer | ||||
| Release signed by | Deployed by | ||||
| Verifier | Communicator | ||||
| Data protection authority notification required | No | ||||
| CSIRT notification required | No | ||||
| Estimated effort (hours) | Actual effort (hours) | 0 | |||
| Fast-track | No | ||||
| Work package | none | ||||
| Priority | urgent | Severity | block | Reproducibility | always |
| Status | informing | Resolution | fixed | ||
| Platform | i7 | OS | Debian GNU/Linux | OS Version | squeeze |
| Product Version | git (master) | ||||
| Target Version | 1.6 | Fixed in Version | 1.6 | ||
| Summary | 0011340: instance names are/were case-sensitive (but should be case-insensitive) | ||||
| Description | But (at least) in the taler://pay-template/ case, I see the WebExtension wallet silently convert the instance name to lower-case. As a result, the merchant backend then doesn't find the instance and the payment does not work. Please fix wallet-core (and possibly UIs!) to ensure instance names are treated as case-sensitive! | ||||
| Tags | customer | ||||
| ASAP, please, this will affect *several* existing customer accounts! | |
| Should we allow case-sensitivity, or should we internally ALWAYS convert to lower case? Then also the customer problem should be solved... See: https://youtu.be/mrGfahzt-4Q?t=1575 Time: 26:19 can an email address be case sensitive? the answer is yes if you're evil | |
| The backend is case-sensitive, so converting to lower-case is what you do right now and that is breaking it! URL paths are case-sensitive, so no lower-casing! | |
| > URL paths are case-sensitive, so no lower-casing! Oh, come on. Who tf cares about lower/upper case when they enter a URL in the browser? Nobody does, and our backend shouldn't either. Everybody expects that they get to the correct (one-and-only) place when they enter lower case. | |
| Marc: please open https://bugs.gnunet.org/View.php?id=11340 | |
| I'm having trouble to find where the lower cased happened. Do you have the QR code of taler:// uri of the template? I tried with the latest backoffice / webex creating a template with different cases on the ID but without luck. Also added some unit test which all passes. | |
| 180d57339..f9d323d39 fix the input in the taler input uri | |
| Frontend-only fix in taler-typescript-core.git: 678b8d7..493f272 | |
| Further fixes needed, however to avoid err 401 for sure. | |
| Addressed in three places: * taler-merchant-webui (fixed by Hernani) * taler-harness has a test for it * backend no longer gives 401/404 for upper-case characters in instance names | |
| Apparently still not fixed in webui. | |
| True, and even affects other areas, including pw reset etc. Fix (I test it w/ manual deployment on own infra first), should be c778af...87dff7 | |
| commit 43ff95dc1956d384164b75f30c84f16534de5c94 (HEAD -> master, dev/phoenix-bot/instance-name-casing) Author: Florian Dold <dold@taler.net> Date: Fri Jul 31 15:47:40 2026 +0200 harness: check that merchant instance names are case-insensitive Covers the stored ID, case-only collisions, Basic auth, the URL path, the canonical URLs in orders, and paying a URI that spells the instance differently. commit 8e57ab32d8bff66fdf7575abcdb1161832c54b2f Author: Florian Dold <dold@taler.net> Date: Fri Jul 31 15:47:40 2026 +0200 wallet: find a purchase whose merchant base URL differs only in instance case A downloaded proposal is filed under the base URL from the contract terms, so re-scanning a taler:// URI that spells the instance differently claimed the order again instead of returning the existing transaction. commit 42a21c376bca1cabeeb7047d6b1c52432d7212d5 Author: Florian Dold <dold@taler.net> Date: Fri Jul 31 15:45:06 2026 +0200 harness: compare the instance name case-insensitively in stagefright The sidebar shows the folded ID, so a mixed-case one warned spuriously. commit 0177b63221d2bae5d9dd47ec208d2c392173d166 Author: Florian Dold <dold@taler.net> Date: Fri Jul 31 15:45:05 2026 +0200 ui: accept exactly the instance IDs the merchant accepts The form allowed "@", which TALER_is_slug() rejects, and required two characters, which it does not. commit 41f412168791ff02bcb4a55ec8ac3dfbbace6844 Author: Florian Dold <dold@taler.net> Date: Fri Jul 31 15:45:01 2026 +0200 util: add a helper to canonicalize a merchant base URL's instance segment Merchant instance IDs are case-insensitive, so a base URL derived from a taler:// URI can name the same instance as the one in the contract terms and still differ as a string. | |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-04-07 16:17 | Christian Grothoff | New Issue | |
| 2026-04-07 16:17 | Christian Grothoff | Status | new => assigned |
| 2026-04-07 16:17 | Christian Grothoff | Assigned To | => Florian Dold |
| 2026-04-07 16:17 | Christian Grothoff | Tag Attached: customer | |
| 2026-04-07 16:18 | Christian Grothoff | Note Added: 0028378 | |
| 2026-04-07 16:51 | MarcS | Note Added: 0028379 | |
| 2026-04-07 18:16 | Christian Grothoff | Note Added: 0028380 | |
| 2026-04-08 05:57 | MarcS | Note Added: 0028382 | |
| 2026-04-08 07:34 | Christian Grothoff | Note Added: 0028383 | |
| 2026-04-08 12:07 | sebasjm | Note Added: 0028386 | |
| 2026-04-08 14:39 | sebasjm | Note Added: 0028387 | |
| 2026-04-08 20:05 | Christian Grothoff | Status | assigned => informing |
| 2026-04-08 20:05 | Christian Grothoff | Resolution | open => fixed |
| 2026-04-08 20:05 | Christian Grothoff | Fixed in Version | => 1.6 |
| 2026-07-17 21:11 | vecirex | Status | informing => assigned |
| 2026-07-17 21:11 | vecirex | Resolution | fixed => open |
| 2026-07-17 21:39 | vecirex | Assigned To | Florian Dold => vecirex |
| 2026-07-17 21:39 | vecirex | Note Added: 0029183 | |
| 2026-07-17 21:40 | vecirex | Note Added: 0029184 | |
| 2026-07-17 21:41 | vecirex | Assigned To | vecirex => Florian Dold |
| 2026-07-17 23:23 | Florian Dold | Status | assigned => informing |
| 2026-07-17 23:23 | Florian Dold | Resolution | open => fixed |
| 2026-07-17 23:23 | Florian Dold | Note Added: 0029188 | |
| 2026-07-17 23:28 | Florian Dold | Status | informing => assigned |
| 2026-07-17 23:28 | Florian Dold | Note Added: 0029189 | |
| 2026-07-17 23:28 | Florian Dold | Note Edited: 0029189 | |
| 2026-07-17 23:59 | vecirex | Note Added: 0029190 | |
| 2026-07-31 12:21 | Florian Dold | Summary | instance names are case-sensitive! => instance names are/were case-sensitive (but should be case-insensitive) |
| 2026-07-31 13:52 | Florian Dold | Status | assigned => informing |
| 2026-07-31 13:52 | Florian Dold | Note Added: 0029333 |