View Issue Details

IDProjectCategoryView StatusLast Update
0010125Talerexchange KYC SPApublic2025-06-24 11:55
ReporterFlorian Dold Assigned ToChristian Grothoff  
PriorityurgentSeverityblockReproducibilityhave not tried
Status resolvedResolutionfixed 
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.

Activities

Florian Dold

2025-06-24 10: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 11: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 11: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 11:52

manager   ~0025343

Fix committed to master branch.

Christian Grothoff

2025-06-24 11:55

manager   ~0025344

Actual fix is in libgnunetmhd.

Related Changesets

gnunet: master 1e6f8828

2025-06-24 13:51

Christian Grothoff


Details Diff
fix 0010125: decompression failure (failed to update output buffer size when growing it) Affected Issues
0010125
mod - src/lib/mhd/mhd_upload.c Diff File

Issue History

Date Modified Username Field Change
2025-06-23 16:56 Florian Dold New Issue
2025-06-23 16:56 Florian Dold Assigned To => Florian Dold
2025-06-23 16:56 Florian Dold Status new => assigned
2025-06-24 10:56 Florian Dold Note Added: 0025338
2025-06-24 10:56 Florian Dold Assigned To Florian Dold => Christian Grothoff
2025-06-24 11:03 Florian Dold Note Added: 0025339
2025-06-24 11:04 Florian Dold Note Added: 0025340
2025-06-24 11:52 Christian Grothoff Changeset attached => gnunet master 1e6f8828
2025-06-24 11:52 Christian Grothoff Note Added: 0025343
2025-06-24 11:52 Christian Grothoff Status assigned => resolved
2025-06-24 11:52 Christian Grothoff Resolution open => fixed
2025-06-24 11:55 Christian Grothoff Product Version => 1.0
2025-06-24 11:55 Christian Grothoff Fixed in Version => 1.0 stretch goals
2025-06-24 11:55 Christian Grothoff Note Added: 0025344