View Issue Details

IDProjectCategoryView StatusLast Update
0011429Talermerchant backendpublic2026-05-22 11:04
ReporterChristian Grothoff Assigned ToChristian Grothoff  
PriorityhighSeveritymajorReproducibilityalways
Status assignedResolutionopen 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Versiongit (master) 
Target Version1.6 
Summary0011429: templates / orders incorrectly use contract parser
DescriptionThis can result in subtle failures in 'choices' where for contracts (and only contracts) "key_index" is mandatory.
The "is_order" bit of TALER_MERCHANT_parse_choice_output() is not set correctly, especially when parsing templates, resulting in fun like:

WARNING Failed to parse key_index at 3: key_index
EKTDKQVSETVJG8X3XTW) WARNING External protocol violation detected at ../src/util/contract_parse.c:274
EKTDKQVSETVJG8X3XTW) ERROR Assertion failed at ../src/util/contract_parse.c:493.
EKTDKQVSETVJG8X3XTW) WARNING Invalid paivana template_contract for field choices
EKTDKQVSETVJG8X3XTW) WARNING External protocol violation detected at ../src/backend/taler-merchant-httpd_post-private-templates.c:109.

9fc9bf43fe taler-merchant-httpd[123565]: {
29fc9bf43fe taler-merchant-httpd[123565]: "template_type": "paivana",
29fc9bf43fe taler-merchant-httpd[123565]: "summary": "Access to: standard",
29fc9bf43fe taler-merchant-httpd[123565]: "choices": [
29fc9bf43fe taler-merchant-httpd[123565]: {
29fc9bf43fe taler-merchant-httpd[123565]: "amount": "KUDOS:0",
29fc9bf43fe taler-merchant-httpd[123565]: "description": "Pay in KUDOS with subscription",
29fc9bf43fe taler-merchant-httpd[123565]: "inputs": [
29fc9bf43fe taler-merchant-httpd[123565]: {
29fc9bf43fe taler-merchant-httpd[123565]: "type": "token",
29fc9bf43fe taler-merchant-httpd[123565]: "token_family_slug": "monthly",
29fc9bf43fe taler-merchant-httpd[123565]: "count": 1
29fc9bf43fe taler-merchant-httpd[123565]: }
29fc9bf43fe taler-merchant-httpd[123565]: ]
29fc9bf43fe taler-merchant-httpd[123565]: },
29fc9bf43fe taler-merchant-httpd[123565]: {
29fc9bf43fe taler-merchant-httpd[123565]: "amount": "KUDOS:5",
29fc9bf43fe taler-merchant-httpd[123565]: "description": "Buy subscription in KUDOS",
29fc9bf43fe taler-merchant-httpd[123565]: "outputs": [
29fc9bf43fe taler-merchant-httpd[123565]: {
29fc9bf43fe taler-merchant-httpd[123565]: "type": "token",
29fc9bf43fe taler-merchant-httpd[123565]: "token_family_slug": "monthly",
29fc9bf43fe taler-merchant-httpd[123565]: "count": 1
29fc9bf43fe taler-merchant-httpd[123565]: }
29fc9bf43fe taler-merchant-httpd[123565]: ]
29fc9bf43fe taler-merchant-httpd[123565]: },
29fc9bf43fe taler-merchant-httpd[123565]: {
29fc9bf43fe taler-merchant-httpd[123565]: "amount": "CHF:0",
29fc9bf43fe taler-merchant-httpd[123565]: "description": "Pay in CHF with subscription",
29fc9bf43fe taler-merchant-httpd[123565]: "inputs": [
29fc9bf43fe taler-merchant-httpd[123565]: {
29fc9bf43fe taler-merchant-httpd[123565]: "type": "token",
29fc9bf43fe taler-merchant-httpd[123565]: "token_family_slug": "monthly",
29fc9bf43fe taler-merchant-httpd[123565]: "count": 1
29fc9bf43fe taler-merchant-httpd[123565]: }
29fc9bf43fe taler-merchant-httpd[123565]: ]
29fc9bf43fe taler-merchant-httpd[123565]: },
29fc9bf43fe taler-merchant-httpd[123565]: {
29fc9bf43fe taler-merchant-httpd[123565]: "amount": "CHF:5",
29fc9bf43fe taler-merchant-httpd[123565]: "description": "Buy subscription in CHF",
29fc9bf43fe taler-merchant-httpd[123565]: "outputs": [
29fc9bf43fe taler-merchant-httpd[123565]: {
29fc9bf43fe taler-merchant-httpd[123565]: "type": "token",
29fc9bf43fe taler-merchant-httpd[123565]: "token_family_slug": "monthly",
29fc9bf43fe taler-merchant-httpd[123565]: "count": 1
29fc9bf43fe taler-merchant-httpd[123565]: }
29fc9bf43fe taler-merchant-httpd[123565]: ]
29fc9bf43fe taler-merchant-httpd[123565]: }
29fc9bf43fe taler-merchant-httpd[123565]: ],
29fc9bf43fe taler-merchant-httpd[123565]: "pay_duration": {
29fc9bf43fe taler-merchant-httpd[123565]: "d_us": 86400000000
29fc9bf43fe taler-merchant-httpd[123565]: },
29fc9bf43fe taler-merchant-httpd[123565]: "max_pickup_duration": {
29fc9bf43fe taler-merchant-httpd[123565]: "d_us": 86400000000
29fc9bf43fe taler-merchant-httpd[123565]: }
29fc9bf43fe taler-merchant-httpd[123565]: }
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2026-05-22 11:04 Christian Grothoff New Issue
2026-05-22 11:04 Christian Grothoff Status new => assigned
2026-05-22 11:04 Christian Grothoff Assigned To => Christian Grothoff
2026-05-22 11:04 Christian Grothoff Priority normal => high