summaryrefslogtreecommitdiff
path: root/src/users.cpp
AgeCommit message (Collapse)Author
2008-06-01Remove limits on assigning of oper types. Theres no practical reason to ↵brain
restrict these to nicklen length git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9831 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-01Add ProtocolInterface::Introduce() to prevent confusion over event ordering, ↵brain
and allow for more flexible protocol use git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9827 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-25First phase of conversion to dynamic limits on all the lengths, configured ↵brain
via the <limits> tag (the tag isnt there yet, these all just run on defaults in the class constructor) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9802 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-23Fix uuid generation to not generate ten character uuids, thanks nenolodbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9793 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-23Why are we using .compare() when we can use == ?brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9791 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-19Convert channel::name to std::string, this was a beastie!brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9770 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-19Convert connection::hostbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9768 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18Make User:: nick/ident/dhost/fullname and some other things std::string ↵aquanight
instead of char*/char[] (MODULES DO NOT COMPILE) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9748 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18This conflicted a few hours ago apparantly (????)w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9747 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18check for GetDisabled should be before the match() commands, because its not ↵brain
worth wasting cpu time on match if its disabled anyway git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9741 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18Show count of total num of classes, for Jasonw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9740 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18I dont know who said we keep going when we get a match, because thats just ↵brain
silly. we stop at the first connect block that matches all critera of the connection. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9738 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18More debug for Jasonw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9736 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18Remove some unneccessary .c_str() callsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9734 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18Debug logging for connect class match failurew00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9733 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18Fix bug found in <connect> code, <connect:limit> was checked after finding a ↵w00t
class that matched, not during - meaning that if they were locked out by <connect:limit>, they were given no second chance to be matched by a future <connect> (and that <connect> deny would not apply to them if necessary etc). Also tidy this up a *lot*, remove some of the nesting by (ab)using looping. This is a lot more understandable for me now. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9732 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-09nuke some debug (snatch)peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9685 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-07Masterful rewrite of User::AddBuffer to remove a string copy (and make more ↵w00t
efficient) thanks to some nifty string manipulations. This should provide benefit on highly loaded nodes. This has *not* been thoroughly tested considering it's criticality, but I have spent the past ~4 hours writing and testing it, and it seems ok. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9661 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04Conversion of command handler params from "const char* const* parameters, ↵brain
int pcnt" to "const std::vector<std::string>& parameters". All of core is converted, but cant test it till the modules are converted. IMPORTANT: The mode parser public calls have had to be tweaked a bit to also use the string vector. Note that this makes a LOT of our core a bit messy and paves the way to convert a lot of stuff from the mess of .c_str() calls to using std::string params directly. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9608 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-21Remove debug (This also fixes a bug that peavey and i found regarding the ↵brain
already_sent not being wiped properly on first use) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9576 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-21Fix bug found by peavey, which much frustrated him and w00t. He leiks ↵brain
mudkipz. Also fix bug #522 reported by Casey git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9575 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-13char -> const charw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9485 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-12Trunk fix for bug #505 reported by nenolodbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9468 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-11Fix silliesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9457 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-11Patch from Brain fixing broken stuffw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9456 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-11Much faster way of checking if the user is 4in6, avoid strncmp in ↵brain
User::GetIPString(), do it in User::SetSockAddr() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9455 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-10Provide an optional param translate4in6 to User::GetIPString() and default ↵brain
it to true. This hides the 0::ffff: on all info about an ipv6 user connecting over ipv4, making glines on them and bans etc work better. Certain parts such as dns lookup need to set this to false to determine wether to use ipv4 or ipv6 reverse lookup. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9454 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-09Move QuitUser into UserManager class, and unstaticize it. This prepares for ↵w00t
some benchmarking lulz on object pooling I plan to do today, as well as making more sense now we *have* a manager class git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9442 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-08Don't check Q:Lines here, it will affect change to UIDw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9435 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-07This should probably be tested, but makes a whole lot more sense like this ↵brain
(users.cpp) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9404 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-06Initialise this so WriteCommon() knows what it's dealing with (thanks, valgrind)w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9387 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-05Make sure this is pushed toobrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9352 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-05Use 1.2, not VERSION constant for here.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9350 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-03Fix a (long standing) tiny bug: wallops do not go out to all +w users, only ↵w00t
opered users. This needs applying to 1.1 too, will be done shortly. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9285 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02Fix brain's compile error :pw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9282 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02Fix for bug #456 so we can be rid of itbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9281 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02Automatic detection and allocation of max fds. No longer needs recompile to ↵brain
change, just adjust it in your kernel or whatever and restart insp. Please note that select and iocp socket engines do not support detection and are always set to FD_SETSIZE and 10240 descriptors respectively. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9263 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-31fix a few warnings by casting since thats the only way to be sure non native ↵peavey
C types matches their format tokens. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9239 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-31Fix two format warnings, dont you DARE tell me size_t varies in size too.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9235 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-30Commit -Wformat=2 -Wmissing-format-attributes, printf-like functions in ↵aquanight
inspircd now get treated like printf (meaning compile-time check goodness) in GCC git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9217 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24Add stuff so that modules can hook users by altering a pointer in the User ↵brain
class. Note that ssl modules still bind by port, but the idea of doing this change is so we can remove that logic next git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9187 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-23Clean up user/chan modes on deoper, fix memsets off-by-1, delete[] properly ↵aquanight
in destructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9182 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-23These memsets cant rely on sizeof() any more, afaik. The sizeof() would give ↵brain
4 or 8, size of the pointer :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9181 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-23Whoops, take out some foolish memsets (well theyre foolish now :p)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9180 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-23This should save 128 bytes per user for non-opers. Well worth it imho for a ↵brain
reasonably large amount of unused ram. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9179 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-23Add ability to control what opertypes can set what operonly user/chan modes. ↵aquanight
This works the same way as commands, in that modes allowed by classes are added together, and * allows all. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9176 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-22Wheeee for HUGE commits. Convert all numerics to WriteNumeric so that ↵brain
OnNumeric can capture them. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9175 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-22Add WriteNumeric() to User and OnNumeric module event. Note that modules do ↵brain
not change the numeric text on the fly, as this involves needless allocations for numerics that arent being changed, so instead they block the original numeric and send out their own when needed. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9174 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-26Fix for bug #466 reported by Johnbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9042 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-26Fix for feature request in bug #465 by Johnbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9041 e03df62e-2008-0410-955e-edbf42e46eb7