brain
32d9979d48
Fix (tested) for failing dlsym on win32
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7051 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19 22:28:11 +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
brain
91eebe370c
Change the way i/o lines are formatted in debug log to make them more intuitive. Now includes a C or S to say if its client or server, plus the fd:
...
Thu May 17 17:56:16 2007: C[15] -> :Brain MODE #test
Thu May 17 17:56:17 2007: C[15] -> :Brain WHO #test
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7039 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-17 16:54:33 +00:00
brain
98b4acdb3f
Add a progress meter for loading of core commands, fix broken implementation for <disabled commands> with a module command, as discovered by Casey in bug #293
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7038 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-16 21:41:48 +00:00
w00t
e6fa614ad2
We've had an IS_OPER macro for a long time. About time we started using it, maybe? :p
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6990 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-12 16:22:35 +00:00
brain
f15165b49a
we typedeffed nspace::hash_map<std::string,command_t*> to command_table ages ago.
...
Now its time we used it! command_table::iterator is far neater than nspace::hash_map<std::string,command_t*>::iterator
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6907 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-07 18:51:47 +00:00
brain
26095e43d9
Proper fix for clients that send a nickprefix on their commands (the rfc says they shouldnt but also says that the ircd should discard it if they do)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6881 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-04 20:11:52 +00:00
brain
0ff8bc01c2
Don't send SYNTAX to clients which havent registered fully yet. Nothing says we cant but its a bit 'odd' and may break something
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6795 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-14 23:39:41 +00:00
brain
f9110f02e7
We had to roll our own time function because some craqsmoker thought having a carriage return on the end of ctime and asctime was a great idea, and the only other solution is to fanny around with
...
strftime.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6749 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-06 19:18:08 +00:00
brain
821a5bca88
Fix for bug #199 (Feature request) submitted by owine. Ended up adding an extra parameter to <uline> for this.
...
It turned into a biggie :P
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6742 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-05 23:53:01 +00:00
brain
5870145ac2
This needs some general QA-ing. Add support to new parser (introduced in 1.1) for empty final params (just the colon)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6731 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-02 22:11:14 +00:00
brain
ddb970dd67
1) Fix for nickname overruled with new cullList stuff -- we have to change their nick, its not safe to quit them as it messes up the nick hash.
...
2) Add a mute flag for users, so we can drop commands from users who have been placed on the cullList. This is independent of the actual cullList and can be
used as a general mute flag e.g. by shun modules.
3) Fix /kill to also not quit the user immediately, remove need for CMD_USER_DELETED return anywhere in the code.
*** THIS NEEDS TESTING BY QA ***
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6596 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-19 08:38:26 +00:00
brain
44d4833d86
Remove some debug here, cuts down boot output
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6364 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-17 17:58:24 +00:00
brain
2d8fb5d579
Change the format of some debug
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6354 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-15 23:04:50 +00:00
brain
9206364b1c
Tidyup
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6103 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-24 18:38:29 +00:00
brain
74c8913f72
Hash rehashing change
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6080 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 23:06:37 +00:00
brain
f5f71bdfef
Cut down on debug on restart
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6073 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 15:04:14 +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
brain
0632c7946c
When receiving an FJOIN, if we have no local users, dont send deops, this just contributes to pointless server noise
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6028 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-17 02:18:03 +00:00
w00t
1552f3918a
Jesus, look who's the commit whore today. More header updates, and removal of namespacing.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 21:45:30 +00:00
brain
f4be97d195
(1) make command reloads be announced to opers
...
(2) change loadmodule and unloadmodule to say WHO did it, like with /reload
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5885 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-07 23:14:23 +00:00
brain
2ade6284f9
Change this a LOT.
...
<oper blah.... hash="md5|sha256" pass="blah...">
It will now only check pass if you put the hash= in, people have been bugging for this for a while.
note the m_oper_hash module will try and detect both m_sha256 and m_md5 now, and will provide /mkpasswd that can do either.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5862 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-05 19:36:26 +00:00
peavey
c36a1534cf
fix small typo (also doubles as test commit)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5685 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-11 13:18:23 +00:00
brain
e4694e4675
Oops, add special-case for user killing themselves (their userrec is gone when the function returns)
...
Also put checks in LoopCall to check that the user didnt vanish half way through the comma seperated list, if they did, abort at that element of the list.
This means if your nick is 'a' and you do "/kill b,c,a,f,g die" only you, b and c will be removed from irc. (this is to be expected, really)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5684 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-11 12:15:11 +00:00
brain
506137fa75
Whoops, make targets case insensitive when cutting down a comma seperated list
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5656 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-05 14:06:10 +00:00
brain
8d57be001c
Smart voodoo to weed out duplicates in a comma seperated list for LoopCall. voooodooo!
...
Thanks for the suggestion of using std::map, w00tie :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5647 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-04 20:35:30 +00:00
brain
6a582ef38e
Fix comma-seperated list handling by CommandParser::LoopCall, should fix /amsg etc.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5644 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-04 16:54:43 +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
677c569364
Remove some debug
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5602 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31 17:50:26 +00:00
brain
24dfb05a86
Mini security audit
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5333 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-25 21:58:32 +00:00
brain
3a7dd5b129
Add const std::string &original_command to OnPreCommand and OnPostCommand, 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
2006-09-17 14:01:53 +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
c06d4197af
Special check in cmd_quit and cmd_kill and special return value 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
2006-09-13 20:07:19 +00:00
brain
afd808e442
Stop gcc prerelease (PRERELEASE? YEAH REALLY, WE HATE YOUR GUTS DEBIAN) from bitching about using ++ within an expression
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5197 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-10 15:11:49 +00:00
brain
c95593578c
Remove debug output
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5190 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-09 17:43:36 +00:00
brain
19b34cde73
I'll give you ##TOAST, :p
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5189 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-09 17:42:56 +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
71ad308979
All commands now return results CMD_FAILURE or CMD_SUCCESS
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5150 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-06 17:58: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
1c4abcfda1
Remove the shared object pointer from the hash after each reload
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5121 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-03 00:48:12 +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
d54fd9b1e6
Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include lists
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-30 09:03:03 +00:00
brain
6050df73f4
Just to mess with om's head, remove helperfuncs.h from everywhere
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 23:31:13 +00:00
brain
cfb2c2fff4
CamelCaseRocksSoMuchICamelCasedAllTheMethodsOfClassInspIRCdSoThatItAllLooksNeat.
...
NowSomebodyHasToSpendHoursDocumentingAllOfThisIWonderWhoThatWillEndUpBeing...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4889 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 16:14:44 +00:00
brain
7775a195d9
Move remaining functions:
...
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
2006-08-11 15:14:39 +00:00
brain
e84bf9f3ec
Change to using Instance->Log (InspIRCd::Log) rather than log() macro
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4880 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 12:26:07 +00:00
brain
76ebc88ccd
extern time_t TIME -> InspIRCd::Time()
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4873 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 09:23:46 +00:00
brain
66098d307c
(Bigger than it looks, i did this with perl inplace edit) -- commands now 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
2006-08-11 00:15:07 +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