summaryrefslogtreecommitdiff
path: root/src/command_parse.cpp
AgeCommit message (Collapse)Author
2014-01-25Convert InspIRCd::PassCompare to return bool instead of int.Peter Powell
The insane behaviour of this method was due to an implementation detail which has since become irrelevent.
2014-01-09Stop null checking pointers that are always validAttila Molnar
2013-11-12Use WriteNumeric() everywhere we send numerics and include the user's nick ↵Adam
automatically
2013-08-18Create the CommandBase class from Commandattilamolnar
The Handle() method is not part of CommandBase, making it possible to provide a different Handle() in each class derived from CommandBase
2013-08-04Change the syntax of FOREACH macros to be less dumb.Adam
2013-06-18Remove dead code from the InspIRCd and CommandParser classes and typedefs.hattilamolnar
Removed functions: InspIRCd: - Restart() - unused - DoSocketTimeouts() - no implementation exists - AddCommand() - useless wrapper around ModuleManager::AddService() CommandParser: - IsValidCommand() - unused - ProcessParameters() - no implementation exists
2013-06-13Remove TR_END, remove TRANSLATEx() from commands that do not need itattilamolnar
2013-06-13Rewrite CommandParser::TranslateUIDs()attilamolnar
2013-06-12Run the OnPostCommand hook from LoopCall()attilamolnar
2013-06-12CommandParser::LoopCall() changesattilamolnar
- Change function to be static, return a bool - Do not filter duplicates when there are 2 lists (JOIN) - Remove validation of 'extra' parameter, caller must pass either a valid index or -1
2013-06-12Change command name parameter of OnPostCommand to be a Command*attilamolnar
2013-06-06Merge insp20attilamolnar
2013-06-01Remove #define MAXPARAMETERS and "MAXPARA" 005 tokenattilamolnar
2013-06-01CommandParser::ProcessCommand() and ProcessBuffer() cleanupattilamolnar
- Change return types to void - Use a pointer to the command handler instead of an iterator
2013-06-01Improve command parser logic when there are more params than Command::max_paramsattilamolnar
2013-06-01Remove (non-functional) total_bytes counter from Commandattilamolnar
2013-05-16Remove unused variables, avoid copies where possible, check empty() instead ↵attilamolnar
of size() == 0 Most of these were detected by cppcheck
2013-05-16Allow spaces (and more) in oper typesattilamolnar
The spaces are converted to '_' characters in OPERTYPE for 2.0 servers Issue #533 suggested by @ankitkv
2013-04-12Add LOG_ prefix to the log level enum values.Peter Powell
2013-04-10Replace IS_AWAY() and IS_OPER() macros with User::IsAway() and User::IsOper()attilamolnar
2012-12-15Add a flag to Command that controls whether an empty last parameter is ↵attilamolnar
allowed or not
2012-11-28Change empty string assignments to .clear() or remove them entirelyattilamolnar
Part 2 of ba5c0db795824c3fc1ad48ce332d7bdc440cb77f
2012-04-19Replace copyright headers with headers granting specific authors copyrightRobby-
2010-03-19Add RAWIO log level which is more verbose than DEBUGdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12646 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-19Extbans can be VF_OPTCOMMON as they do not desync on module add/removedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12303 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-18PreCommand/PostCommand are local-only hooksdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12291 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-16Fix signdedness error in LoopCalldanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12268 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-14Allow maxtargets to be bypassed in LoopCall for JOINdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12255 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-11...because every now and again, i have to do a massive commit.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-15Add Inspircd::AddServicesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12135 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-11Add fine-grained command flood controlsdanieldg
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
2009-10-25Fixes found by removing User inheritance from StreamSocketdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11975 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21Change User::oper to an OperInfo referencedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11945 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21Move all local-only fields to LocalUserdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11944 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-19Add a setting to <connect> allowing the threshold for activation of the ↵peavey
penalty system to be set in the configuration, or be disabled by setting it to 0. [jackmcbarn] git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11922 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-13Remove Command and ModeHandler objects in their destructors; fixes possible ↵danieldg
pointer leak if a module was not careful when triggering exceptions in its constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11872 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26Remove InspIRCd* parameters and fieldsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-21Create StreamSocket for IO hooking implementationdanieldg
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
2009-09-14Properly spacify opertypes in error messages. Patch by dKingstonspecial
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11724 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-03Change cmd_*.so to use the Module object APIdanieldg
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
2009-09-02ModResult conversion: Change return type of all module functionsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11634 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Add Module* creator to Command and ModeHandlerdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11631 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Valgrind cleanup: finish destructor creationdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11615 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Valgrind cleanup: Add RemoveRFCCommands() to dlclose() and delete the core ↵danieldg
commands git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11613 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Include explicit routing information in Command, will replace CMD_LOCALONLY ↵danieldg
return value git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11601 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Replace std::deque with std::vector in spanningtree and related modulesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11593 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Change allocation of commands/modesdanieldg
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
2009-08-14Apply fake lag on garbage input to discourage crapw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11511 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-23rollback r11326, we're going to make vc9 the officially supported windows ↵peavey
build methods since the few of us doing win dev can't keep up maintaining the others. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11327 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-23Heres the beef so farbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11326 e03df62e-2008-0410-955e-edbf42e46eb7