GNUTLS compression

Simon Josefsson simon at
Wed Nov 11 11:10:25 CET 2009

"Handi Ajimasta" <hajimasta at> writes:

> Hi all,
> I installed gnutls 2.5.5 in Windows XP, and gnutls 2.8.4 in Windows 7
> Release Candidate from .
> I thought that 'DEFLATE' compression algorithm is enabled by default in
> all gnutls releases. However, when I force my TLS client to use DEFLATE
> algorithm (and not the NULL) by:
> int pPriorities[3] = {GNUTLS_COMP_DEFLATE, 0};
> gnutls_compression_set_priority(session, pPriorities);
> My TLS client is not able to handshake with the server, because the
> compression algorithm is not available.
> When I did a 'gnutls-cli -l' in command prompt in both Windows XP and
> Windows 7, what I saw was: "COMPRESSION: NULL" only, without DEFLATE nor
> LZO algorithm.
> I successfully installed gnutls in an Ubuntu machine though, and when I
> did 'gnutls-cli -l' I could see that it has both DEFLATE algorithm and
> NULL there without me configuring anything at all.
> My questions are:
> 1) Is compression available for gnutls in Windows?
> 2) If it's yes.. how do I enable it?
> 3) If it's not available.. is there any way that I could enable it?
> 4) Is there any performance gain from enabling the compression? I
> understand that we might save some bandwidth with the compression, but
> with increased lag time, is there any noticeable difference?

My Windows build of GnuTLS does not include libz, so it is not
available.  You should be able to install libz and recompile GnuTLS for
Windows yourself, or provide me with a patch against the gnutls4win
makefile so that future builds will support libz.

I don't think compression is all that useful in normal use cases.  It
can be relevant if you are on dial-up or slow wireless links though.


More information about the Gnutls-help mailing list