lp://qastaging/~yadi/squid/te-gzip
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://qastaging/~yadi/squid/te-gzip
Branch merges
Branch information
Recent revisions
- 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
- 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://qastaging/~squid/squid/5