summaryrefslogtreecommitdiff
path: root/src/command_parse.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix comma-seperated list handling by CommandParser::LoopCall, should fix ↵Gravatar brain2006-11-041-6/+21
| | | | | | /amsg etc. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5644 e03df62e-2008-0410-955e-edbf42e46eb7
* Revert special's sqloper change, nice try but only half a biscuit.Gravatar brain2006-11-031-0/+9
| | | | | | | | | | | With the old fix, it would echo out all the oper failure notices first then try again, annoying all the opers. The new version uses a CommandParser method i added, to again use OnPreCommand, halt the /oper command, but after doing the sql lookup call the original handler of the OPER command with the original user and pass, so the original handler handles the definitive failure message. DAMNIT STOP COMMITTING git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5636 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove some debugGravatar brain2006-10-311-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5602 e03df62e-2008-0410-955e-edbf42e46eb7
* Mini security auditGravatar brain2006-09-251-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5333 e03df62e-2008-0410-955e-edbf42e46eb7
* Add const std::string &original_command to OnPreCommand and OnPostCommand, ↵Gravatar brain2006-09-171-3/+3
| | | | | | which gives the entire untouched command string and params in all its colon-ny glory git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5265 e03df62e-2008-0410-955e-edbf42e46eb7
* If inspircd crashes in std::string destructor in ↵Gravatar brain2006-09-131-1/+1
| | | | | | CommandParser::ProcessCommand, take away all std::string's to make the bug manifest elsewhere, so maybe we can spot it git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5232 e03df62e-2008-0410-955e-edbf42e46eb7
* Special check in cmd_quit and cmd_kill and special return value ↵Gravatar brain2006-09-131-1/+4
| | | | | | CMD_USER_DELETED, to prevent theoretical segfault (this isnt the bug youre trying to find, pip) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5230 e03df62e-2008-0410-955e-edbf42e46eb7
* Stop gcc prerelease (PRERELEASE? YEAH REALLY, WE HATE YOUR GUTS DEBIAN) from ↵Gravatar brain2006-09-101-1/+4
| | | | | | bitching about using ++ within an expression git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5197 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove debug outputGravatar brain2006-09-091-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5190 e03df62e-2008-0410-955e-edbf42e46eb7
* I'll give you ##TOAST, :pGravatar brain2006-09-091-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5189 e03df62e-2008-0410-955e-edbf42e46eb7
* Finish off the fix for bug #136 (a biggie for such a simple thing)Gravatar brain2006-09-061-7/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5151 e03df62e-2008-0410-955e-edbf42e46eb7
* All commands now return results CMD_FAILURE or CMD_SUCCESSGravatar brain2006-09-061-1/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5150 e03df62e-2008-0410-955e-edbf42e46eb7
* Proper error checking on loading cmd_*.so filesGravatar brain2006-09-031-8/+12
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5122 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove the shared object pointer from the hash after each reloadGravatar brain2006-09-031-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5121 e03df62e-2008-0410-955e-edbf42e46eb7
* Add /RELOAD and move cmd_mode into its own command.Gravatar brain2006-09-031-2/+63
| | | | | | | /RELOAD is the only thing you cant reload (ahem) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5119 e03df62e-2008-0410-955e-edbf42e46eb7
* Auto loading of commands as shared objects via dlsym (very lightweight ↵Gravatar brain2006-09-031-136/+48
| | | | | | interface, just expects a command_t* pointer) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5118 e03df62e-2008-0410-955e-edbf42e46eb7
* Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include listsGravatar brain2006-08-301-23/+232
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
* Just to mess with om's head, remove helperfuncs.h from everywhereGravatar brain2006-08-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
* CamelCaseRocksSoMuchICamelCasedAllTheMethodsOfClassInspIRCdSoThatItAllLooksNeat.Gravatar brain2006-08-111-1/+1
| | | | | | | NowSomebodyHasToSpendHoursDocumentingAllOfThisIWonderWhoThatWillEndUpBeing... git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4889 e03df62e-2008-0410-955e-edbf42e46eb7
* Move remaining functions:Gravatar brain2006-08-111-1/+1
| | | | | | | | | | | operstrcmp* commands.cpp InspIRCd::operstrcmp() duration* commands.cpp InspIRCd::duration() host_matches_everyone* commands.cpp InspIRCd::host_matches_everyone() ip_matches_everyone* commands.cpp InspIRCd::ip_matches_everyone() nick_matches_everyone* commands.cpp InspIRCd::nick_matches_everyone() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4888 e03df62e-2008-0410-955e-edbf42e46eb7
* Change to using Instance->Log (InspIRCd::Log) rather than log() macroGravatar brain2006-08-111-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4880 e03df62e-2008-0410-955e-edbf42e46eb7
* extern time_t TIME -> InspIRCd::Time()Gravatar brain2006-08-111-3/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4873 e03df62e-2008-0410-955e-edbf42e46eb7
* (Bigger than it looks, i did this with perl inplace edit) -- commands now ↵Gravatar brain2006-08-111-53/+54
| | | | | | take an InspIRCd* param to their constructor, so that you can do stuff within them without an extern git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4862 e03df62e-2008-0410-955e-edbf42e46eb7
* So much stuff changed in this one, i forgot most of it.Gravatar brain2006-08-101-5/+1
| | | | | | | Oh yeah, main thing is ModeHandler and ModeWatcher classes now take an InspIRCd* to their constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4858 e03df62e-2008-0410-955e-edbf42e46eb7
* Mass-tidyup of module global vars, theyre no longer global vars.Gravatar brain2006-08-101-6/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4856 e03df62e-2008-0410-955e-edbf42e46eb7
* Move IsNick, IsIdent into class InspIRCd, update modules that use it.Gravatar brain2006-08-101-1/+0
| | | | | | | Change message.h to just a #warning saying its deprecated, and remove all use of it from the core :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4847 e03df62e-2008-0410-955e-edbf42e46eb7
* Move tons more stuff into class InspIRCdGravatar brain2006-08-091-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4819 e03df62e-2008-0410-955e-edbf42e46eb7
* Move clientlist and chanlist into InspIRCd*Gravatar brain2006-08-091-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4818 e03df62e-2008-0410-955e-edbf42e46eb7
* Move fd_ref_table into class InspIRCd*Gravatar brain2006-08-091-5/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4817 e03df62e-2008-0410-955e-edbf42e46eb7
* ServerConfig extern moved into class InspIRCdGravatar brain2006-08-091-7/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4808 e03df62e-2008-0410-955e-edbf42e46eb7
* WHEEEEE!!!!!Gravatar brain2006-08-081-7/+7
| | | | | | | | | All of: Write(), WriteTo(), WriteFrom(), WriteServ() are now methods of userrec. Write_NoFormat(), WriteTo_NoFormat(), WriteFrom_NoFormat(), WriteServ_NoFormat() are now std::string-taking overloaded methods of the functions above All modules updated to use new syntax, my fingers hurt :( git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4798 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove old debugGravatar brain2006-08-071-3/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4760 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove trailing spaces from input in irc::ircsepstreamGravatar brain2006-08-061-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4759 e03df62e-2008-0410-955e-edbf42e46eb7
* Change a loop which uppercases the command to std::transform()Gravatar brain2006-08-051-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4723 e03df62e-2008-0410-955e-edbf42e46eb7
* Comments, add more detail, remove dnsqueue.h include from tons of placesGravatar brain2006-08-011-5/+0
| | | | | | | Remove THREADED_DNS defines from all over the place git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4629 e03df62e-2008-0410-955e-edbf42e46eb7
* Finish off /WHO (i think it covers everything). Now has a few extra optionsGravatar brain2006-07-281-5/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4581 e03df62e-2008-0410-955e-edbf42e46eb7
* TidyupGravatar brain2006-07-281-9/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4580 e03df62e-2008-0410-955e-edbf42e46eb7
* Typical, forgot a ;Gravatar brain2006-07-281-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4579 e03df62e-2008-0410-955e-edbf42e46eb7
* Document <options:syntaxhints> and <options:nouserdns>Gravatar brain2006-07-281-1/+6
| | | | | | | Change syntaxhints to seperate RPL_TEXT (prefix SYNTAX) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4578 e03df62e-2008-0410-955e-edbf42e46eb7
* Change all references to voodoo numbers (7, 3 etc) to the new bitwise ↵Gravatar brain2006-07-281-2/+2
| | | | | | | | | constants for user->registered Change a lot of user->fd > -1 to use the IS_LOCAL() macro git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4569 e03df62e-2008-0410-955e-edbf42e46eb7
* Make the error more obvious, still has 'not enough params' on the start nowGravatar brain2006-07-281-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4563 e03df62e-2008-0410-955e-edbf42e46eb7
* Re-order stuff so that users cant get syntax for commands they dont have ↵Gravatar brain2006-07-281-13/+9
| | | | | | access to git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4562 e03df62e-2008-0410-955e-edbf42e46eb7
* Add support for syntax of commands in place of the text 'Not enough ↵Gravatar brain2006-07-281-1/+6
| | | | | | | | | parameters' in numeric 461, where supported. To support this each derived class of command_t must set the value of command_t::syntax to a non-empty string. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4561 e03df62e-2008-0410-955e-edbf42e46eb7
* Ignore empty lines, don't try and process them as commandsGravatar brain2006-07-161-3/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4430 e03df62e-2008-0410-955e-edbf42e46eb7
* *Changed user input/output buffering to incur less copiesGravatar brain2006-07-161-2/+2
| | | | | | | *Fix warnings in command_parse git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4418 e03df62e-2008-0410-955e-edbf42e46eb7
* Document loopcall (its still complicated in concept, but now easier to read ↵Gravatar brain2006-07-161-26/+35
| | | | | | and possibly easier to understand) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4413 e03df62e-2008-0410-955e-edbf42e46eb7
* Created new class irc::commasepstream.Gravatar brain2006-07-161-179/+26
| | | | | | | | Will read comma seperated lists and works identically to irc::tokenstream It's re-entrant so we can run two of them together for JOIN git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4412 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix case sensitive commands issue due to new std::string based parser, ↵Gravatar brain2006-07-161-38/+19
| | | | | | improve the craq disabled commands check that was potentially O(n) where n is the number of disabled commands (erk) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4404 e03df62e-2008-0410-955e-edbf42e46eb7
* mass tidyup, change A LOT of stuff to const char** which was char** (such as ↵Gravatar brain2006-07-161-9/+8
| | | | | | | | | | parameters to commands in handlers) which makes the new lineparser work neater with no casts. This also removes tons of casts from other locations (all in all, ive added 2 casts and removed almost a hundred) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4403 e03df62e-2008-0410-955e-edbf42e46eb7
* MAJOR tidy of line parser, some parts rewritten and major chunks removedGravatar brain2006-07-161-287/+38
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4402 e03df62e-2008-0410-955e-edbf42e46eb7