When something requested traffic statistics while there was an unauthenticated
connection to ZNC, there was a NULL pointer dereference. Fix this by making the
code saner and removing all NULL pointer dereferences. ;)
Thanks to various people who reported this. A special thank you goes to Woet who
helped debugging this.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2026 726aef4b-f618-498e-8847-2d620e286838
multi-prefix is just NAMESX' CAP name and userhost-in-names is just UHNAMES for
CAP. This makes it pretty easy to make them work. :)
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2024 726aef4b-f618-498e-8847-2d620e286838
That revision added CAP support to fixfreenode, blocking the identify-msg
capability. This is no longer necessary thanks to the previous commit.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2023 726aef4b-f618-498e-8847-2d620e286838
Right now, znc doesn't support any capabilities, but the general protocol works.
This also has the plus point that it stops direct CAP commands between the IRCd
and clients. That's a good thing because different clients might not support the
same CAPs and thus znc would have to translate between them.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2022 726aef4b-f618-498e-8847-2d620e286838
Previously, /znc setbuffer had a hardcoded limit of 500, other ways of setting
the buffer size didn't have any limit built-in.
This patch makes that limit configurable and makes sure the various places
honour it.
Thanks to DarthGandalf for the idea with the bForce argument, I were too
small-minded to come up with it myself. :(
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2020 726aef4b-f618-498e-8847-2d620e286838
The function counted almost all sockets, but it's only supposed to count inbound
ones which aren't identified client sockets. Do this by adding a check for
"socket is really inbound" in there.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2019 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
freenode now also allows using CAP to request the identify-msg capability.
Plus point is that one can also disable it via this interface
(CAP REQ :-identify-msg), but we still don't want any client
to enable it at all.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2016 726aef4b-f618-498e-8847-2d620e286838
If znc was compiled with "--disable-run-from-source" it will check if a file
called "znc-uninstalled.pc" exists in the directory the znc binary is in. If
there is such a file, it will print a warning that "--enable-run-from-source" is
most likely missing.
Idea partly by SilverLeo, thanks.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2001 726aef4b-f618-498e-8847-2d620e286838
That directory was removed in r1997 so trying to install it might be rather
tricky (in fact, it failed and caused 'make install' to abort).
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@2000 726aef4b-f618-498e-8847-2d620e286838
When one joined to a channel after someone else's autoop already sent a
challenge, the other autoop will forget it sent a challange and happily generate
a new one. This might cause bogous "incorrect password" messages.
Patch by DarthGandalf, bug found by SilverLeo (I think...).
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1998 726aef4b-f618-498e-8847-2d620e286838
Instead of having the template files and images in /usr/share/znc/www/<mod>/,
modules now get to use /usr/share/znc/<mod>/tmpl/ and files/ for this purpose.
This puts those directories for static data to good use again and might even fix
some bugs (after all, the code for that dir is older and more tested than the
new code for www/).
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1997 726aef4b-f618-498e-8847-2d620e286838
It's only used in WebModules.cpp and in contrast to the other #defines from
main.h, this one is not set in configure by default.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1996 726aef4b-f618-498e-8847-2d620e286838
Keeps users from doing --makeconf as root and then wondering why
ZNC complains when they try to start it up.
--makepass and --makepem still work as root.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1988 726aef4b-f618-498e-8847-2d620e286838
This patch makes webadmin automatically open its own listening port if it gets
a port number on the command line. It also handles -noircport etc. Basically, it
handles everything. ;)
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1984 726aef4b-f618-498e-8847-2d620e286838
When one now finishes a web request with PAGE_DONE, the code actively calls
Close(CLT_AFTERWRITE) which one previously had to call explicitly. This means
there is finally a difference between PAGE_DONE and PAGE_DEFERRED. ;)
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1981 726aef4b-f618-498e-8847-2d620e286838
When deleting a note via /#-<key> or listening the available notes via /#?, the
code somehow managed to add a note.
Also, this fixes checking for empty notes.
Found by tomaw, thanks.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1978 726aef4b-f618-498e-8847-2d620e286838
This is what each option does:
Listen on ipv4 and ipv6: Listener, Listen6
Listen on ipv4 only: Listener4, Listen4, Listen
Listen on ipv6 only: Listener6
Removed: ListenPort (not used since at least 0.047)
(ZNC will only ever use Listener* by itself)
This was done to preserve the old meaning of "Listen" and "Listen6", so that
user configs don't break after update.
Thanks to DarthGandalf for thinking about and implementing this.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1977 726aef4b-f618-498e-8847-2d620e286838