summaryrefslogtreecommitdiff
path: root/src/channels.cpp
Commit message (Expand)AuthorAgeFilesLines
* Jesus, look who's the commit whore today. More header updates, and removal of...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-12-151-12/+7
* Cleaning up irrelevent stuff in channels.cpp•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5993 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-151-6/+2
* Fix silly bug of the day.•••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 Gravatar brain2006-12-141-0/+3
* Refactor userrec::chans.•••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 Gravatar brain2006-12-141-96/+67
* Make the 'override' parameter actually *do* something, wee•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5836 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-12-031-3/+3
* Add extra parameter to OnUserPreNotice and OnUserPrePrivmsg, CUList &exempt_l...•••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 Gravatar brain2006-11-261-2/+24
* Thanks for the pointer jilles ;)•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5720 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-11-121-1/+5
* Added time syncing! This is fairly simple - servers exchange timestamps and u...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5649 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar special2006-11-051-0/+1
* <pid file> is no longer a manditory tag (thanks dotslasher)•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5556 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-271-0/+4
* Added OnPostJoin, which is (at the moment) almost exactly identical to OnUser...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5361 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar special2006-10-011-0/+1
* Fix mode desync when setting custom prefixes on joining users (trigger the mo...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5359 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-301-15/+12
* Tidyups•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5350 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-271-2/+0
* Comments•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5349 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-271-5/+10
* Because the user's prefix list must remain sorted at all times (because of as...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5348 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-271-22/+10
* Optimizations•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5347 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-271-12/+6
* Tidy up how PART without reason is done•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5346 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-271-12/+4
* And correct it•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5344 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-271-1/+1
* Move OnCheckBan into chanrec::IsBanned() so its always called for any attempt...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5343 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-271-17/+16
* Fix handling of multiple @%+ core permissions modes on join when more than on...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5334 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-261-3/+3
* Mini security audit•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5333 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-251-2/+2
* Whoops, fix minor typo•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5328 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-251-1/+2
* More patch•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5325 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-251-5/+5
* Whoops, patch•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5324 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-251-24/+38
* Tidy up key handling•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5301 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-191-12/+2
* Whack a strlcpy()•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5220 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-111-1/+1
* * Fix ChanModes::ModeString to not try and set a key as a user mode ;)•••* 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 Gravatar brain2006-09-101-8/+10
* Explicitly call the std::string version of WriteServ in chanrec::UserList to ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5159 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-081-2/+2
* Add chanrec::IsBanned() so that we dont have to keep walking the banlist in v...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5099 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-021-10/+22
* Made CountChannels faster. We use it in quite a few places. It's now O(1) rat...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5094 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-311-0/+2
* Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include lists•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-301-14/+0
* Zed, you are found guilty of over-assuming the IRC protocol and forcing ircd ...•••SOD THAT, YOURE GUILTY!!!!! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5052 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-281-9/+7
* YOU KNOW I REALLY HATE IT WHEN CLIENT AUTHORS JUST MAKE ASSUMPTIONS ON THINGS...•••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 Gravatar brain2006-08-281-1/+9
* Add support for NAMESX•••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 Gravatar brain2006-08-281-1/+10
* Multi-prefix FJOIN, and allowing module-defined prefixes across the network•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5002 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-231-0/+20
* More prefixchar stuff.•••WARNING: 005 numeric is broken in this commit. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5000 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-231-1/+1
* Document mode prefixes•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4999 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-231-4/+20
* Spotted problem: must clear out all prefixes attached to a user when they qui...•••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 Gravatar brain2006-08-231-0/+10
* Mode handlers handling listmodes where a listmode item is a nickname can now ...•••This isnt documented yet. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4997 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-231-14/+45
* EventHandler class, an abstraction for raw i/o•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-181-2/+2
* Just to mess with om's head, remove helperfuncs.h from everywhere•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-111-1/+1
* CamelCaseRocksSoMuchICamelCasedAllTheMethodsOfClassInspIRCdSoThatItAllLooksNeat.•••NowSomebodyHasToSpendHoursDocumentingAllOfThisIWonderWhoThatWillEndUpBeing... git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4889 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-111-5/+5
* Move remaining functions:•••operstrcmp* commands.cpp InspIRCd::operstrcmp() duration* commands.cpp InspIRCd::duration() host_matches_everyone* commands.cpp InspIRCd::host_matches_everyone() ip_matches_everyone* commands.cpp InspIRCd::ip_matches_everyone() nick_matches_everyone* commands.cpp InspIRCd::nick_matches_everyone() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4888 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-111-5/+5
* Change to using Instance->Log (InspIRCd::Log) rather than log() macro•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4880 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-111-9/+9
* Now two types of log macro, log() and ilog(). log() assumes an InspIRCd objec...•••TODO: Run a regexp over these, using perl, to translate them into InspIRCd::Log calls and then eliminate the macro :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4879 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-111-6/+5
* extern time_t TIME -> InspIRCd::Time()•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4873 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-111-3/+1
* Mass-tidyup of module global vars, theyre no longer global vars.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4856 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-101-3/+0
* Move IsNick, IsIdent into class InspIRCd, update modules that use it.•••Change message.h to just a #warning saying its deprecated, and remove all use of it from the core :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4847 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-101-1/+0
* cmode(), cflags(), cstatus() -> chanrec::GetStatusChar(), chanrec::GetStatusF...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4837 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-101-3/+74
* FindNick, FindChan, ChanModes, UserList, CountInvisible, PurgeEmptyChannels, ...•••ServerConfig takes InspIRCd pointer in its constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4832 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-101-2/+144
* userrec and chanrec now have their own independent pointer back to their 'cre...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4820 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-091-20/+18