summaryrefslogtreecommitdiff
path: root/src/users.cpp
AgeCommit message (Collapse)Author
2008-09-18Reinvert order of insert/erase into user hash_map to avoid a lil crash :)peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10557 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-14Patch by dz to remove the one usage of strdup/strtok_r, which is very un-C++ ↵special
behavior (and silly, since we have sepstream) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10543 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-13Changed Allowed Modes to bitsets.aquanight
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10541 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07Merge the second interface for socket hooking into one, so it's all done by ↵w00t
Add/Del/GetIOHook now. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10457 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-31Move all the parameters around AGAIN. See docs shortlybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10364 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-31Save 4 bytes (assuming sizeof(ptr) == 2) per user record, storing unneeded ↵w00t
pointers (self managed class) that nothing was ever done with. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10359 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-27Fix recursion crashw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10330 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-27Don't force-finish a burst on a timer, instead, set bursted if a PONG is ↵w00t
recieved while still bursting (obviously wrong). git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10326 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-27Fix..w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10325 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-27Clean up opering a tiny bit.. pave the way for SVSOPERw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10324 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-25Bounds checking on IsModeSet, etc, to stop silly problemsw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10282 e03df62e-2008-0410-955e-edbf42e46eb7
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