View Issue Details

IDProjectCategoryView StatusLast Update
0006444Talermerchant backend API (C)public2020-07-25 20:23
ReporterChristian GrothoffAssigned ToChristian Grothoff 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionnot fixable 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Versiongit (master) 
Target Version0.8Fixed in Version0.8 
Summary0006444: merchant backend returns 100 continue before 404 on POST /private/orders
DescriptionInstead of failing immediately, the backend first 404s and then fails shortly thereafter with a 404.
Somehow we don't do the right thing (TM) and check early on for the 404 failure case.

Also odd: we still seem to fail before the actual upload succeeds, at least with my current WooCommerce test.

Steps To ReproducePost to backend where no instance is configured. Transcript from wireshark:

POST //private/orders HTTP/1.1
Host: backend.test.taler.net
Accept: */*
Authorization: ApiKey sandbox
Content-Type: application/json
Expect: 100-continue

HTTP/1.1 100 Continue

HTTP/1.1 404 Not Found
Server: nginx
Date: Sat, 25 Jul 2020 10:46:15 GMT
Content-Type: application/json
Content-Length: 57
Connection: keep-alive
Vary: Accept-Encoding
Access-Control-Allow-Origin: *

{
  "code": 2000,
  "hint": "merchant instance unknown"
}
TagsNo tags attached.

Activities

Christian Grothoff

2020-07-25 20:19

manager   ~0016522

Turns out this is the nginx reverse proxy's 100 continue. It just doesn't wait for the backend to react :-(.

Christian Grothoff

2020-07-25 20:21

manager   ~0016523

And they wontfix'ed the bug 7 years ago: https://trac.nginx.org/nginx/ticket/493

Issue History

Date Modified Username Field Change
2020-07-25 12:55 Christian Grothoff New Issue
2020-07-25 12:55 Christian Grothoff Status new => assigned
2020-07-25 12:55 Christian Grothoff Assigned To => Christian Grothoff
2020-07-25 20:19 Christian Grothoff Note Added: 0016522
2020-07-25 20:21 Christian Grothoff Note Added: 0016523
2020-07-25 20:23 Christian Grothoff Status assigned => resolved
2020-07-25 20:23 Christian Grothoff Resolution open => not fixable
2020-07-25 20:23 Christian Grothoff Fixed in Version => 0.8