HTTPSock: Gzip compression for static files (text/* mime types + files
with .js extension) and dynamic HTML responses (if gzip is available and
the compression method is supported by the requesting HTTP client).
Get rid of empty CHTTPSock::WriteFileGzipped method if there's no zlib. It's still in the header, but this does not have any negative side effects.
Don't ever try to overwrite /usr/bin/git

Previously, version.sh got the path to git as its first and only argument. Since
the previous commit, this is not the path to src/version.cpp and the second
argument is the path to git.

However, let's assume someone does "git pull && make". They still have the old
Makefile laying around, which will pass the path to git as the first argument to
version.sh. Thus, this will overwrite /usr/bin/git with some generated source
code. Whoops.

Thanks to KindOne for reporting this problem!

Signed-off-by: Uli Schlachter <psychon@znc.in>
Fix #275, close #297
Fix git version in nightlies
A bit more beatiful way to build modules
Fix #313
Implement DH-AES encrypted password scheme.

This is superior to DH-BLOWFISH as Blowfish may suffer from certain
classes of weak keys, which is difficult to mitigate against without
regenerating DH parameters repeatedly. AES also has faced far more
scrutiny and is believed to be more secure.

Reference implementation (services-side):
https://github.com/atheme/atheme/blob/master/modules/saslserv/dh-aes.c
Merge pull request #321 from Elizacat/master

Implement DH-AES password encryption scheme.
Fix memory leak. Oops :(.

Found by KindOne on IRC. Thanks!
Merge pull request #324 from Elizacat/master

Fix minor memory leak
sasl: Add missing length check

This could otherwise lead to an integer underflow on specially crafted input.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Allow block_motd to be loaded per-network and globally

Closes #326
route_replies: Add some WHOIS numerics

Charybdis can return all these.
Merge pull request #334 from grawity/route-whois

route_replies: Add some WHOIS numerics
Debug: Only print queued lines if they are really just queued

Previously, every line that was forwarded to the IRCd was printed twice in debug
mode. Once when it got added to the send queue and a second time when it was
actually sent. However, most of the time this queue is empty and thus the two
events happened at approximately the same time.

Thus, this patch now changes the debug output. Lines are only printed extra if
they really have to wait in the queue for a while before they can be sent out.

This has the positive effect of making the debug output more readable, because
it is shorter and less repetitive and it makes it more obvious when znc actively
throttles the traffic that is sent out.

Signed-off-by: Uli Schlachter <psychon@znc.in>
make clean: Only delete files that can be regenerated

Previously, "make clean" would happily delete swig's output files even though
configure did not find swig and thus these files could not be generated again.

This half-fixes issue 276. It would be great if the Makefiles never delete files
which are part of the tarball, but at least they now don't delete files which
cannot be regenerated.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Makefile: Remove unused (and broken) variable

Signed-off-by: Uli Schlachter <psychon@znc.in>
add missing TModInfo to charset module
add missing TModInfo to missingmotd module