summaryrefslogtreecommitdiff
path: root/src/channels.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include listsGravatar brain2006-08-301-14/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
* Zed, you are found guilty of over-assuming the IRC protocol and forcing ircd ↵Gravatar brain2006-08-281-9/+7
| | | | | | | | | developers to sort lists during prefix adding. How do you plead. SOD THAT, YOURE GUILTY!!!!! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5052 e03df62e-2008-0410-955e-edbf42e46eb7
* YOU KNOW I REALLY HATE IT WHEN CLIENT AUTHORS JUST MAKE ASSUMPTIONS ON ↵Gravatar brain2006-08-281-1/+9
| | | | | | | | | THINGS LIKE "oh all prefixes in NAMESX will always be in rank order". So tell me, zed, where the FUCK does it say that? huh?! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5051 e03df62e-2008-0410-955e-edbf42e46eb7
* Add support for NAMESXGravatar brain2006-08-281-1/+10
| | | | | | | | Tidy up m_alias blank lines Add m_namesx.so to example conf (no extra config tags required for it, it "just works") git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5039 e03df62e-2008-0410-955e-edbf42e46eb7
* Multi-prefix FJOIN, and allowing module-defined prefixes across the networkGravatar brain2006-08-231-0/+20
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5002 e03df62e-2008-0410-955e-edbf42e46eb7
* More prefixchar stuff.Gravatar brain2006-08-231-1/+1
| | | | | | | WARNING: 005 numeric is broken in this commit. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5000 e03df62e-2008-0410-955e-edbf42e46eb7
* Document mode prefixesGravatar brain2006-08-231-4/+20
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4999 e03df62e-2008-0410-955e-edbf42e46eb7
* Spotted problem: must clear out all prefixes attached to a user when they ↵Gravatar brain2006-08-231-0/+10
| | | | | | | | | quit or leave a channel Next thing to do, consider removing of opped_userlist, halfopped_userlist and voiced_userlist as this data is now in the prefixlist git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4998 e03df62e-2008-0410-955e-edbf42e46eb7
* Mode handlers handling listmodes where a listmode item is a nickname can now ↵Gravatar brain2006-08-231-14/+45
| | | | | | | | | specify prefixes!!!!!! This isnt documented yet. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4997 e03df62e-2008-0410-955e-edbf42e46eb7
* EventHandler class, an abstraction for raw i/oGravatar brain2006-08-181-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7
* Just to mess with om's head, remove helperfuncs.h from everywhereGravatar brain2006-08-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
* CamelCaseRocksSoMuchICamelCasedAllTheMethodsOfClassInspIRCdSoThatItAllLooksNeat.Gravatar brain2006-08-111-5/+5
| | | | | | | NowSomebodyHasToSpendHoursDocumentingAllOfThisIWonderWhoThatWillEndUpBeing... git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4889 e03df62e-2008-0410-955e-edbf42e46eb7