These days salted SHA-256 is considered quite weak for passwords.
Transparently upgrade existing hashes upon login.
Bump cmake requirement to able to use IMPORTED_TARGET, this will allow
further cleanup in next commits.
This commit adds a zncconfig.h to ZNC that is automatically generated by
configure. This is done because the -DPACKAGE_STRING=\"znc\ 0.097\" that
configure adds to CXXFLAGS breaks znc-buildmod.
This means that we have to include zncconfig.h as the very first header in every
C++ file that is compiled. This commit kinda cheats and instead adds this
include as the very first thing to all header files we have. This should
hopefully mean that modules don't have to include this.
Because Csocket includes defines.h too late, this commit causes znc to divert
from upstream Csocket once again. :(
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2250 726aef4b-f618-498e-8847-2d620e286838
The problem here was that libs where put into $LDFLAGS where they don't belong.
When you also use -Wl,--as-needed, sth like this is called:
gcc -Wl,--as-needed -ltcl8.4 your.o objects.o here.o
Due to --as-needed, the linker will drop libtcl8.4 because by the time it sees
that option, nothing depends on it. And if nothing depends on some lib, it can
be dropped.
The fix here is obviously to put -ltcl8.4 into $LIBS (which is appended, not
prepended, to the command line).
The same reasoning goes for python.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2198 726aef4b-f618-498e-8847-2d620e286838
ZNC now uses poll() unless it is disabled by ./configure --disable-poll. This
should get rid of the limit to FD_SETSIZE sockets (~1024).
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2153 726aef4b-f618-498e-8847-2d620e286838
Old modperl had several flaws and was very outdated.
New modperl makes the whole ZNC API accessible from inside perl.
Modperl API was changed, so old perl modules are not supported,
but they weren't used much anyway.
Modperl needs --enable-perl option to ./configure.
This introduces new dependence on SWIG, which is needed only while
compiling ZNC. So to use modperl, you need to install SWIG or
to download several files and use --disable-swig option of configure.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2120 726aef4b-f618-498e-8847-2d620e286838
When there was only one client with a pending request and that client
disconnected from ZNC, we didn't destroy the timeout. This means that the
associated timer eventually fired and then tried to display which request caused
the timeout. But since we already cleaned up the rest, this resulted in a NULL
pointer dereference.
This commit fixes also another bug: If two different clients got pending
requests and the client whose request was currently handled disconnected, we
didn't send the other client's request to the IRCd.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2102 726aef4b-f618-498e-8847-2d620e286838
This should help people who have to compile ZNC twice because they used the
wrong prefix the first time. ;)
Idea for this and the last commit are (c) SHiZNO (well, they were his ideas).
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2080 726aef4b-f618-498e-8847-2d620e286838
It now also adds lib64 to the library search path. On 32-bit systems this won't
hurt because such a directory most likely does not exist.
Also, because we are trying to find pkg-config via openssl first, the
appropriate dirs are also added to $PKG_CONFIG_PATH.
Thanks to DarthGandalf for some good suggestions on this one.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2056 726aef4b-f618-498e-8847-2d620e286838
There was an API change to the callback type of ares_gethostbyname() in 1.5.0,
so znc won't compile with anything older than that.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2055 726aef4b-f618-498e-8847-2d620e286838
The always-changing versions of the pkg-config m4 macros are mildly annoying.
To work around this, we now have a file aclocal.m4 (generated by aclocal) that
contains all the needed external macros. If you just call "autoconf", it will
use the macros from that file. "autoreconf" will call "aclocal" and "autoconf"
so that both files are up-to-date.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2054 726aef4b-f618-498e-8847-2d620e286838
Since r1895 configure tries to disable perl if it doesn't find the perl binary
or libperl, but there was a bug. If the perl binary existed but libperl wasn't
found, it pretended to disable modperl but didn't really. Whoops.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2017 726aef4b-f618-498e-8847-2d620e286838
Linking against libcrypto.a apparently needs libdl, so we should check for this
before trying to find openssl's libs.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1969 726aef4b-f618-498e-8847-2d620e286838
the charset module from extra to do its thing. This has been
a pain in the ass and I'd like to thank psychon who made most
of the autofoo happen and BrianC for finding out that BSD sucks
and for testing! Yay!
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1947 726aef4b-f618-498e-8847-2d620e286838
When checking for libperl, evil little autoconf thought we intent to use perl
everywhere (HAHA, no!) so it went forward and added -lperl to $LIBS. Despite
this being a bad idea in general (come on, it's perl!), this also made
subsequent checks fail because the linker didn't find libperl (we reverted back
LDFLAGS to an older value after checking for perl and so the path to libperl got
lost).
Fix this by outsmarting autoconf. Let's wait for the autofail to strike back!
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1946 726aef4b-f618-498e-8847-2d620e286838
Unless this flag is used, znc will no longer look for modules in ./modules/
because this might be exploitable by lucky attackers.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1927 726aef4b-f618-498e-8847-2d620e286838
Instead of erroring out, openssl is now disabled with a warning if it's not
found, unless you explicitly used --enable-openssl in which case configure will
error out again.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1894 726aef4b-f618-498e-8847-2d620e286838