aboutsummaryrefslogtreecommitdiff
path: root/src/command_parse.cpp
Commit message (Expand)AuthorAgeFilesLines
* Fix sending malformed ERR_UNKNOWNCOMMAND messages in some cases.•••This is not something the average user will encounter. It can only happen if the user sends a message with preceding whitespace or a prefix but no command name. This is not something that should ever be seen in practise so we just penalise the user and pretend nothing ever happened. The previous code also contained undefined behaviour but it acted sensibly on all compilers we support so it was not crashable. Gravatar Peter Powell2018-08-101-2/+6
* Fix numeric ERR_NOTREGISTERED not containing the user's nickGravatar Attila Molnar2015-01-211-1/+1
* Always penalize clients executing a command which fails before running the ha...Gravatar Attila Molnar2015-01-121-1/+16
* Fix snotice about disabled command usage being sent to the wrong snomaskGravatar Attila Molnar2014-04-041-1/+1
* Improve support for rarely used compilers, EKOPath in this case.Gravatar ChrisTX2013-08-311-1/+1
* Remove unused variables, avoid copies where possible, check empty() instead o...•••Most of these were detected by cppcheck Gravatar attilamolnar2013-05-161-2/+0
* Add a flag to Command that controls whether an empty last parameter is allowe...Gravatar attilamolnar2012-12-151-0/+7
* Change empty string assignments to .clear() or remove them entirely•••Part 2 of ba5c0db795824c3fc1ad48ce332d7bdc440cb77f Gravatar attilamolnar2012-11-281-3/+3
* Replace copyright headers with headers granting specific authors copyrightGravatar Robby-2012-04-191-8/+18
* Add RAWIO log level which is more verbose than DEBUG•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12646 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-03-191-1/+1
* Extbans can be VF_OPTCOMMON as they do not desync on module add/remove•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12303 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-191-13/+2
* PreCommand/PostCommand are local-only hooks•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12291 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-181-5/+3
* Fix signdedness error in LoopCall•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12268 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-161-2/+2
* Allow maxtargets to be bypassed in LoopCall for JOIN•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12255 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-141-55/+10
* ...because every now and again, i have to do a massive commit.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2010-01-111-1/+1
* Add Inspircd::AddServices•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12135 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-11-151-4/+4
* Add fine-grained command flood controls•••This reintrouces "Excess Flood" quits for those that prefer it to fakelag, and allows the maximum command rate to be set in the connect block. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12093 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-11-111-1/+1
* Fixes found by removing User inheritance from StreamSocket•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11975 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-251-3/+3
* Change User::oper to an OperInfo reference•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11945 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-211-1/+2
* Move all local-only fields to LocalUser•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11944 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-211-5/+5
* Add a setting to <connect> allowing the threshold for activation of the penal...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11922 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2009-10-191-1/+1
* Remove Command and ModeHandler objects in their destructors; fixes possible p...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11872 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-131-17/+7
* Remove InspIRCd* parameters and fields•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-261-5/+5
* Create StreamSocket for IO hooking implementation•••Fixes the SSL SendQ bug Removes duplicate code between User and BufferedSocket Simplify SSL module API Simplify EventHandler API (Readable/Writeable moved to SE) Add hook for culled objects to invoke callbacks prior to destructor Replace SocketCull with GlobalCull now that sockets can close themselves Shorten common case of user read/parse/write path: User::Write is now zero-copy up to syscall/SSL invocation User::Read has only two copy/scan passes from read() to ProcessCommand git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11752 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-211-32/+4
* Properly spacify opertypes in error messages. Patch by dKingston•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11724 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar special2009-09-141-1/+1
* Change cmd_*.so to use the Module object API•••Create Module* objects for each command, and load them like modules. This unifies the external API for modules. Library directory is now deprecated: all modules are located in a single module directory. Header files for each command are no longer needed; remove. This also fixes two potential segfaults in m_spanningtree. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11668 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-031-155/+3
* ModResult conversion: Change return type of all module functions•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11634 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-13/+12
* Add Module* creator to Command and ModeHandler•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11631 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-4/+4
* Valgrind cleanup: finish destructor creation•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11615 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-0/+3
* Valgrind cleanup: Add RemoveRFCCommands() to dlclose() and delete the core co...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11613 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-0/+13
* Include explicit routing information in Command, will replace CMD_LOCALONLY r...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11601 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-10/+22
* Replace std::deque with std::vector in spanningtree and related modules•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11593 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-3/+3
* Change allocation of commands/modes•••API change: Commands passed to AddCommand are no longer deleted automatically This removes lots of needless heap allocation and fixes a few memory leaks by allocating commands and modes as part of the Module rather than creating them separately in the module constructor. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11592 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-1/+0
* Apply fake lag on garbage input to discourage crap•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11511 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2009-08-141-8/+10
* rollback r11326, we're going to make vc9 the officially supported windows bui...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11327 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2009-04-231-1/+1
* Heres the beef so far•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11326 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2009-04-231-1/+1
* Convert snomask 'A' into snomask 'a' for local announcements, add snomask 'A'...•••Make SAMODE send a snotice to 'a' and remote to 'A' - fixes bug #822, reported by Taros We really need a wrapper to use these, but, for now it's usable. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11304 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2009-04-161-1/+1
* Make the message when reloading a command fails more accurate, and fix reload...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11270 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar dz2009-03-271-2/+2
* Update all wiki links to point to the new wiki. This was done automatically w...•••for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar psychon2009-03-151-1/+1
* Allow commands to be reloaded when they previously failed to load•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11219 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-03-141-12/+9
* Send denied commands to the correct snomask (t, not d). Reported by HiroP.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11209 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2009-03-111-1/+1
* Include explicit parameter list in ProtocolInterface::SendMode•••Also leave the strings split into deque, there's no need to pack it into a string just to unpack it during the translate. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11181 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-03-071-5/+6
* Construct explicit parameter type list for MODE parameters•••Previously, we used TR_SPACENICKLIST on the parameters. This worked only because usually, if anything in the list parsed as a nick, then it was a nick. However, some modes like +k and +g allow free-form text, which could also resolve as a nick. Add extra parameters to allow modes to specify their TranslateType, defaulting to TR_TEXT. This fixes bug #757, found by Taros git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11180 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-03-061-40/+43
* Nuke trailing spaces•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2009-02-141-5/+3
* Update copyrights for 2009.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2009-01-021-1/+1
* Fix a comment too.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10920 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2008-12-271-1/+1
* Use std::set instead of std::map needlessly.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10919 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2008-12-271-4/+4
* Fix naming convention to be consistant. (cmd_ -> Command)•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10891 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2008-12-151-2/+2
* Fix silly oversight discovered by tra26 (thanks!) where the core tries to han...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10870 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2008-12-081-1/+11
* Move stuff to use ASCII map where required.•••Also move this out of being a member totally, as it breaks (gah) and is already untidy.. to be revisited. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10858 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2008-12-071-1/+1