If you did ./configure --enable-tcl, tcl wasn't actually enabled because
--enable-extra was missing, That's less than optimal.
Just moving modtcl out of modules/extra solves this problem.
Big thanks go to zynox/kylef for noticing this!
Signed-off-by: Uli Schlachter <psychon@znc.in>
When ChanServ ops someone in a channel without joining first, znc didn't call
modules for this event, because it couldn't figure out a CNick* instance to use
Instead, the module hooks are now executed with a temporary CNick instance which
is created by CIRCSock anyway.
Big thanks to Robby for reporting this and helping me test it!
Signed-off-by: Uli Schlachter <psychon@znc.in>
The explanation for the arguments for AddPort and DelPort can still be reached
via e.g. "/znc addport". Removing this makes the output from /znc help a lot
smaller.
Signed-off-by: Uli Schlachter <psychon@znc.in>
During shutdown, the global list of sessions is destroyed. The new multimap
which counts sessions per address is also destroyed. However, they are destroyed
in unspecified order. This is not what we want because destructing the session
map also destroyed all the sessions which then has to access the sessions-per-ip
multimap. This obviously crashes if the multimap was already destroyed.
The fix here is to introduce a new class that contains both of those maps and
makes sure all the sessions are destroyed before the maps are destroyed
themselves. I hope this description makes some sense...
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2264 726aef4b-f618-498e-8847-2d620e286838
Ingredients:
- A couple of bots (3 are plenty)
- Boredom
- A target you want to annoy
Recipe:
Connect your bots to the same IRC network that your target is on. Then let each
of your bot flood him with CTCP VERSION request. If the target is gentle enough
to reply to each of those request, he will be disconnected from the network due
to excess flood.
This commit makes ZNC only reply to 5 CTCPs within 5 seconds. If more are sent,
they aren't replied to. This does NOT protect clients that are connected to ZNC.
They will still get the chance to reply to the flood.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2258 726aef4b-f618-498e-8847-2d620e286838
The last thing autogen.sh is calling automake which is supposed to fail.
Obviously, this doesn't look good to users so we should print some message that
says everything worked as expected.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2257 726aef4b-f618-498e-8847-2d620e286838
We need the file we check for only to figure out some compiler flags, so
AC_CHECK_FILE's behavior of aborting cross compilation is just wrong.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2256 726aef4b-f618-498e-8847-2d620e286838
This commits removes all files which are generated by aclocal or autoconf or
copied from automake (yes, autoconf requires config.{guess,sub}, yet they are
part of automake!).
Instead, we now have a shell script autogen.sh which calls all the needed parts
in the right order (aclocal ; autoheader ; autoconf ; automake).
Additionally, configure.in is renamed to configure.ac because that seems to be
the more proper name for it. Let's see if anyone notices me sneaking this in. ;)
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2252 726aef4b-f618-498e-8847-2d620e286838
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