summaryrefslogtreecommitdiffstats
path: root/src/channels.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Small tidyupGravatar w00t2008-02-021-7/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8797 e03df62e-2008-0410-955e-edbf42e46eb7
* Header update: 2007 -> 2008Gravatar w00t2008-01-101-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
* Permanent channels, currently conflicts with blockcaps (+P) and is untestedGravatar w00t2008-01-061-3/+15
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8650 e03df62e-2008-0410-955e-edbf42e46eb7
* Throw exception if trying to construct a duplicate channelGravatar w00t2008-01-061-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8648 e03df62e-2008-0410-955e-edbf42e46eb7
* Move CreateChannel to a constructor insteadGravatar w00t2008-01-061-17/+12
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8647 e03df62e-2008-0410-955e-edbf42e46eb7
* Move channel creation to a seperate Channel::CreateChannel (y'know, perhaps ↵Gravatar w00t2008-01-061-15/+17
| | | | | | this might go into a constructor sometime) in preperation for permanent channels git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8646 e03df62e-2008-0410-955e-edbf42e46eb7
* m_spy no longer implements SPYNAMES, instead it overrides normal NAMES on ↵Gravatar brain2007-11-101-0/+8
| | | | | | | | | the event that: (1) you are an oper and (2) you are not actually ON the channel. This way it will not break m_auditorium, m_delayjoin etc, however it will work properly with mircs annoying assumptions in its channel list git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8555 e03df62e-2008-0410-955e-edbf42e46eb7
* Roadmap item "Fix jointhrottle to not try 'throttle' clients during a ↵Gravatar brain2007-11-091-4/+4
| | | | | | | | | netmerge (requires changing join event to be aware of netmerge?)" -- 1.2 only requires an extra parameter to OnUserJoin, bool sync. usually false, but FJOIN code during burst sets it to true. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8552 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove the need for a bunch of the hard coded arrays/hashes by scanning the ↵Gravatar brain2007-10-221-0/+2
| | | | | | src/ dir for tag comments, like in modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8307 e03df62e-2008-0410-955e-edbf42e46eb7
* In the grand tradition of huge fucking commits:Gravatar w00t2007-10-151-54/+54
| | | | | | | | - chanrec -> Channel - userrec -> User Enjoy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
* From RFC 2812, the funny = that i could never identify in NAMES reply: = ↵Gravatar brain2007-08-281-2/+2
| | | | | | | | | means public, @ means secret and * means private. Fixed in affected modules to display the proper character (will backport) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7952 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove some fake client stuff, make it use the global recordGravatar w00t2007-08-281-11/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7941 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove more unnecessary header trafficGravatar w00t2007-08-271-3/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7887 e03df62e-2008-0410-955e-edbf42e46eb7
* Add some stuff to change how we process a token sepeperated streamGravatar brain2007-08-231-2/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7800 e03df62e-2008-0410-955e-edbf42e46eb7
* Add <connect:maxchans> as per feature bug #338 - combined with the last ↵Gravatar brain2007-08-191-5/+16
| | | | | | feature, this allows per-oper specific maxchans values, and even the same for non-opers! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7761 e03df62e-2008-0410-955e-edbf42e46eb7
* Logic cleanup for chanrec::JoinUser - why I didn't do this the other 3-4 ↵Gravatar w00t2007-08-051-48/+30
| | | | | | times I've reworked this I don't know.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7670 e03df62e-2008-0410-955e-edbf42e46eb7
* Tidyup a bunch of stuff that was using userrec::modes directly rather than ↵Gravatar brain2007-07-231-2/+2
| | | | | | userrec::IsModeSet. Same for chanrec. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7506 e03df62e-2008-0410-955e-edbf42e46eb7
* Bit more tidying. Add some comments here, too.Gravatar w00t2007-07-231-8/+14
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7504 e03df62e-2008-0410-955e-edbf42e46eb7
* Minor cleanupGravatar w00t2007-07-231-6/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7503 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for bug #358, by rogalek.Gravatar w00t2007-07-231-4/+12
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7501 e03df62e-2008-0410-955e-edbf42e46eb7
* OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.Gravatar peavey2007-07-161-1/+1067
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
* 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵Gravatar peavey2007-07-161-1067/+1
| | | | | | auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
* Change some = "" to clear() and some == "" to .empty()Gravatar brain2007-06-091-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7263 e03df62e-2008-0410-955e-edbf42e46eb7
* This is a better fix, as it calls the mode handler giving the modules etc ↵Gravatar brain2007-06-011-14/+10
| | | | | | chance to allocate structs git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7198 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix bug found by indigophone where +lk cant be set in defaultmodesGravatar brain2007-06-011-0/+12
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7197 e03df62e-2008-0410-955e-edbf42e46eb7
* Config option for default channel modes -- more to follow, don't use yetGravatar brain2007-05-271-1/+18
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7163 e03df62e-2008-0410-955e-edbf42e46eb7
* Reorder includes, dont worry there is method to my madness (i hope)Gravatar brain2007-05-211-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7093 e03df62e-2008-0410-955e-edbf42e46eb7
* We've had an IS_OPER macro for a long time. About time we started using it, ↵Gravatar w00t2007-05-121-1/+1
| | | | | | maybe? :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6990 e03df62e-2008-0410-955e-edbf42e46eb7
* Comment what ive done, so that someone doesnt go 'oh thats a redundant data ↵Gravatar brain2007-05-101-0/+1
| | | | | | copy, what muppet put that there' and take it out, giving everyone uhnames output that doesnt support it :P git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6941 e03df62e-2008-0410-955e-edbf42e46eb7
* Tweaks here so we can avoid data copies in uhnamesGravatar brain2007-05-101-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6940 e03df62e-2008-0410-955e-edbf42e46eb7
* Small api change with wide reaching effects in modules - Allows modification ↵Gravatar brain2007-05-101-16/+16
| | | | | | of whats displayed by NAMES on a per-nick basis, so we can have UHNAMES in a seperate module to NAMESX (and possibly do some funky other stuff in the future too!) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6934 e03df62e-2008-0410-955e-edbf42e46eb7
* We're setting chanrec::creation in here and not chanrec::age, this can and ↵Gravatar brain2007-05-081-0/+1
| | | | | | will fuck up TS. Set Both. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6910 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix bug where if an op is in channel then does /names later, all the non-ops ↵Gravatar brain2007-05-041-1/+1
| | | | | | dissapear! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6877 e03df62e-2008-0410-955e-edbf42e46eb7
* Add <auditorium showops> which determines if auditorium works like ircnet +a ↵Gravatar brain2007-05-041-3/+4
| | | | | | | | | (anonymous channels) or like unrealircd +u. The old behaviour is similar to anonymous channels, only showing the current user. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6875 e03df62e-2008-0410-955e-edbf42e46eb7
* Where others charge, we give for free. Have fun and use wisely. With great ↵Gravatar brain2007-05-041-0/+3
| | | | | | power comes great responsbility. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6867 e03df62e-2008-0410-955e-edbf42e46eb7
* DO NOT USE THIS COMMIT - if you do, most of the modules wont work.Gravatar brain2007-05-031-9/+25
| | | | | | | DEVS: Please fix all modules that have warnings to use the new parameters to OnUserJoin, OnUserPart and OnUserKick (bool &silent) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6858 e03df62e-2008-0410-955e-edbf42e46eb7
* set the TS of a channel in JoinUser, not after the entire FJOIN, this is ↵Gravatar brain2007-03-181-2/+5
| | | | | | safer and may fix the odd desync here and there git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6690 e03df62e-2008-0410-955e-edbf42e46eb7
* Addition of feature request outlined in bug #195, suggested by BrickerGravatar brain2007-02-191-6/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6602 e03df62e-2008-0410-955e-edbf42e46eb7
* Crusade to remove debug from stable and tested parts of the core and base ↵Gravatar brain2007-01-151-22/+0
| | | | | | | | | | modules. Most of the code here being de-noised hasnt had a crash or bug in it for many months, if not a year so the debug output is useless noise in the logfile when trying to trace a bug in a REAL problem area. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6356 e03df62e-2008-0410-955e-edbf42e46eb7
* Assigning a std::string var initially to "" is pointless.Gravatar brain2007-01-091-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6271 e03df62e-2008-0410-955e-edbf42e46eb7
* Tidy up (optimize, improve) chanrec::WriteChannelWithServGravatar brain2007-01-091-1/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6269 e03df62e-2008-0410-955e-edbf42e46eb7
* Tidy up an if/then/else chain into a switchGravatar brain2007-01-091-15/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6268 e03df62e-2008-0410-955e-edbf42e46eb7
* Cache channel max bans value to save an O(n) loop of match() on every ban ↵Gravatar brain2007-01-091-2/+15
| | | | | | (etc) add git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6267 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix desync with halfop and voice when opped (this happens because we were ↵Gravatar brain2007-01-061-3/+4
| | | | | | ORing the wrong value in chanrec::ForceChan) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6232 e03df62e-2008-0410-955e-edbf42e46eb7
* Tweaks to instantiate less stuff when writing to a bunch of usersGravatar brain2006-12-301-2/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6172 e03df62e-2008-0410-955e-edbf42e46eb7
* Tons of optimization of WriteChannel, WriteChannelWithServ, WriteCommon etc, ↵Gravatar brain2006-12-301-2/+8
| | | | | | | | | | dont call userrec::GetFullHost or snprintf for every item, call it just once. Turns O(n) calls for every write into O(~1) calls per write. Remove some debug from the socketengines which makes debugging hard on large channels (write availability message) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6171 e03df62e-2008-0410-955e-edbf42e46eb7
* Hash rehashing changeGravatar brain2006-12-231-13/+13
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6080 e03df62e-2008-0410-955e-edbf42e46eb7
* Jesus, look who's the commit whore today. More header updates, and removal ↵Gravatar w00t2006-12-151-12/+7
| | | | | | of namespacing. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7
* Cleaning up irrelevent stuff in channels.cppGravatar brain2006-12-151-6/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5993 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix silly bug of the day.Gravatar brain2006-12-141-0/+3
| | | | | | | | | User was only getting a userrec::chans entry added if they had any privelages on the channel. If they werent opped, voiced, or halfopped on join, no entry in the hash. Silly brain now added a: user->chans[Ptr] = 0; :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5990 e03df62e-2008-0410-955e-edbf42e46eb7