summaryrefslogtreecommitdiff
path: root/src/channels.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Partial revert of 1fb8a3f1b120db764375911be9ad8019a807a8ad by dKingston, ↵Gravatar w00t2009-08-151-4/+0
| | | | | | | | (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
* Merge patch from dKingston for missing TOPIC numeric, also replace the ↵Gravatar brain2009-08-131-0/+4
| | | | | | literal 331 with an RPL_* enum value, thanks! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11510 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixes for config readerGravatar danieldg2009-08-121-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11504 e03df62e-2008-0410-955e-edbf42e46eb7
* Check for oper max chans before user max chans, fixes code weirdness and bug ↵Gravatar w00t2009-06-301-8/+0
| | | | | | #876. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11422 e03df62e-2008-0410-955e-edbf42e46eb7
* Use a FakeUser source for server-sourced commands in spanningtreeGravatar danieldg2009-05-131-43/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11376 e03df62e-2008-0410-955e-edbf42e46eb7
* Overloading SetMode seems to cause the compiler to interpret "" as a bool ↵Gravatar danieldg2009-04-291-1/+1
| | | | | | and not a string. Fixes bug #849 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11335 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix crash from unregistered users joining a channel, discovered by NamegdufGravatar danieldg2009-04-241-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11328 e03df62e-2008-0410-955e-edbf42e46eb7
* Use loopCall to protect OnUserKick rather than the triggerevents hackGravatar danieldg2009-04-201-5/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11321 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix SetModeParam to use std::string and handle edge cases.Gravatar danieldg2009-04-171-13/+8
| | | | | | | 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
* Check IsBanned even when the ban list is empty, so that module hooks get ↵Gravatar danieldg2009-03-231-6/+3
| | | | | | called. Fixes bug #800, reported by Taros git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11248 e03df62e-2008-0410-955e-edbf42e46eb7
* Update all wiki links to point to the new wiki. This was done automatically ↵Gravatar psychon2009-03-151-1/+1
| | | | | | | | | 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
* Extban rework: allow exceptions to override bans on joinGravatar danieldg2009-03-141-51/+46
| | | | | | | | | 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
* Nuke trailing spacesGravatar peavey2009-02-141-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
* Small fix: don't set default modes when joining if usercount == 0, set if it ↵Gravatar w00t2009-01-221-2/+6
| | | | | | 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
* Remove channel::created as its unused and only serves to confuse (see last ↵Gravatar peavey2009-01-091-4/+2
| | | | | | 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
* Update copyrights for 2009.Gravatar w00t2009-01-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
* Add priv channels/high-join-limit.Gravatar w00t2008-10-181-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10670 e03df62e-2008-0410-955e-edbf42e46eb7
* This string copy is gone now, remove fixme noteGravatar w00t2008-09-021-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10376 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow Channel::SetTopic with a NULL user record, which sets a blank topic.Gravatar w00t2008-08-251-4/+13
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10270 e03df62e-2008-0410-955e-edbf42e46eb7
* match() is no longer a function+no header, now a static method of InspIRCd ↵Gravatar w00t2008-08-211-8/+5
| | | | | | 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
* Fix RPL_NAMREPLY sometimes fucking upGravatar w00t2008-08-101-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10137 e03df62e-2008-0410-955e-edbf42e46eb7
* Implement <options:invitebypassmodes>, optionally circumvent +blk if invited ↵Gravatar w00t2008-08-071-5/+18
| | | | | | 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
* Fix TOPIC to work on propegation againGravatar w00t2008-08-051-2/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10105 e03df62e-2008-0410-955e-edbf42e46eb7
* Add optional 3rd parameter to Channel::SetTopic() which overrides all access ↵Gravatar om2008-08-041-15/+19
| | | | | | checks. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10085 e03df62e-2008-0410-955e-edbf42e46eb7
* Oops, actually, return 1 to block change, 0 to check it, -1 to allow it ↵Gravatar w00t2008-08-041-1/+1
| | | | | | regardless. Update docs in header also. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10083 e03df62e-2008-0410-955e-edbf42e46eb7
* Add Channel::SetTopic(User *, std::string &) to set topic on a channel. Use ↵Gravatar w00t2008-08-041-0/+39
| | | | | | 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
* Remove last vestige of libircdfoo, by changing tag into a single ↵Gravatar w00t2008-07-291-1/+1
| | | | | | 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
* Remove duplicated member, kept in classes.. Possible now we have a pointer. ↵Gravatar w00t2008-07-211-2/+3
| | | | | | this saves (another) 4 bytes per user. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10064 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove custom members for +lk storageGravatar w00t2008-07-201-27/+27
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10053 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixes to some stuff that writes on memory it shouldn't (thanks psychon).Gravatar w00t2008-07-201-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10047 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix parts being screwed up, thanks psychonGravatar w00t2008-07-161-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10027 e03df62e-2008-0410-955e-edbf42e46eb7
* Finish channels.cpp conversion to numerics listGravatar w00t2008-07-131-6/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10007 e03df62e-2008-0410-955e-edbf42e46eb7
* Add include/numerics.h, contains/will contain an enum for numerics. Work in ↵Gravatar w00t2008-07-131-9/+9
| | | | | | progress. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10006 e03df62e-2008-0410-955e-edbf42e46eb7
* DebugGravatar w00t2008-07-121-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9990 e03df62e-2008-0410-955e-edbf42e46eb7
* Okay, and there's the working version of it. Extbans that don't work on ↵Gravatar w00t2008-07-121-25/+16
| | | | | | users have OnCheckStringExtBan. ;p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9988 e03df62e-2008-0410-955e-edbf42e46eb7
* Overload IsExtBanned to provide a *string matching* version, this finally ↵Gravatar w00t2008-07-121-0/+26
| | | | | | 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
* Add OnCheckExtBan, will be used for exceptions to extbansGravatar w00t2008-07-111-15/+21
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9957 e03df62e-2008-0410-955e-edbf42e46eb7
* Convert API to use std::string, fixes my slight bug from earlier and looks ↵Gravatar w00t2008-07-111-9/+3
| | | | | | tidier git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9956 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix m_nopartmsg to work via API modification, involves a string copy that ↵Gravatar w00t2008-07-111-1/+9
| | | | | | won't last too long. Compiles cleanly. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9953 e03df62e-2008-0410-955e-edbf42e46eb7
* for realGravatar pippijn2008-06-121-14/+14
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9898 e03df62e-2008-0410-955e-edbf42e46eb7
* First phase of conversion to dynamic limits on all the lengths, configured ↵Gravatar brain2008-05-251-3/+3
| | | | | | | | | 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
* Convert channel::name to std::string, this was a beastie!Gravatar brain2008-05-191-31/+28
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9770 e03df62e-2008-0410-955e-edbf42e46eb7
* Convert channel banlist members to std::stringGravatar brain2008-05-191-4/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9769 e03df62e-2008-0410-955e-edbf42e46eb7
* Make User:: nick/ident/dhost/fullname and some other things std::string ↵Gravatar aquanight2008-05-181-23/+23
| | | | | | instead of char*/char[] (MODULES DO NOT COMPILE) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9748 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove .c_str()'s in match() calls that are no longer needed as match() ↵Gravatar brain2008-05-181-1/+1
| | | | | | natively takes std::strings git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9737 e03df62e-2008-0410-955e-edbf42e46eb7
* Change that allows the m_override module to not announce a key override for ↵Gravatar brain2008-04-161-2/+2
| | | | | | a user that specified the right key git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9516 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for bug #513Gravatar brain2008-04-101-1/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9449 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for bug #510Gravatar brain2008-04-071-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9415 e03df62e-2008-0410-955e-edbf42e46eb7
* Make it work properly, tooGravatar brain2008-04-071-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9406 e03df62e-2008-0410-955e-edbf42e46eb7
* Show server kills with correct origin, UNLESS hidden server in whois is setGravatar brain2008-04-071-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9405 e03df62e-2008-0410-955e-edbf42e46eb7