summaryrefslogtreecommitdiff
path: root/src/users.cpp
AgeCommit message (Collapse)Author
2008-08-21match() is no longer a function+no header, now a static method of InspIRCd ↵w00t
class, blah blah blah. Also rip out the 1.2 matcher, as it was slow, and replace it with one adapted from znc, which happens to be a tiny bit faster than 1.1's (and the fastest I've seen so far that works properly) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10212 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-07I am a retard, mixx941 is my godw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10124 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-07Don't add duplicate invitesw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10122 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-06fix compile errors under debug profile in windows.brain
fix some warnings too. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10108 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-29Remove last vestige of libircdfoo, by changing tag into a single ↵w00t
identifier marking object as requiring compilation into a .o (minor commit) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10076 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-21Remove duplicated member, kept in classes.. Possible now we have a pointer. ↵w00t
this saves (another) 4 bytes per user. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10064 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-19Change modes in channels and users to use std::bitset instead of an array. ↵w00t
This saves 56 bytes per channel, and 112 bytes per channel, with no loss in speed or ease of use in code. :). Thanks (VERY) much to Special for telling me about this. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10043 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-19Fix compile. Also remove write error stuff, as that was used prior to the ↵w00t
goodness of global culllist. This makes getting user's quit messages to them (on excess recvq etc) much easier. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10042 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-14Remove unneccessary temp value which caused a win32 problem by using ↵om
uint32_t type. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10021 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-14More broken compile stuffw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10016 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-13Convert, convert, convertw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10009 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-13Convert a bunch of crapw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10008 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12Change sprintf to snprintf, just in case; Update comments.om
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9985 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12Increase static buffer size to 44 to account for a full IPv6 CIDR mask: ↵om
1111:1111:1111:1111:1111:1111:1111:1111/128 + null terminator. Also remove newlines in returned mask. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9984 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12Cleanup of some of the new CIDR code: compiles but untested; Also: My first ↵om
commit for a very long time git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9979 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12Fix for #564w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9961 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12Add User::GetCIDRMask(int range), will be used for CIDR throttling, etc. ↵w00t
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
2008-07-02Back out the incomplete linebuffering stuff that shouldn't have been committed..w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9948 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-02Forward port r9946: make SVSHOLD silent to avoid useless irritation to opersw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9947 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-06Fix compile errorbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9841 e03df62e-2008-0410-955e-edbf42e46eb7
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