summaryrefslogtreecommitdiff
path: root/src/channels.cpp
AgeCommit message (Collapse)Author
2009-09-02Remove a few unneeded string copies in the PRIVMSG pathdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11606 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Replace FOREACH_RESULT_MAP with a more readable and flexible ↵danieldg
do_each_hook/while_each_hook macro pair git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11598 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Add "created" parameter to OnUserJoin, to avoid explicit checks for +Pdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11597 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-15Partial revert of 1fb8a3f1b120db764375911be9ad8019a807a8ad by dKingston, ↵w00t
(adding RPL_NOTOPICSET). This is *not* defined as a return for JOIN message, and it's a bit annoying too. Keep the define and use it in TOPIC instead of '331' though. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11527 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-13Merge patch from dKingston for missing TOPIC numeric, also replace the ↵brain
literal 331 with an RPL_* enum value, thanks! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11510 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-12Fixes for config readerdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11504 e03df62e-2008-0410-955e-edbf42e46eb7
2009-06-30Check for oper max chans before user max chans, fixes code weirdness and bug ↵w00t
#876. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11422 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-13Use a FakeUser source for server-sourced commands in spanningtreedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11376 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-29Overloading SetMode seems to cause the compiler to interpret "" as a bool ↵danieldg
and not a string. Fixes bug #849 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11335 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-24Fix crash from unregistered users joining a channel, discovered by Namegdufdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11328 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-20Use loopCall to protect OnUserKick rather than the triggerevents hackdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11321 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-17Fix SetModeParam to use std::string and handle edge cases.danieldg
Previously, changing the vaule of a mode could require 3 calls to SetMode and SetModeParam. This also fixes memory leaks caused by the strdup() not always being paired with a free(). git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11307 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-23Check IsBanned even when the ban list is empty, so that module hooks get ↵danieldg
called. Fixes bug #800, reported by Taros git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11248 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-15Update all wiki links to point to the new wiki. This was done automatically ↵psychon
with the following command, only .Makefile.inc got some indent fixups by hand. for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-14Extban rework: allow exceptions to override bans on joindanieldg
Move all bans that prevent a user from joining the channel to OnCheckBan, then stack their return results to allow an exception to override a ban. This does not make join exceptions override any other exception like mute. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11222 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-14Nuke trailing spacespeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-22Small fix: don't set default modes when joining if usercount == 0, set if it ↵w00t
was actually created locally - this is needed due to +P. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10976 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-09Remove channel::created as its unused and only serves to confuse (see last ↵peavey
commit to m_check). As a bonus saves memory usage :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10955 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02Update copyrights for 2009.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-18Add priv channels/high-join-limit.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10670 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-02This string copy is gone now, remove fixme notew00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10376 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-25Allow Channel::SetTopic with a NULL user record, which sets a blank topic.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10270 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-21match() is no longer a function+no header, now a static method of InspIRCd ↵w00t
class, blah blah blah. Also rip out the 1.2 matcher, as it was slow, and replace it with one adapted from znc, which happens to be a tiny bit faster than 1.1's (and the fastest I've seen so far that works properly) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10212 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-10Fix RPL_NAMREPLY sometimes fucking upw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10137 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-07Implement <options:invitebypassmodes>, optionally circumvent +blk if invited ↵w00t
on join. Based on a patch provided by mixx941, closes bug #589. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10120 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-05Fix TOPIC to work on propegation againw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10105 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-04Add optional 3rd parameter to Channel::SetTopic() which overrides all access ↵om
checks. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10085 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-04Oops, actually, return 1 to block change, 0 to check it, -1 to allow it ↵w00t
regardless. Update docs in header also. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10083 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-04Add Channel::SetTopic(User *, std::string &) to set topic on a channel. Use ↵w00t
it in CommandTopic. Also modify OnLocalTopicChange to accept a new return value. (0 == proceed as normal, 1 == don't check anything, -1 == disallow change silently). git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10082 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-29Remove last vestige of libircdfoo, by changing tag into a single ↵w00t
identifier marking object as requiring compilation into a .o (minor commit) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10076 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-21Remove duplicated member, kept in classes.. Possible now we have a pointer. ↵w00t
this saves (another) 4 bytes per user. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10064 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-20Remove custom members for +lk storagew00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10053 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-20Fixes to some stuff that writes on memory it shouldn't (thanks psychon).w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10047 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-16Fix parts being screwed up, thanks psychonw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10027 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-13Finish channels.cpp conversion to numerics listw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10007 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-13Add include/numerics.h, contains/will contain an enum for numerics. Work in ↵w00t
progress. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10006 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12Debugw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9990 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12Okay, and there's the working version of it. Extbans that don't work on ↵w00t
users have OnCheckStringExtBan. ;p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9988 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12Overload IsExtBanned to provide a *string matching* version, this finally ↵w00t
opens the way for non-hostmask based extbans, which is good ;p. On the downside, this requires rethinking of the extban exemption stuff I did yesterday. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9987 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-11Add OnCheckExtBan, will be used for exceptions to extbansw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9957 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-11Convert API to use std::string, fixes my slight bug from earlier and looks ↵w00t
tidier git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9956 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-11Fix m_nopartmsg to work via API modification, involves a string copy that ↵w00t
won't last too long. Compiles cleanly. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9953 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-12for realpippijn
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9898 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-25First phase of conversion to dynamic limits on all the lengths, configured ↵brain
via the <limits> tag (the tag isnt there yet, these all just run on defaults in the class constructor) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9802 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-19Convert channel::name to std::string, this was a beastie!brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9770 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-19Convert channel banlist members to std::stringbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9769 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18Make User:: nick/ident/dhost/fullname and some other things std::string ↵aquanight
instead of char*/char[] (MODULES DO NOT COMPILE) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9748 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18Remove .c_str()'s in match() calls that are no longer needed as match() ↵brain
natively takes std::strings git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9737 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-16Change that allows the m_override module to not announce a key override for ↵brain
a user that specified the right key git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9516 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-10Fix for bug #513brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9449 e03df62e-2008-0410-955e-edbf42e46eb7