summaryrefslogtreecommitdiff
path: root/src/channels.cpp
AgeCommit message (Collapse)Author
2009-11-15Add ModeHandler* versions of channel mode accessdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12133 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-06Send %#chan messages to all members ranked at least halfop, not just those ↵danieldg
that have halfop git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12046 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-24Get rid of ModePairdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11963 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-23Make User::uuid and User::server constdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11962 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21Use Config->MaxChans as the default if class does not define maxchansdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11946 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21Move all local-only fields to LocalUserdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11944 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-20Fix channel deletion on user quit and automatic removal of mode "z"danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11934 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-18Cull channels, warn when Extensible objects are not culled as they must bedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11901 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-03Get rid of a bunch of memory-wasting C-style stringsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11796 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-29Fix GetExtBanStatus returning MOD_RES_ALLOW when user does not have a ban ↵danieldg
exemption git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11778 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26Remove InspIRCd* parameters and fieldsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Change match direction of extbans to allow stackingdanieldg
This allows you create stacked bans like: +b m:r:*bot* to mute anyone with bot in their gecos +e S:j:+#staff to allow voices in #staff to use color It also deprecates extban M, which can be implemented using m:R: git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11711 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Fix GetPrefixChar returning empty if a non-prefix mode was useddanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11706 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Remove redundant ServerInstance* fieldsdanieldg
It has been impossible to have more than one InspIRCd* object in the same address space for some time now, and this feature was never used. This formalizes class InspIRCd as a singleton object. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11703 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Use FindMode instead of FindPrefix for OnUserPreJoin privs; makes it ↵danieldg
possible to give +q or +Y on join even without prefix git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11702 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Simplify ModeHandler constructordanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11701 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Replace OnAccessCheck with OnPreMode to remove a number of redundant checksdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11700 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Module API changes to use Membership* where sensibledanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11699 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Remove double prefix conversion from Channel::RawWriteAllExceptdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11698 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Membership* changesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11697 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-05Likewise, convert OnLocalTopicChange to OnPreTopicChange and to be run for ↵w00t
both local and remote changes, for API consistency. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11678 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-05Change OnPostLocalTopicChange to be OnPostTopicChange, invoked for both ↵w00t
remote and local events. Will be needed for some xline trickery. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11677 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02inline Channel::IsModeSetdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11643 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Rip out VisData in preparation for replacing it with more flexible hooksdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11640 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02ModResult conversion: Change return type of all module functionsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11634 e03df62e-2008-0410-955e-edbf42e46eb7
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