aboutsummaryrefslogtreecommitdiff
path: root/src/users.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add User::GetCIDRMask(int range), will be used for CIDR throttling, etc. ↵Gravatar w00t2008-07-121-5/+108
| | | | | | Also probably opens up the way for /gline nickname to place CIDR bans instead of regular bans, which could be helpful. Much thanks to Om for his help. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9959 e03df62e-2008-0410-955e-edbf42e46eb7
* Back out the incomplete linebuffering stuff that shouldn't have been committed..Gravatar w00t2008-07-021-139/+67
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9948 e03df62e-2008-0410-955e-edbf42e46eb7
* Forward port r9946: make SVSHOLD silent to avoid useless irritation to opersGravatar w00t2008-07-021-67/+139
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9947 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix compile errorGravatar brain2008-06-061-2/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9841 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove limits on assigning of oper types. Theres no practical reason to ↵Gravatar brain2008-06-011-1/+1
| | | | | | restrict these to nicklen length git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9831 e03df62e-2008-0410-955e-edbf42e46eb7
* Add ProtocolInterface::Introduce() to prevent confusion over event ordering, ↵Gravatar brain2008-06-011-0/+2
| | | | | | and allow for more flexible protocol use git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9827 e03df62e-2008-0410-955e-edbf42e46eb7
* First phase of conversion to dynamic limits on all the lengths, configured ↵Gravatar brain2008-05-251-3/+3
| | | | | | | | | 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
* Fix uuid generation to not generate ten character uuids, thanks nenolodGravatar brain2008-05-231-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9793 e03df62e-2008-0410-955e-edbf42e46eb7
* Why are we using .compare() when we can use == ?Gravatar brain2008-05-231-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9791 e03df62e-2008-0410-955e-edbf42e46eb7
* Convert channel::name to std::string, this was a beastie!Gravatar brain2008-05-191-4/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9770 e03df62e-2008-0410-955e-edbf42e46eb7
* Convert connection::hostGravatar brain2008-05-191-6/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9768 e03df62e-2008-0410-955e-edbf42e46eb7
* Make User:: nick/ident/dhost/fullname and some other things std::string ↵Gravatar aquanight2008-05-181-76/+69
| | | | | | instead of char*/char[] (MODULES DO NOT COMPILE) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9748 e03df62e-2008-0410-955e-edbf42e46eb7
* This conflicted a few hours ago apparantly (????)Gravatar w00t2008-05-181-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9747 e03df62e-2008-0410-955e-edbf42e46eb7
* check for GetDisabled should be before the match() commands, because its not ↵Gravatar brain2008-05-181-8/+8
| | | | | | 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
* Show count of total num of classes, for JasonGravatar w00t2008-05-181-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9740 e03df62e-2008-0410-955e-edbf42e46eb7
* I dont know who said we keep going when we get a match, because thats just ↵Gravatar brain2008-05-181-1/+2
| | | | | | 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
* More debug for JasonGravatar w00t2008-05-181-2/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9736 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove some unneccessary .c_str() callsGravatar brain2008-05-181-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9734 e03df62e-2008-0410-955e-edbf42e46eb7
* Debug logging for connect class match failureGravatar w00t2008-05-181-1/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9733 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix bug found in <connect> code, <connect:limit> was checked after finding a ↵Gravatar w00t2008-05-181-23/+36
| | | | | | 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
* nuke some debug (snatch)Gravatar peavey2008-05-091-6/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9685 e03df62e-2008-0410-955e-edbf42e46eb7
* Masterful rewrite of User::AddBuffer to remove a string copy (and make more ↵Gravatar w00t2008-05-071-21/+53
| | | | | | 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
* Conversion of command handler params from "const char* const* parameters, ↵Gravatar brain2008-05-041-5/+10
| | | | | | | | | | 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
* Remove debug (This also fixes a bug that peavey and i found regarding the ↵Gravatar brain2008-04-211-14/+1
| | | | | | 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
* Fix bug found by peavey, which much frustrated him and w00t. He leiks ↵Gravatar brain2008-04-211-3/+17
| | | | | | mudkipz. Also fix bug #522 reported by Casey git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9575 e03df62e-2008-0410-955e-edbf42e46eb7
* char -> const charGravatar w00t2008-04-131-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9485 e03df62e-2008-0410-955e-edbf42e46eb7
* Trunk fix for bug #505 reported by nenolodGravatar brain2008-04-121-18/+20
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9468 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix silliesGravatar brain2008-04-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9457 e03df62e-2008-0410-955e-edbf42e46eb7
* Patch from Brain fixing broken stuffGravatar w00t2008-04-111-4/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9456 e03df62e-2008-0410-955e-edbf42e46eb7
* Much faster way of checking if the user is 4in6, avoid strncmp in ↵Gravatar brain2008-04-111-2/+4
| | | | | | User::GetIPString(), do it in User::SetSockAddr() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9455 e03df62e-2008-0410-955e-edbf42e46eb7
* Provide an optional param translate4in6 to User::GetIPString() and default ↵Gravatar brain2008-04-101-2/+8
| | | | | | | | | 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
* Move QuitUser into UserManager class, and unstaticize it. This prepares for ↵Gravatar w00t2008-04-091-20/+5
| | | | | | 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
* Don't check Q:Lines here, it will affect change to UIDGravatar w00t2008-04-081-6/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9435 e03df62e-2008-0410-955e-edbf42e46eb7
* This should probably be tested, but makes a whole lot more sense like this ↵Gravatar brain2008-04-071-32/+21
| | | | | | (users.cpp) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9404 e03df62e-2008-0410-955e-edbf42e46eb7
* Initialise this so WriteCommon() knows what it's dealing with (thanks, valgrind)Gravatar w00t2008-04-061-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9387 e03df62e-2008-0410-955e-edbf42e46eb7
* Make sure this is pushed tooGravatar brain2008-04-051-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9352 e03df62e-2008-0410-955e-edbf42e46eb7
* Use 1.2, not VERSION constant for here.Gravatar w00t2008-04-051-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9350 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix a (long standing) tiny bug: wallops do not go out to all +w users, only ↵Gravatar w00t2008-04-031-1/+4
| | | | | | 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
* Fix brain's compile error :pGravatar w00t2008-04-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9282 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for bug #456 so we can be rid of itGravatar brain2008-04-021-2/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9281 e03df62e-2008-0410-955e-edbf42e46eb7
* Automatic detection and allocation of max fds. No longer needs recompile to ↵Gravatar brain2008-04-021-1/+18
| | | | | | | | | 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
* fix a few warnings by casting since thats the only way to be sure non native ↵Gravatar peavey2008-03-311-2/+2
| | | | | | C types matches their format tokens. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9239 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix two format warnings, dont you DARE tell me size_t varies in size too.Gravatar brain2008-03-311-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9235 e03df62e-2008-0410-955e-edbf42e46eb7
* Commit -Wformat=2 -Wmissing-format-attributes, printf-like functions in ↵Gravatar aquanight2008-03-301-6/+6
| | | | | | 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
* Add stuff so that modules can hook users by altering a pointer in the User ↵Gravatar brain2008-03-241-2/+3
| | | | | | 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
* Clean up user/chan modes on deoper, fix memsets off-by-1, delete[] properly ↵Gravatar aquanight2008-03-231-6/+17
| | | | | | in destructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9182 e03df62e-2008-0410-955e-edbf42e46eb7
* These memsets cant rely on sizeof() any more, afaik. The sizeof() would give ↵Gravatar brain2008-03-231-4/+4
| | | | | | 4 or 8, size of the pointer :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9181 e03df62e-2008-0410-955e-edbf42e46eb7
* Whoops, take out some foolish memsets (well theyre foolish now :p)Gravatar brain2008-03-231-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9180 e03df62e-2008-0410-955e-edbf42e46eb7
* This should save 128 bytes per user for non-opers. Well worth it imho for a ↵Gravatar brain2008-03-231-0/+26
| | | | | | reasonably large amount of unused ram. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9179 e03df62e-2008-0410-955e-edbf42e46eb7
* Add ability to control what opertypes can set what operonly user/chan modes. ↵Gravatar aquanight2008-03-231-1/+38
| | | | | | 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