View Issue Details

IDProjectCategoryView StatusLast Update
0010125Talerexchange KYC customer webuipublic2025-08-31 17:09
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
PriorityurgentSeverityblockReproducibilityhave not tried
Status closedResolutionfixed 
Product Version1.0 
Target Version1.0 stretch goalsFixed in Version1.0 stretch goals 
Summary0010125: uploading KYC document sometimes fails with 400 (likely broken request compression)
DescriptionSee summary.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Florian Dold

2025-06-24 08:56

manager   ~0025338

This is actually an exchange issue!

Very hard to reproduce, since only some upload contents seem to cause this behavior. Notably, a form with a field that contains large random base32-crockford encoded data *doesn't* trigger this behavior.

What does trigger it is a form upload with multiple JSON fields that each have some structure and a large-ish base64 string.

Here's a reproducer:

$ taler-harness run-integrationtests kyc-form-compression

Florian Dold

2025-06-24 09:03

manager   ~0025339

Leads to the following error log in the exchange:

2025-06-24T11:02:57.880899+0200 taler-exchange-httpd-3905977(6JYCXE9RF0HP289SFKK8RHPT68) INFO Handling request (POST) for URL '/kyc-upload/Q61H7346DZ8DA93886MGW3B1NPZGNAF3FZKKE5QDPF4SQ2TH8EWG-0-1'
2025-06-24T11:02:57.880926+0200 taler-exchange-httpd-3905977(6JYCXE9RF0HP289SFKK8RHPT68) WARNING External protocol violation detected at ../src/lib/mhd/mhd_upload.c:191.

Florian Dold

2025-06-24 09:04

manager   ~0025340

Note that the POST body is *not* malformed, taking it manually and piping it through "openssl zlib -d" produces the correct output.

Christian Grothoff

2025-06-24 09:52

manager   ~0025343

Fix committed to master branch.

Christian Grothoff

2025-06-24 09:55

manager   ~0025344

Actual fix is in libgnunetmhd.

Issue History

Date ModifiedUsernameFieldChange
2025-06-23 14:56Florian DoldNew Issue
2025-06-23 14:56Florian DoldAssigned To => Florian Dold
2025-06-23 14:56Florian DoldStatusnew => assigned
2025-06-24 08:56Florian DoldNote Added: 0025338
2025-06-24 08:56Florian DoldAssigned ToFlorian Dold => Christian Grothoff
2025-06-24 09:03Florian DoldNote Added: 0025339
2025-06-24 09:04Florian DoldNote Added: 0025340
2025-06-24 09:52Christian Grothoff
2025-06-24 09:52Christian GrothoffNote Added: 0025343
2025-06-24 09:52Christian GrothoffStatusassigned => informing
2025-06-24 09:52Christian GrothoffResolutionopen => fixed
2025-06-24 09:55Christian GrothoffProduct Version => 1.0
2025-06-24 09:55Christian GrothoffFixed in Version => 1.0 stretch goals
2025-06-24 09:55Christian GrothoffNote Added: 0025344
2025-08-31 17:09Christian GrothoffStatusinforming => closed
2026-08-23 14:17Florian DoldCategoryexchange KYC SPA => exchange KYC customer webui