View Issue Details

IDProjectCategoryView StatusLast Update
0006780Talermerchant backendpublic2021-09-02 16:23
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
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version0.8Fixed in Version0.8 
Summary0006780: merchant backend interprets some instance URLs incorrectly
DescriptionCan be reproduced with this test:

$ taler-wallet-cli testing run-integrationtests merchant-instances-urls

These currently go wrong:

http://localhost:8083/instances/foobar/config
=> This one should return 404 if instance "foobar" doesn't exist, but it returns 200

http://localhost:8083/private/instances/myinst/orders
=> This one should also return 404, as "instances/myinst/orders" is not a private endpoint of the default instance. Furthermore, in this case it would be ambiguous if this refers to the public or private "orders" endpoint.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Florian Dold

2021-03-03 20:29

manager   ~0017588

Additionally reported by sebasjm:

http://localhost:8083/instances/foo/private/instances
=> This one should 404, as "foo" is not the default instances and thus not allowed to manage instances. But it currently seems to return 200.

Christian Grothoff

2021-03-04 11:10

manager   ~0017595

3923209..1ca25d6 should fix these.

Christian Grothoff

2021-03-04 11:11

manager   ~0017596

Note that /instances/default/private/instances now intentionally (!) also 404s. /private/instances is ONLY available at the top-level.

Florian Dold

2021-03-04 11:54

manager   ~0017597

One of the test cases is still failing:

http://localhost:8083/instances/default/private/instances

=> The test case wants this to be 200, but the merchant backend gives 404.

Of course it's debatable which one is correct here. But I would think the following base URLs should be *equivalent* in every aspect:

http://localhost:8083/instances/default/
http://localhost:8083/

right?!

Florian Dold

2021-03-04 11:55

manager   ~0017598

Oop, didn't read your previous comment. Seems fine.

Christian Grothoff

2021-09-02 16:23

manager   ~0018357

Fix committed to master branch.

Issue History

Date ModifiedUsernameFieldChange
2021-03-02 20:56Florian DoldNew Issue
2021-03-02 20:56Florian DoldStatusnew => assigned
2021-03-02 20:56Florian DoldAssigned To => Christian Grothoff
2021-03-03 20:29Florian DoldNote Added: 0017588
2021-03-04 11:10Christian GrothoffNote Added: 0017595
2021-03-04 11:11Christian GrothoffNote Added: 0017596
2021-03-04 11:12Christian GrothoffStatusassigned => informing
2021-03-04 11:12Christian GrothoffResolutionopen => fixed
2021-03-04 11:12Christian GrothoffFixed in Version => 0.9
2021-03-04 11:12Christian GrothoffProduct Version => git (master)
2021-03-04 11:12Christian GrothoffTarget Version => 0.9
2021-03-04 11:54Florian DoldStatusinforming => assigned
2021-03-04 11:54Florian DoldNote Added: 0017597
2021-03-04 11:55Florian DoldNote Added: 0017598
2021-03-04 11:55Florian DoldStatusassigned => informing
2021-07-30 11:57Christian GrothoffFixed in Version0.9 => 0.8.1
2021-07-30 11:59Christian GrothoffTarget Version0.9 => 0.8.1
2021-07-30 12:02Christian GrothoffFixed in Version0.8.1 => 0.8
2021-07-30 12:02Christian GrothoffTarget Version0.8.1 => 0.8
2021-08-24 14:23Christian GrothoffStatusinforming => closed
2021-09-02 16:22Christian Grothoff
2021-09-02 16:23Christian GrothoffNote Added: 0018357
2025-03-22 13:09Christian GrothoffCategorymechant backend => merchant backend