View Issue Details

IDProjectCategoryView StatusLast Update
0010760Talerexchangepublic2025-12-22 22:25
ReporterFlorian Dold Assigned ToChristian Grothoff  
PriorityhighSeveritymajorReproducibilityN/A
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version1.4Fixed in Version1.3 
Summary0010760: exchange treats AML rule names case-sensitively, causing subtle differences between tests and prod
DescriptionThe Taler configuration has case-insensitive section and option names. This means that tools that process the configuration may change the casing of sections/options.

However, the exchange reports rule names (to AML programs and in the HTTP API) without normalizing the case.
Some existing AML programs specifically only work with lower-case rule names.

Since the taler-harness upper-cases section names when writing configuration values, the behavior between prod and the test harness differs.

IMO this is not a bug in the harness but in the exchange. Changing the case of section names shall not effect the semantics.
TagsNo tags attached.

Activities

Florian Dold

2025-12-10 22:50

manager   ~0026868

@Christian: I can lower-case the rules from the config myself. But what what we should discuss: How are rules from the API treated? Are they also lower-cased? Do we treat it as an error if they're not lower-case?

Christian Grothoff

2025-12-11 07:02

manager   ~0026869

Exchange should normalize everything (OK with to lower-case). We didn't specify in the API, so best is to always normalize.

Christian Grothoff

2025-12-15 20:29

manager   ~0026998

Do we lower-case ASCII or UTF-8? I just fixed a bug in GNUNET_STRINGS_utf8_tolower() which was not usable because converting to lowercase in UTF-8 can make the text take more bytes...

Florian Dold

2025-12-17 19:38

manager   ~0027089

Last edited: 2025-12-17 19:39

The rule names are "machine identifiers", and thus they IMO should follow sane identifier rules (for example /[a-zA-Z]+[-_a-zA-Z0-9]*/, before lower-casing).

Christian Grothoff

2025-12-22 15:18

manager   ~0027166

I've updated the code to lower-case section names and references in the configuration to section names, including when we import rules from JSON. The change is in 8f8dc36bd..5f0500232. However, the ``taler-harness run-integrationtests tops-peer`` still fails.

Issue History

Date Modified Username Field Change
2025-12-10 22:31 Florian Dold New Issue
2025-12-10 22:50 Florian Dold Note Added: 0026868
2025-12-11 07:00 Christian Grothoff Assigned To => Christian Grothoff
2025-12-11 07:00 Christian Grothoff Status new => assigned
2025-12-11 07:02 Christian Grothoff Note Added: 0026869
2025-12-15 20:29 Christian Grothoff Note Added: 0026998
2025-12-15 20:30 Christian Grothoff Assigned To Christian Grothoff => Florian Dold
2025-12-15 20:30 Christian Grothoff Status assigned => feedback
2025-12-17 19:38 Florian Dold Note Added: 0027089
2025-12-17 19:38 Florian Dold Note Edited: 0027089
2025-12-17 19:39 Florian Dold Note Edited: 0027089
2025-12-21 21:54 Christian Grothoff Assigned To Florian Dold => Christian Grothoff
2025-12-21 21:54 Christian Grothoff Status feedback => assigned
2025-12-22 15:18 Christian Grothoff Note Added: 0027166
2025-12-22 15:19 Christian Grothoff Assigned To Christian Grothoff => Florian Dold
2025-12-22 22:25 Christian Grothoff Status assigned => resolved
2025-12-22 22:25 Christian Grothoff Resolution open => fixed
2025-12-22 22:25 Christian Grothoff Fixed in Version => 1.3
2025-12-22 22:25 Christian Grothoff Status resolved => closed
2025-12-22 22:25 Christian Grothoff Product Version => git (master)
2025-12-22 22:25 Christian Grothoff Assigned To Florian Dold => Christian Grothoff