summaryrefslogtreecommitdiff
path: root/src/modules/m_alias.cpp
AgeCommit message (Collapse)Author
2009-10-18Rewrite m_alias DoCommand to do variable substitution in one pass, fixing ↵danieldg
bugs with $i in user-provided text git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11910 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-18Fix infinite loop on alias expansion, found by Adamdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11908 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-18More classbase cleanup, hold ConfigTag reference in Autoconnect/Linkdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11906 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17Make classbase and refcountbase uncopyable; expand comments on their ↵danieldg
indended uses git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11888 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17Remove dummy API_VERSION from Version constructordanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11887 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-22Describe module purpose in /MODULES outputdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11757 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-08-28Stop a potential null pointer dereference introduced by Namegduf's patch, ↵w00t
found by Dessa/Kuja for finding this, and to danieldg, Special, Namegduf and psychon for their input. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11545 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-28Patch from Namegduf to use OnUserMessage instead of OnUserPreMessage, and ↵w00t
correctly prioritize events to fix channel aliases arriving after the effects of the alias. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11542 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-24OnRehash changes: split to multiple hooks to clarify use and prevent ↵danieldg
explosion of rehashes on a /REHASH * git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11388 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-02Remove an old debug log, and fix compile.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11348 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-02Fix: Channel aliases should work a bit more like user aliases. This is a BC ↵w00t
change: all existing channel aliases will likely be BROKEN, and will need to be changed. Like user aliases, $1 is now the fantasy command that was invoked, $2 is the first real param of the command. Reported by Namegduf. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11347 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-02Replace $chan to "" for a non-channel command.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11346 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-16Convert snomask 'A' into snomask 'a' for local announcements, add snomask ↵w00t
'A' for remote announcements. 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
2009-03-15Update all wiki links to point to the new wiki. This was done automatically ↵psychon
with the following command, only .Makefile.inc got some indent fixups by hand. 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
2009-02-14Nuke trailing spacespeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-10Prevent fantasy aliases from blocking user commands (eg. !topic would ↵dz
prevent users from using /topic). Also as a result of this change, any aliases where the command does not actually exist and are either strictly fantasy commands or no formats match will result in a unknown command message. Fixes bug #714, spotted by CJ -- thanks. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11080 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-09Merge fantasy:allowbots patch from Taros, closing off bug #709, thanks!brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11069 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-23Templateise thisbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10991 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-23Fix m_nationalchars using a copy and paste of my unsafe copy and paste ↵brain
algorithm, that will lock up if the string to replace contains the string to search for. Finally make this function a core utility function and remove the copies from 3 modules m_alias m_nationalchars and m_sqlauth git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10990 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-18Hmm, why didnt this go through before?brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10973 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-09Correctly match alias formats (was backwards) and avoid going on to other ↵dz
aliases if none match. Fixes bug #668 reported by Ankit, thanks. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10953 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02Update copyrights for 2009.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07Rename case_sensitive_map to rfc_case_sensitive_mapw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10851 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07Don't execute multiple aliases after executing one.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10445 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07Fix aliases returning multiple messages, thanks Ankit.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10444 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07Fix compile. Try again, Ankit.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10443 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07Set default values for <alias:usercommand> and <alias:channelcommand>, ↵w00t
Ankit, please provide feedback. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10439 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-06Add (currently untested and undocumented) fantasy command ↵w00t
(<alias:channelcommand>) support. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10425 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-06Rename some member fields; add <alias:usercommand>, default true - whether ↵w00t
or not the alias may be used as a /command. Also add (but don't yet implement) <alias:channelcommand>, default false, as to whether or not the command may be used as a fantasy command. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10423 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-06Restructuring to m_alias, this will be used for (optional) fantasy commands.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10422 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-06Modify aliases to use a multimap rather than a vector for storage + a map ↵w00t
for quick existance checking, this makes processing an alias that exists O(log n), while keeping checking for nonexistant aliases O(log n) also, as well as saving us a few bytes of memory. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10419 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-28Fix aliases stuff.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10338 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-25Change module versions to use a string instead of fixed digits, and use ↵w00t
propset ID to auto-set versions, so we don't have (essentially unused) module versions. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10291 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-22Match conversion stuff.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10216 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-22Revert automated conversion by Special, as it (unfortunately) neglects some ↵w00t
details. It provides a useful start point, though, so it'll be used as the basis for the final conversion. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10215 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-22Fix a lot of calls to match() and uses of wildcard.h (which doesn't exist ↵special
anymore) after w00t broke them. Still broken pending a few more changes (it's all w00t's fault.) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10214 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-11fixed some indentation and spacing in modulespippijn
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9888 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-06Allow changing of command string and parameter vector within OnPreCommand, ↵brain
allowing for m_abbreviation and other fancy stuff. Add basic skeleton module for it git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9840 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18Please see my XXX in m_conn_umodes w00t, maybe something we can look at next?brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9735 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-06Fix broken m_alias, cant preallocate and then push_back, because then its ↵brain
maxparams + size :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9658 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04Ok 3rd time lucky, thanks for the pointers Brainpeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9615 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04fix thispeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9614 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04First attempt at converting to new command handler, please review diff Brain.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9613 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24And more of thembrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9186 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-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-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-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