summaryrefslogtreecommitdiff
path: root/src/channels.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Move remaining functions:Gravatar brain2006-08-111-5/+5
| | | | | | | | | | | 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
* Change to using Instance->Log (InspIRCd::Log) rather than log() macroGravatar brain2006-08-111-9/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4880 e03df62e-2008-0410-955e-edbf42e46eb7
* Now two types of log macro, log() and ilog(). log() assumes an InspIRCd ↵Gravatar brain2006-08-111-6/+5
| | | | | | | | | 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
* extern time_t TIME -> InspIRCd::Time()Gravatar brain2006-08-111-3/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4873 e03df62e-2008-0410-955e-edbf42e46eb7
* Mass-tidyup of module global vars, theyre no longer global vars.Gravatar brain2006-08-101-3/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4856 e03df62e-2008-0410-955e-edbf42e46eb7
* Move IsNick, IsIdent into class InspIRCd, update modules that use it.Gravatar brain2006-08-101-1/+0
| | | | | | | 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
* cmode(), cflags(), cstatus() -> chanrec::GetStatusChar(), ↵Gravatar brain2006-08-101-3/+74
| | | | | | chanrec::GetStatusFlags(), chanrec::GetStatus() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4837 e03df62e-2008-0410-955e-edbf42e46eb7
* FindNick, FindChan, ChanModes, UserList, CountInvisible, PurgeEmptyChannels, ↵Gravatar brain2006-08-101-2/+144
| | | | | | | | | 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
* userrec and chanrec now have their own independent pointer back to their ↵Gravatar brain2006-08-091-20/+18
| | | | | | '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
* Move tons more stuff into class InspIRCdGravatar brain2006-08-091-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4819 e03df62e-2008-0410-955e-edbf42e46eb7
* Move clientlist and chanlist into InspIRCd*Gravatar brain2006-08-091-22/+21
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4818 e03df62e-2008-0410-955e-edbf42e46eb7
* ServerConfig extern moved into class InspIRCdGravatar brain2006-08-091-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4808 e03df62e-2008-0410-955e-edbf42e46eb7
* WHEEEEE!!!!!Gravatar brain2006-08-081-16/+16
| | | | | | | | | All of: Write(), WriteTo(), WriteFrom(), WriteServ() are now methods of userrec. Write_NoFormat(), WriteTo_NoFormat(), WriteFrom_NoFormat(), WriteServ_NoFormat() are now std::string-taking overloaded methods of the functions above All modules updated to use new syntax, my fingers hurt :( git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4798 e03df62e-2008-0410-955e-edbf42e46eb7
* WriteChannel* functions and ChanExceptSender* functions are now methods of ↵Gravatar brain2006-08-081-7/+111
| | | | | | chanrec. They probably should be renamed too eventually. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4788 e03df62e-2008-0410-955e-edbf42e46eb7
* add_channel -> chanrec::JoinUser()Gravatar brain2006-08-081-26/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4787 e03df62e-2008-0410-955e-edbf42e46eb7
* Change to chanrec::PartUser. As with KickUser and ServerKickUser, returns ↵Gravatar brain2006-08-081-34/+16
| | | | | | the number of users left, if it returns 0, delete the chanrec git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4786 e03df62e-2008-0410-955e-edbf42e46eb7
* kick_channel -> chanrec::KickUser(), server_kick_channel -> ↵Gravatar brain2006-08-081-53/+43
| | | | | | chanrec::ServerKickUser() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4782 e03df62e-2008-0410-955e-edbf42e46eb7
* Left nick out of the cidr/ip check in bans/join, would never matchGravatar brain2006-08-061-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4758 e03df62e-2008-0410-955e-edbf42e46eb7
* CIDR g/k/e lines to go with zlinesGravatar brain2006-08-061-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4744 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow non-cidr ip's stillGravatar brain2006-08-061-2/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4742 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow CIDR channel bans to be matchedGravatar brain2006-08-061-1/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4741 e03df62e-2008-0410-955e-edbf42e46eb7
* Change to using userrec::ip as a sockaddr to store port, ip and address ↵Gravatar brain2006-08-041-1/+1
| | | | | | | | | family, rather than userrec::ip4 and userrec::port. This allows us to handle remote ipv6 users on an ipv4 server, and vice versa. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4694 e03df62e-2008-0410-955e-edbf42e46eb7
* The IPV6 stuff compiles now, with compile-correct ipv6 code. I dont know if ↵Gravatar brain2006-08-011-1/+1
| | | | | | this works yet. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4611 e03df62e-2008-0410-955e-edbf42e46eb7
* Alter SetModeParam to take const char* to save on casts, notice a load of ↵Gravatar brain2006-07-091-1/+1
| | | | | | modules that arent setting the param or the mode inside the handler git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4231 e03df62e-2008-0410-955e-edbf42e46eb7
* Did some renaming so that the methods for modes in chanrec and userrec are ↵Gravatar brain2006-07-081-4/+4
| | | | | | | | | | | identical. bool IsModeSet(const unsigned char c); void SetMode(const unsigned char c, bool value); Fixed m_botmode for new api git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4194 e03df62e-2008-0410-955e-edbf42e46eb7
* Don't allow non-ulines to kick ulines from channels - return numeric 482 if ↵Gravatar brain2006-06-201-0/+5
| | | | | | this is attempted (you are not a chanop) with different text git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4036 e03df62e-2008-0410-955e-edbf42e46eb7
* delete operator tracking in debug mode (using a macro -- live with it.)Gravatar brain2006-04-241-5/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3904 e03df62e-2008-0410-955e-edbf42e46eb7
* Forward-port of 1.0.4 tweakGravatar brain2006-04-211-0/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3903 e03df62e-2008-0410-955e-edbf42e46eb7
* A few more typedefs defined and put into use.Gravatar om2006-04-101-9/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3866 e03df62e-2008-0410-955e-edbf42e46eb7
* Add time.h include to inspircd.h. Random cleanups in channels.cpp, mostly ↵Gravatar om2006-04-101-17/+14
| | | | | | using the typedef'ed names already defined rather than having the full template names everywhere. Remove some unneeded casts too. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3865 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove references to inspircd_io from these, stop configure making all the ↵Gravatar om2006-04-081-12/+1
| | | | | | modules depend on it too. And remove some more un-needed includes git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3853 e03df62e-2008-0410-955e-edbf42e46eb7
* Split inspircd_io.* insp inspsocket.* and configreader.* with a few odd bits ↵Gravatar om2006-04-081-3/+1
| | | | | | going into inspircd.*, doesn't look like I've broken anything... :P git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3847 e03df62e-2008-0410-955e-edbf42e46eb7