summaryrefslogtreecommitdiff
path: root/src/channels.cpp
AgeCommit message (Collapse)Author
2006-12-15Cleaning up irrelevent stuff in channels.cppbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5993 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-14Fix silly bug of the day.brain
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
2006-12-14Refactor userrec::chans.brain
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
2006-12-03Make the 'override' parameter actually *do* something, weew00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5836 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-26Add extra parameter to OnUserPreNotice and OnUserPrePrivmsg, CUList ↵brain
&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
2006-11-12Thanks for the pointer jilles ;)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5720 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-05Added time syncing! This is fairly simple - servers exchange timestamps and ↵special
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
2006-10-27<pid file> is no longer a manditory tag (thanks dotslasher)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5556 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-01Added OnPostJoin, which is (at the moment) almost exactly identical to ↵special
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
2006-09-30Fix mode desync when setting custom prefixes on joining users (trigger the ↵brain
mode handler explicitly) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5359 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-27Tidyupsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5350 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-27Commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5349 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-27Because the user's prefix list must remain sorted at all times (because of ↵brain
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
2006-09-27Optimizationsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5347 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-27Tidy up how PART without reason is donebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5346 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-27And correct itbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5344 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-27Move OnCheckBan into chanrec::IsBanned() so its always called for any ↵brain
attempt to check any ban git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5343 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-26Fix handling of multiple @%+ core permissions modes on join when more than ↵brain
one are given git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5334 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-25Mini security auditbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5333 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-25Whoops, fix minor typobrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5328 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-25More patchbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5325 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-25Whoops, patchbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5324 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-19Tidy up key handlingbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5301 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-11Whack a strlcpy()brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5220 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-10* Fix ChanModes::ModeString to not try and set a key as a user mode ;)brain
* 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
2006-09-08Explicitly call the std::string version of WriteServ in chanrec::UserList to ↵brain
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
2006-09-02Add chanrec::IsBanned() so that we dont have to keep walking the banlist in ↵brain
various modules and using match() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5099 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-31Made CountChannels faster. We use it in quite a few places. It's now O(1) ↵brain
rather than O(n) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5094 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-30Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include listsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-28Zed, you are found guilty of over-assuming the IRC protocol and forcing ircd ↵brain
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
2006-08-28YOU KNOW I REALLY HATE IT WHEN CLIENT AUTHORS JUST MAKE ASSUMPTIONS ON ↵brain
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
2006-08-28Add support for NAMESXbrain
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
2006-08-23Multi-prefix FJOIN, and allowing module-defined prefixes across the networkbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5002 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-23More prefixchar stuff.brain
WARNING: 005 numeric is broken in this commit. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5000 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-23Document mode prefixesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4999 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-23Spotted problem: must clear out all prefixes attached to a user when they ↵brain
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
2006-08-23Mode handlers handling listmodes where a listmode item is a nickname can now ↵brain
specify prefixes!!!!!! This isnt documented yet. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4997 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18EventHandler class, an abstraction for raw i/obrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Just to mess with om's head, remove helperfuncs.h from everywherebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11CamelCaseRocksSoMuchICamelCasedAllTheMethodsOfClassInspIRCdSoThatItAllLooksNeat.brain
NowSomebodyHasToSpendHoursDocumentingAllOfThisIWonderWhoThatWillEndUpBeing... git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4889 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Move remaining functions:brain
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
2006-08-11Change to using Instance->Log (InspIRCd::Log) rather than log() macrobrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4880 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Now two types of log macro, log() and ilog(). log() assumes an InspIRCd ↵brain
object called ServerInstance, ilog() takes an InspIRCd object as first param. 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
2006-08-11extern time_t TIME -> InspIRCd::Time()brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4873 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10Mass-tidyup of module global vars, theyre no longer global vars.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4856 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10Move IsNick, IsIdent into class InspIRCd, update modules that use it.brain
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
2006-08-10cmode(), cflags(), cstatus() -> chanrec::GetStatusChar(), ↵brain
chanrec::GetStatusFlags(), chanrec::GetStatus() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4837 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10FindNick, FindChan, ChanModes, UserList, CountInvisible, PurgeEmptyChannels, ↵brain
GetClass, WriteOpers, GetServerDescription -> into classes ServerConfig takes InspIRCd pointer in its constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4832 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09userrec and chanrec now have their own independent pointer back to their ↵brain
'creator' InspIRCd* object, extern now longer required in channels.cpp or users.cpp git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4820 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09Move tons more stuff into class InspIRCdbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4819 e03df62e-2008-0410-955e-edbf42e46eb7