summaryrefslogtreecommitdiff
path: root/src/channels.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Mini security auditGravatar brain2006-09-251-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5333 e03df62e-2008-0410-955e-edbf42e46eb7
* Whoops, fix minor typoGravatar brain2006-09-251-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5328 e03df62e-2008-0410-955e-edbf42e46eb7
* More patchGravatar brain2006-09-251-5/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5325 e03df62e-2008-0410-955e-edbf42e46eb7
* Whoops, patchGravatar brain2006-09-251-24/+38
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5324 e03df62e-2008-0410-955e-edbf42e46eb7
* Tidy up key handlingGravatar brain2006-09-191-12/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5301 e03df62e-2008-0410-955e-edbf42e46eb7
* Whack a strlcpy()Gravatar brain2006-09-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5220 e03df62e-2008-0410-955e-edbf42e46eb7
* * Fix ChanModes::ModeString to not try and set a key as a user mode ;)Gravatar brain2006-09-101-8/+10
| | | | | | | * Tweak the way cyclehosts works, so that mode change is not echoed back to user who changes their host/ident git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5208 e03df62e-2008-0410-955e-edbf42e46eb7
* Explicitly call the std::string version of WriteServ in chanrec::UserList to ↵Gravatar brain2006-09-081-2/+2
| | | | | | prevent string format accidents with users who have halfop (oooops) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5159 e03df62e-2008-0410-955e-edbf42e46eb7
* Add chanrec::IsBanned() so that we dont have to keep walking the banlist in ↵Gravatar brain2006-09-021-10/+22
| | | | | | various modules and using match() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5099 e03df62e-2008-0410-955e-edbf42e46eb7
* Made CountChannels faster. We use it in quite a few places. It's now O(1) ↵Gravatar brain2006-08-311-0/+2
| | | | | | rather than O(n) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5094 e03df62e-2008-0410-955e-edbf42e46eb7