summaryrefslogtreecommitdiff
path: root/src/command_parse.cpp
AgeCommit message (Collapse)Author
2008-05-04*param.c_str() -> param[0]brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9612 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04< MAXPARAMETERS for the size() check here can now be <= insteadbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9611 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-20Fix RemoveCommands to remove all commands (this function had some really odd ↵brain
removal logic?) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9554 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-18Apply patches to remove 200-odd dll limit on windows, made by GreenReaper, ↵brain
lots of thanks! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9533 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-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-20Wheee, mass commit! this adds const stafety, throwing a compile error if ↵brain
anyone does: "parameters[n] = blahvar;" in a command handler etc. where they REALLY SHOULD NOT fuck with the value and should copy the pointer. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8971 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-20Seems trivial now, looking at it. Still to test then will commit to trunk.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8969 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-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-01-27Change API OnOperCompare to OnPassCompare, password hashing is now available ↵aquanight
for <connect:allow>, <power die= restart=>, <title> (m_customtitle.so), <vhost> (m_vhost.so), this works the same was as for <oper>: load m_password_hash.so (after all hasher modules, of course), and add hash="md5/sha256/whatever" to the relevant tag. Also fix m_callerid.cpp crashing on unload. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8755 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-16Two stage commit: don't set user->muted except in QuitUser (duplicate ↵w00t
setting), also, change muted to drop all socket operations instead of just not reading the user's buffer if muted is set (no point wasting time - they're going away). Also revert culllist back to once per mainloop iteration now it is much cheaper than previously. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8716 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-15Fix a stupid crash on unknown commands caused by me blindly applying a 1.1 ↵w00t
patch.. doesn't affect 1.1 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8710 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Header update: 2007 -> 2008w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-08Don't send 421 to unregistered clients, per RFC (thanks nenolod)w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8661 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-25this should fix any of the crashes w00t outlined where User::MyClass == NULL.brain
The simplest fix seems to be that if the user has no class, skip all the code that uses the class values. This makes sense because the only situation where User::MyClass == NULL is when they arent authorised to connect and are being quit so checking flood levels and max sendq etc are irrelevent. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8358 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-24Tidyupsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8351 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-24Pedantic safetybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8350 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23Move some stuff from using userrec cached stuff to using stuff in the ↵w00t
connect classes git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8339 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23Pedantic safebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8314 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-22Remove the need for a bunch of the hard coded arrays/hashes by scanning the ↵brain
src/ dir for tag comments, like in modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8307 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21Use the new IncreasePenalty rather than directly using += on the Penalty value.brain
Maybe the penalty value should be private and there should be an accessor, GetPenalty()? git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8266 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21Add the check for user->ExemptFromPenaltybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8255 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21Yay, all works!brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8251 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21*untested* command buffering/penaltybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8250 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-17UID translator broken with space or comma seperated lists (thanks danieldg)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8220 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15Apply some readability changes to ProcessCommand, which coincidentally may ↵w00t
speed it up with some compiler optimisation git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8214 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15Move some other stuff to helperfuncs (uline related, and timestring)w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8213 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15Fuck. Press save, then commit.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8212 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15In the grand tradition of huge fucking commits:w00t
- chanrec -> Channel - userrec -> User Enjoy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15class command_t -> class Command. Whey :Dw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8203 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15Bad Brain, bad. *spank* :pw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8201 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-14Make error messages on failure to load command more usefulbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8194 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Slight change to traffic logging, as I never remember which way the damn ↵w00t
arrows go: I now means in, O now means out. C and S remain unchanged git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7948 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Make this comment make a little more sense.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7935 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Similar refactor here. Thanks danielg.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7927 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Tidy this up a bit (it looked weird :P)w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7926 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27While I'm in here, make it easier to read, and use short circuiting ↵w00t
(IS_REMOTE is quicker than checking if the user really has access) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7925 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Debug to try figure this out ..w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7895 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27TranslateUIDs now correctly returns number of substitutions madebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7893 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Auto translation nick->uuid for command params should now work in all ↵brain
modules which set their translation types. None do atm. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7889 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27More translation stuffbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7888 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Remove more unnecessary header trafficw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7887 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23Add some stuff to change how we process a token sepeperated streambrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7800 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-13Commit some changes from third party patch. Thanks Avenger and HiroP. Patch ↵w00t
review is not finished, there may be more changes to come. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7715 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-11Fix this so it works.brain
OBVIOUS WARNING FOR THE DUMB: Dont go overwriting .so files at random to test this, you WILL crash your ircd if you do this improprerly, this is a feature of the linux shared object loader. If you want to test this, try with: rm cmd_whatever.so && echo "TESTTEST" >cmd_whatever.so, do NOT just do the echo. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7713 e03df62e-2008-0410-955e-edbf42e46eb7