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
On most systems, this should only result in some useless defines being added to
the compiler's command line:
-DPACKAGE_NAME=\"znc\" -DPACKAGE_TARNAME=\"znc\" -DPACKAGE_VERSION=\"0.097\"
-DPACKAGE_STRING=\"znc\ 0.097\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\"
However, on some weird arches like e.g. x86, this will make AC_SYS_LARGEFILE
actually work, because that macro adds "-D_FILE_OFFSET_BITS=64" to @DEPS@.
This was found by SilverLeo because modpython didn't compile for him, thanks. :)
(python has "#define _FILE_OFFSET_BITS 64" in pyconfig.h)
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2242 726aef4b-f618-498e-8847-2d620e286838
When you load /mods/notes/ in your browser, OnWebRequest will be called with
sPageName == "index". So that variable can never actually be empty.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2240 726aef4b-f618-498e-8847-2d620e286838
We don't actually have a "modlist" template, so this code would cause a 404.
Going through the "find module with empty name" codepath here has the same
result, so this can be safely removed.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2239 726aef4b-f618-498e-8847-2d620e286838
One of my recent commits made webmods only find user modules instead of global
modules. This worked before because m_sForcedUser was an empty string which made
the code look for global modules. This commit adds an explicit check for global
modules which hopefully fixes all problems.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2238 726aef4b-f618-498e-8847-2d620e286838
This removes two unused methods (ResolveModule() and FillErrorPage()) and marks
some other methods const/static/protected.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2236 726aef4b-f618-498e-8847-2d620e286838
Using some module as another user didn't actually work. For user modules, the
following code stops you:
else if (!pModule->IsGlobal() && pModule->GetUser() != GetSession()->GetUser()) {
PrintErrorPage(403, "Forbidden", "You must login as " + pModule->GetUser()->GetUserName() + " in order to view this page");
For global modules this didn't work either. Once a "forced" user name was
specified, OnPageRequestInternal() stopped looking at global modules:
CModule* pModule = CZNC::Get().FindModule(m_sModName, m_sForceUser);
if (!pModule && m_sForceUser.empty()) {
[snip]
if (!pModule) {
return PAGE_NOTFOUND;
So, whatever m_sForceUser was supposed to do, it never did that.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2235 726aef4b-f618-498e-8847-2d620e286838
* Be more const.
* Be more correct: only accept requests to /mods/perform/, not to all URLs starting with that.
* Be more considerate: Use "IRC server" instead of "IRCd".
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2232 726aef4b-f618-498e-8847-2d620e286838
Before this commit, editing some user in webadmin cleared their DCCBindHost.
That's definitely not what we want.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2226 726aef4b-f618-498e-8847-2d620e286838
We now generate a DEBUG() message for all errors during ISpoof. Also, the
message from *status "ISpoof could not be written" now includes the expanded
ISpoofFile that we tried writing to.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2221 726aef4b-f618-498e-8847-2d620e286838
When someone connects to ZNC, this connection is first handled by an instance of
CIncomingConnection. Once we determined if this is a HTTP or an IRC connection,
the connection is handed of to the appropriate class.
The CIncomingConnection instance that was used first will still linger around
for the next event loop iteration and then be destroyed. Since this socket isn't
a "real" connection anymore (another instance of Csock took over for this one),
listsockets should ignore all sockets in state CLT_DEREFERENCE.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2213 726aef4b-f618-498e-8847-2d620e286838