summaryrefslogtreecommitdiff
path: root/src/users.cpp
AgeCommit message (Collapse)Author
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
2008-02-22Convert remaining InspIRCd::Log() calls to new logging systemaquanight
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9001 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-22Nuke TIMESYNC from orbit \o/w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8998 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-21The issue from stable does not exist here, because we initialize ↵brain
userrec::quietquit to false in QuitUser (we didnt in stable) however it makes sense to also init this in the ctor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8974 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-17Seperate USERIO into USERINPUT and USEROUTPUTbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8949 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-13Commit patch from danieldg that makes a ton of stuff const-safe for latest ↵brain
warn-happy trigger-happy gcc4 (thanks) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8922 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-12Backport r8910: oper quit message would be blankw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8911 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-11Add -Wshadow to cflags, and fix a bunch of warnings that come with it. Add a ↵w00t
note to webirc that needs looking at. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8892 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-09Add a printf-type override for LogManager::Log(). We need to find a way to ↵w00t
see if a log call would have any interest, to avoid unnecessary printf() here though. Convert a bunch of stuff to using new logging (added targets: USERS, USERIO) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8860 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-08Support for /invite <user> <channel> <timeout> - if the user doesn't partake ↵aquanight
in <timeout> time, the invite expires git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8854 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-05This makes more sensebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8837 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-04Brain, look at this pleasew00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8817 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-02Cache User::GetIPString()w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8795 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-02Move some stuff to usermanager, remove a little header insanity, remove ↵w00t
trace because it's still less useful than a chocolate fireman. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8790 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-17Fix.. snomask O is already taken (ffs) so use A insteadw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8729 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-17Remove InspIRCd::WriteOpers in favour of snomask Ow00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8728 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-16Add a warning about quitting a user twice, and fix a minor brainfartw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8718 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-16Remove an O(log n) in favour of an O(1) operation, and tidy up culllist some ↵w00t
more git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8717 e03df62e-2008-0410-955e-edbf42e46eb7