63 Commits

Author SHA1 Message Date
danieldg
1ea2fca767 Valgrind cleanup: Add RemoveRFCCommands() to dlclose() and delete the core commands
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11613 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:46:29 +00:00
danieldg
8cebe2878f Include explicit routing information in Command, will replace CMD_LOCALONLY return value
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11601 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:44:50 +00:00
danieldg
219993bc90 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
2009-09-02 00:43:25 +00:00
peavey
15b51c2ecc rollback r11326, we're going to make vc9 the officially supported windows 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-23 22:21:35 +00:00
brain
c275233c7c Heres the beef so far
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11326 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-23 19:03:40 +00:00
psychon
b6dbd6caab Update all wiki links to point to the new wiki. This was done automatically 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-03-15 12:42:35 +00:00
danieldg
96a4a1d41e 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
2009-03-07 01:29:45 +00:00
danieldg
526f5a4a02 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
2009-03-06 22:28:57 +00:00
peavey
f209cce90b Nuke trailing spaces
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-14 21:14:36 +00:00
w00t
43847ec9c7 Update copyrights for 2009.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02 18:16:05 +00:00
w00t
187544bfd0 Fix naming convention to be consistant. (cmd_ -> Command)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10891 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-15 12:14:04 +00:00
w00t
0d2b6637ca This was never supposed to be invoked on /rehash, only startup.. so move it to startup only. Also remove (redundant) user arg.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10792 e03df62e-2008-0410-955e-edbf42e46eb7
2008-11-02 14:29:40 +00:00
brain
a77e13baaa Change the value of number of secs in a year to be 31557600 for Duration() with 'y' value. This is 365.25 days slightly more accurate than 365 days.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9930 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-21 13:18:25 +00:00
brain
61185fc62b m_abbreviation completed. :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9845 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-06 15:47:39 +00:00
brain
71eb82a980 Fix unused HandleServer to use new system too, and update comments to match api
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9609 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04 21:41:09 +00:00
brain
ffbd1eebf0 Conversion of command handler params from "const char* const* parameters, 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-05-04 21:37:36 +00:00
brain
e5131f92b3 Fix RemoveCommands to remove all commands (this function had some really odd removal logic?)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9554 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-20 18:58:59 +00:00
brain
dd36852a52 Wheee, mass commit! this adds const stafety, throwing a compile error if 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-20 19:07:07 +00:00
w00t
449bbb6e04 Slight API tweak. Change Command to take char * instead of char in it's constructor, this avoids confusion/generates a compile error if someone mixes up flags with number of params, instead of working but not working as expected in a weird manner.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8918 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-13 10:39:25 +00:00
w00t
f127161467 Clear up header insanity
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8808 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-03 23:20:20 +00:00
w00t
dd98d56cab Move some stuff to usermanager, remove a little header insanity, remove trace because it's still less useful than a chocolate fireman.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8790 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-02 20:55:16 +00:00
w00t
e4acbc95b8 Header update: 2007 -> 2008
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10 13:27:07 +00:00
w00t
ae888e9cf9 Remove some unnecessary headers from places, commit working BanCacheManager skeleton. Work in progress, ignore it for now. Doesn't do anything, either.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8487 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 00:44:28 +00:00
brain
6856c87ae5 *untested* command buffering/penalty
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8250 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21 14:08:13 +00:00
w00t
b57c7f4e46 In the grand tradition of huge fucking commits:
- chanrec -> Channel
 - userrec -> User
Enjoy.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 20:59:05 +00:00
w00t
694e307c09 class command_t -> class Command. Whey :D
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8203 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 20:55:55 +00:00
brain
45776df702 Make error messages on failure to load command more useful
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8194 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-14 21:16:44 +00:00
brain
ffbbfa9cd6 Add documentation comments
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7894 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27 16:08:21 +00:00
brain
cd2406617f More translation stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7888 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27 15:14:27 +00:00
brain
9595db021d Allow rehash to attempt to load missing (and new) lib/cmd_*.so files, to allow users to fix an emergency situation you can create by trying to reload a corrupt .so without needing a restart
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7712 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-11 12:05:31 +00:00
brain
8683e1c80d Provide error output on failure to load a core command; to console on startup, and to user on /reload
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7708 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-11 11:29:15 +00:00
peavey
f2acdbc382 OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:30:04 +00:00
peavey
bab14f0dd2 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are auto skipped by svn.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:14:45 +00:00
brain
f42aa99541 Comments
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7373 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-17 18:12:29 +00:00
brain
4381bb63f5 Add comment to what the table here is for
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7238 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-05 16:50:23 +00:00
brain
d396355d3e Refactored InspIRCd::Duration(). The leetcode now lives!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7237 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-05 16:49:06 +00:00
w00t
9cf56d917d Windows support. Tested and working to compile on freebsd and linux. Next step is to make sure it actually works in windows too. ;p. Add Burlex to contributors.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19 15:56:42 +00:00
peavey
3c14fd2155 Make RemoveCommand private.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6030 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-17 02:58:57 +00:00
peavey
3712db9cc6 Invented safe delete-while-itering for hash_map.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6029 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-17 02:46:47 +00:00
w00t
696ee9ff66 And now, just to force you to recompile the *whole* ircd.. updated headers on the headers. :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 22:18:59 +00:00
brain
4c19dfeed8 Revert special's sqloper change, nice try but only half a biscuit.
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
2006-11-03 08:30:37 +00:00
brain
5c53f05f76 If inspircd crashes in std::string destructor in 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
2006-09-13 20:29:53 +00:00
brain
ecd5b4082a Finish off the fix for bug #136 (a biggie for such a simple thing)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5151 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-06 18:20:02 +00:00
brain
4cf0ae1308 Command result codes. This isnt finished yet, still got to do most of the modules, and alter CallCommandHandler
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5149 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-06 17:21:59 +00:00
brain
13aeb82ad2 Proper error checking on loading cmd_*.so files
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5122 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 00:58:09 +00:00
brain
540f3bd9da Add /RELOAD and move cmd_mode into its own command.
/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
2006-09-03 00:44:11 +00:00
brain
1b7c615062 Auto loading of commands as shared objects via dlsym (very lightweight interface, just expects a command_t* pointer)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5118 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 00:09:38 +00:00
brain
5b8d2c4cab Remove a ton of <typeinfo>, <iostream>, <sstream> etc that we usually never use
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5081 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-30 09:51:50 +00:00
brain
5d59031ee3 Document command_parse.h and CommandParser class
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4903 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-12 00:51:35 +00:00
brain
f9636a2eff So much stuff changed in this one, i forgot most of it.
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
2006-08-10 22:40:57 +00:00