lp:~yadi/squid/te-gzip

Created by Amos Jeffries and last modified

A Squid implementing HTTP Transfer-Encoding compression features.

When built with zlib this Squid will currently accept and decompress traffic from servers which is sent using the HTTP header "Transfer-Encoding: deflate".

To use this feature a server only needs to send deflate compressed, then chunked payload data with the above mentionend response header when it receives "TE: deflate" from Squid.

Note that transfer-encoding does not apply to responses with known size (ie Content-Length headers). Only to Transfer-Encoding responses, which must always be chunked.

TODO list for this branch:
* send compressed responses to clients which advertise TE:deflate support
* gizp coders
* compress coders
* aes128gcm coders ?
* ability to translate from or to Content-Encoding

Get this branch:
bzr branch lp:~yadi/squid/te-gzip
Only Amos Jeffries can upload to this branch. If you are Amos Jeffries please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Amos Jeffries
Project:
Squid
Status:
Development

Recent revisions

14966. By Amos Jeffries

Refactor TE parser to multitask as Paxxer (ie. Parser and Packer)

14965. By Amos Jeffries

Comply with MUST condition about Connection:TE

14964. By root <email address hidden>

Fix segfault when chunking with a sub-decoder

The TeParser child which holds theOut is the one responsible for managing
how many bytes get put to final output. All decoders in the chain try to
decode as much as is available, and return that which could not be handled
at their own level.

This will cause extra data to be buffered in the decoders sometimes, but that
will self-correct as decoders drain pendingData before handling new data.

Also, add debug to indicate which logic path is being followed and for
how much data.

14963. By root <email address hidden>

Add debug for 'garbage instead of CRLF line terminator' issues

14962. By Amos Jeffries

Add te_deflate config option

14961. By Amos Jeffries

Support Tranfer-Encoding:deflate from server

14960. By Amos Jeffries

Add -lz to unit tests that need it

14959. By Amos Jeffries

Adjust TE coders for layeres decoding

Even if we advertise only one decoder being available the server may still
layer that coding multiple times. We should handle that nasty case.

14958. By Amos Jeffries

Rename splay variables, because zlib.h spews generic names into global namespace

14957. By Amos Jeffries

Initial decoder for 'deflate' transfer encoding

Also, adjusts the TeParser API slightly to cope with sub-coders not fully
consuming the available data. This way allows the inBuf I/O buffer to
be the only place storing input data.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:~squid/squid/5
This branch contains Public information 
Everyone can see this information.

Subscribers