Note only extracts the first GZIP file. How to decompress multiple, consecutive GZIP files on stdin from the network (HTTP/1.1 pipelining)<p><pre><code> cat > 054.l;
int fileno(FILE *);
#define jmp BEGIN
#define echo ECHO
xa "\x1f\x8b"
/* GZIP magic number */
%s xa
%option noyywrap noinput nounput
%%
{xa} echo;jmp xa;
<xa>.|\n echo;
\n|.
%%
int main(){ yylex();exit(0);}
^D
flex -8Crf 054.l
cc -pipe -static lex.yy.c -o yy054
example usage:
printf 'GET /file.gz\r\nHost: example.com\r\nConnection: close\r\n\r\n" |nc -vv example.com 80|yy054|zcat</code></pre>
Id would be better to start a blog to collect these post. Old post here have very low visibility.<p>Also in a blog you can classify them by subject, and are easier to link.