View Issue Details

IDProjectCategoryView StatusLast Update
0010760Talerexchangepublic2025-12-22 21:25
ReporterFlorian Dold Assigned ToChristian Grothoff Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
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.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Florian Dold

2025-12-10 21: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 06: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 19: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 18:38

manager   ~0027089

Last edited: 2025-12-17 18: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 14: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 ModifiedUsernameFieldChange
2025-12-10 21:31Florian DoldNew Issue
2025-12-10 21:50Florian DoldNote Added: 0026868
2025-12-11 06:00Christian GrothoffAssigned To => Christian Grothoff
2025-12-11 06:00Christian GrothoffStatusnew => assigned
2025-12-11 06:02Christian GrothoffNote Added: 0026869
2025-12-15 19:29Christian GrothoffNote Added: 0026998
2025-12-15 19:30Christian GrothoffAssigned ToChristian Grothoff => Florian Dold
2025-12-15 19:30Christian GrothoffStatusassigned => feedback
2025-12-17 18:38Florian DoldNote Added: 0027089
2025-12-17 18:38Florian DoldNote Edited: 0027089
2025-12-17 18:39Florian DoldNote Edited: 0027089
2025-12-21 20:54Christian GrothoffAssigned ToFlorian Dold => Christian Grothoff
2025-12-21 20:54Christian GrothoffStatusfeedback => assigned
2025-12-22 14:18Christian GrothoffNote Added: 0027166
2025-12-22 14:19Christian GrothoffAssigned ToChristian Grothoff => Florian Dold
2025-12-22 21:25Christian GrothoffStatusassigned => informing
2025-12-22 21:25Christian GrothoffResolutionopen => fixed
2025-12-22 21:25Christian GrothoffFixed in Version => 1.3
2025-12-22 21:25Christian GrothoffStatusinforming => closed
2025-12-22 21:25Christian GrothoffProduct Version => git (master)
2025-12-22 21:25Christian GrothoffAssigned ToFlorian Dold => Christian Grothoff