When a client tries to part from a channel to which it was fixed, we sent it a
join again to make it rejoin (bad irssi for not waiting for the server's reply
to PART!).
The problem here was that we didn't send the nicklist and thus the channel
appeared empty. This fixes SF.net #2802684.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1731 726aef4b-f618-498e-8847-2d620e286838
Now these two module hooks are called in the same order as OnPrivAction() and
OnPrivCTCP().
Additionally, one can now properly block channel action's from reaching the
channel buffer via return HALTCORE; in OnChanAction.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1730 726aef4b-f618-498e-8847-2d620e286838
If a new client logs in and we don't have a MOTD cached, we request it via
/motd. Since the IRC server sends it to use on connect anyway, there is no point
in requesting it if there is none. (And even if there is no MOTD, we should get
a "422 MOTD File is missing" which would be cached, so still no empty MOTD
buffer)
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1728 726aef4b-f618-498e-8847-2d620e286838
This patch makes the code in CClient use a wrapper function for accessing the
IRC socket. Wait and see for why I do this. ;)
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1724 726aef4b-f618-498e-8847-2d620e286838
If there is no connection to the IRC server, we can't forward a nick change
anyway, so there is no need to check for this case.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1723 726aef4b-f618-498e-8847-2d620e286838
This fixes a bug where perl (loaded from modperl) tried to load some perl module
which tied with a symbol lookup error since perl's symbols were private. This
also adds a rather long comment explaining why we use the RTLD_-flags we do use.
Thanks to tylerdu for finding this, reporting it and testing the fix.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1714 726aef4b-f618-498e-8847-2d620e286838
This will keep people from loading the sample or saslauth (or away) modules and thereby avoid stupid questions.
Instead of listing and asking for all modules, we only show the most widely used ones plus "And X other (uncommon) modules. You can enable those later.".
To add a module, append its name to the array in CZNC::FilterUncommonModules().
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1706 726aef4b-f618-498e-8847-2d620e286838
This removes all of znc's c-ares code and instead enables Csocket's built-in
version. That code is newer than ZNC's, but should hopefully work just as good.
Let's wait for the bug reports....
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1704 726aef4b-f618-498e-8847-2d620e286838
It detaches you from a chan if more than A messages are sent in B seconds, where
A is 5 and B is 2 by default. You can change the numbers via the module's arguments
or from IRC. The module will try to automatically re-attach you when the flood is over.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1701 726aef4b-f618-498e-8847-2d620e286838
This means that you can now:
- turn off the message (it's even off by default until you load the module)
- have the message sent to you as a notice instead of a privmsg
- restrict messages to previously unseen client ip addresses only (no more spam on sucky connections)
- be notified of disconnecting clients if you want to.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1698 726aef4b-f618-498e-8847-2d620e286838
Changes in detail:
- send_raw is now a user module. It can only be loaded by admin users.
- by prepending "in" or "out" to the /msg *send_raw command, e.g.
/msg *send_raw testuser in :znc!znc@znc PRIVMSG #chan :Hello dude, only you can see this (znc user=testuser!)
you can now also send raw IRC lines to the connected clients instead of just to the IRC server.
- Fixed a spelling mistake.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1697 726aef4b-f618-498e-8847-2d620e286838
znc-config --include was removed in r1251 from Oct 2008. Ever since this check
was broken and no one noticed. I guess this means no one needs this check... ;)
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1690 726aef4b-f618-498e-8847-2d620e286838
In shell scripts you always have to be careful about spaces. Better at some ""
too much than one too few. Now spaces in the pathname for the module and spaces
in some other paths should work correctly.
Thanks to Nirjen for noticing this.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1689 726aef4b-f618-498e-8847-2d620e286838
On windows/cygwin we have to use a libznc.dll because window's linker works
differently than everyone else's. With this commit znc-buildmod links in
libznc.dll which makes it work!
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1688 726aef4b-f618-498e-8847-2d620e286838
Before, the query buffer did include regular channel messages, but CTCP ACTIONs
were just discarded. This is now fixed.
Thanks to jarryd for finding and reporting this.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1687 726aef4b-f618-498e-8847-2d620e286838
Without this, after you cloned a user via e.g. the admin modul, it would still
write to the datadir of the old user.
Patch by flakes, thanks a lot.
git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1686 726aef4b-f618-498e-8847-2d620e286838