View Issue Details

IDProjectCategoryView StatusLast Update
0005449Talertwisterpublic2019-12-20 18:12
ReporterMarcello Stanisci Assigned ToMarcello Stanisci 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
PrioritynormalSeveritytweakReproducibilityhave not tried
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version0.6Fixed in Version0.6 
Summary0005449: Make it compression-aware.
DescriptionThe Twister should be able to handle compressed payloads.

Right now it just discards any compression header it gets from the client.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Christian Grothoff

2018-10-06 14:06

manager   ~0013265

Setting the HTTP header "Accept-Encoding: deflate" should do the trick. CURLOPT_ENCODING docs sugges that it will set that header, so at least in theory this should be the way to do this.

Marcello Stanisci

2018-12-19 15:53

reporter   ~0013426

Okay, but this (as far as I know) tells half of the story. In particular, after the twister gets the (supposedly) deflated content from the service, it is still not able to re-deflate it (via MHD) and return to the client.

What now happens is that the twister returns the non-deflate content to the client but still sets the 'Content-Encoding: deflate' response header, hence making libgnunetcurl complain.

So the question is: how does MHD behave? I grepped 'ACCEPT_ENCODING' and 'Accept-Encoding' through the whole source and I could not find any dedicated line.. This suggests that it ignores a client request for compressed data..

Is that correct?

Christian Grothoff

2018-12-19 17:14

manager   ~0013427

MHD does not process (or set) accept-encoding headers. If the application sets them, the application is responsible for compressing the body correctly.

Marcello Stanisci

2018-12-20 18:59

reporter   ~0013428

fb53910 implements this.

Issue History

Date ModifiedUsernameFieldChange
2018-09-29 12:16Marcello StanisciNew Issue
2018-09-29 12:16Marcello StanisciStatusnew => assigned
2018-09-29 12:16Marcello StanisciAssigned To => Marcello Stanisci
2018-10-06 14:06Christian GrothoffNote Added: 0013265
2018-11-17 23:37Christian GrothoffSeverityminor => tweak
2018-11-17 23:37Christian GrothoffProduct Version => git (master)
2018-11-17 23:37Christian GrothoffTarget Version => 0.8
2018-12-19 15:53Marcello StanisciNote Added: 0013426
2018-12-19 17:14Christian GrothoffNote Added: 0013427
2018-12-20 18:59Marcello StanisciStatusassigned => informing
2018-12-20 18:59Marcello StanisciResolutionopen => fixed
2018-12-20 18:59Marcello StanisciNote Added: 0013428
2018-12-20 20:36Christian GrothoffFixed in Version => 0.6
2018-12-20 20:36Christian GrothoffTarget Version0.8 => 0.6
2019-12-20 18:12Christian GrothoffStatusinforming => closed