summaryrefslogtreecommitdiff
path: root/src/channels.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Refactor userrec::chans.Gravatar brain2006-12-141-96/+67
| | | | | | | | | Old way: A vector of ucrec, MAXCHANS in size by default populated by NULLS, so you have to scan the vector to find an empty slot when joining a user, parting a user etc New way: std::map<chanrec*, char> (the char holds their basic core permissions on the channel [voice, halfop, op]) This increases speed a ton, and removes some wtf-age. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5986 e03df62e-2008-0410-955e-edbf42e46eb7
* Make the 'override' parameter actually *do* something, weeGravatar w00t2006-12-031-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5836 e03df62e-2008-0410-955e-edbf42e46eb7
* Add extra parameter to OnUserPreNotice and OnUserPrePrivmsg, CUList ↵Gravatar brain2006-11-261-2/+24
| | | | | | | | | &exempt_list, a list of users NOT to write to. By default it just contains the sender, you can add more. This also bumps the module api version by one. added "CUList fixme" to peaveys module just so it builds, as this will be refactored to use the new feature that was just added :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5806 e03df62e-2008-0410-955e-edbf42e46eb7
* Thanks for the pointer jilles ;)Gravatar brain2006-11-121-1/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5720 e03df62e-2008-0410-955e-edbf42e46eb7
* Added time syncing! This is fairly simple - servers exchange timestamps and ↵Gravatar special2006-11-051-0/+1
| | | | | | use the lowest - but should get rid of the annoying bounces for those of us who can't depend on ntpd. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5649 e03df62e-2008-0410-955e-edbf42e46eb7
* <pid file> is no longer a manditory tag (thanks dotslasher)Gravatar brain2006-10-271-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5556 e03df62e-2008-0410-955e-edbf42e46eb7
* Added OnPostJoin, which is (at the moment) almost exactly identical to ↵Gravatar special2006-10-011-0/+1
| | | | | | OnUserJoin but called after, so you can play with linking git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5361 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix mode desync when setting custom prefixes on joining users (trigger the ↵Gravatar brain2006-09-301-15/+12
| | | | | | mode handler explicitly) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5359 e03df62e-2008-0410-955e-edbf42e46eb7
* TidyupsGravatar brain2006-09-271-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5350 e03df62e-2008-0410-955e-edbf42e46eb7
* CommentsGravatar brain2006-09-271-5/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5349 e03df62e-2008-0410-955e-edbf42e46eb7
* Because the user's prefix list must remain sorted at all times (because of ↵Gravatar brain2006-09-271-22/+10
| | | | | | assumptions in xchat) this means that we don't need to scan the list looking for their highest prefix, it will always be at begin(). This changes the speed of GetPrefix() and GetPrefixValue() from O(n) to O(1). git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5348 e03df62e-2008-0410-955e-edbf42e46eb7
* OptimizationsGravatar brain2006-09-271-12/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5347 e03df62e-2008-0410-955e-edbf42e46eb7
* Tidy up how PART without reason is doneGravatar brain2006-09-271-12/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5346 e03df62e-2008-0410-955e-edbf42e46eb7
* And correct itGravatar brain2006-09-271-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5344 e03df62e-2008-0410-955e-edbf42e46eb7
* Move OnCheckBan into chanrec::IsBanned() so its always called for any ↵Gravatar brain2006-09-271-17/+16
| | | | | | attempt to check any ban git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5343 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix handling of multiple @%+ core permissions modes on join when more than ↵Gravatar brain2006-09-261-3/+3
| | | | | | one are given git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5334 e03df62e-2008-0410-955e-edbf42e46eb7