170 Commits

Author SHA1 Message Date
brain
94db28f9b3 Add 'dest' parameter to OnWhoisLine, contains the user being whois'ed (we need this for +H and probably the stuff w00t is doing too)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5573 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-28 18:41:34 +00:00
brain
034f74a23b Add support for OnWhoisLine, which allows modules to change or drop any line of whois before its sent to a user
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5570 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-28 18:12:45 +00:00
brain
3552971818 Needs more testing but seems to work: In DoBackgroundUserStuff(), calculate the time value of when we actually do need enter the function body again, and dont run function body again till that time
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5568 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-28 17:19:55 +00:00
w00t
cae372d1eb Remove deprecated -nolimit and -notraceback options
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5338 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-26 17:04:39 +00:00
brain
b9e99da4da Snomask support cometh! and it leave a sticky white mess all over the floor :(
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5062 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-29 18:26:55 +00:00
brain
104cf9cbee Note: connect() cant time out for inspsockets in this commit. They'll sit in memory forever -- if you want something actually working properly wait for the next commit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5040 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-28 13:01:19 +00:00
brain
8cd26c0ff3 Make it virtual, in case someone ever wants to make a derived version of it
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4986 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-19 00:51:13 +00:00
brain
e3b9387237 Extra comments about how the FileLogger class schedules its own write events if all the data is not written
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4985 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-19 00:50:11 +00:00
brain
2ed8e1820f Make DELETE inline so its about as fast as the define it replaced
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4975 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 23:27:24 +00:00
brain
c2bc7f1636 Change #define DELETE to a template
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4974 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 23:13:14 +00:00
brain
65e33571de Change comment
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4973 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 22:55:08 +00:00
brain
5adcab2223 NONBLOCKING LOGGER!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4971 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 22:01:26 +00:00
brain
d546725cb6 Move lowermap[] into a pre-initialised const array in hashcomp.h,
get rid of InspIRCd::MakeLowertab()


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4951 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 15:59:23 +00:00
brain
e381b06561 EventHandler class, an abstraction for raw i/o
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 01:08:14 +00:00
brain
48291aaee5 This commit is dedicated to Boo ;-pppppp
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4911 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-12 17:36:08 +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
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
3f6d53996f Just about enough docs to rebuild the docs page now
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4896 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 20:16:22 +00:00
brain
be8d814737 Documented all of the functions in a basic manner here. More detail to follow
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4892 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 18:41:32 +00:00
brain
420e1c25d2 More comments
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4891 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 18:22:20 +00:00
brain
15f58df9fd Tons of comments
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4890 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 17:01:35 +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
187c9208f1 Fix FOREACH_MOD macros
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4881 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 12:28:57 +00:00
brain
d174657167 Now two types of log macro, log() and ilog(). log() assumes an InspIRCd object called ServerInstance, ilog() takes an InspIRCd object as first param.
TODO: Run a regexp over these, using perl, to translate them into InspIRCd::Log calls and then eliminate the macro :)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4879 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 12:15:03 +00:00
brain
312d49abb0 Move all of the xline stuff into class XLineManager, make an instance of it in class InspIRCd and use it
(eliminates another extern)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4878 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 11:06:40 +00:00
brain
fe66a14a06 Move ReadBuffer into InspIRCd class
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4877 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 10:40:48 +00:00
brain
a5833e654d Move whowas into InspIRCd
Tidy up lowermap extern (for now, we cant do much but have this as extern)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4876 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 09:50:16 +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
55e2180b4a Committing this as a rollback point - does not compile
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4860 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 23:36:53 +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
brain
24b1fbeec8 Move all_opers into class InspIRCd
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4857 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 21:39:57 +00:00
brain
d02a5866d4 Mass-tidyup of module global vars, theyre no longer global vars.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4856 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 21:19:19 +00:00
brain
23a4885701 Move tons more stuff into class InspIRCd*, make signal handler functions static members
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4855 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 20:27:51 +00:00
brain
78dc981302 Move AllModulesReportReady into a private method of class InspIRCd
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4851 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 18:58:21 +00:00
brain
fd2eb26472 Move IsNick, IsIdent into class InspIRCd, update modules that use it.
Change message.h to just a #warning saying its deprecated, and remove all use of it from the core :)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4847 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 18:04:19 +00:00
brain
afa1ec0e95 PublishFeature, FindFeature, FindModule, PriorityBefore, PriorityAfter -> InspIRCd::
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4846 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 17:37:25 +00:00
brain
396c9ef9f7 FindNick, FindChan, ChanModes, UserList, CountInvisible, PurgeEmptyChannels, GetClass, WriteOpers, GetServerDescription -> into classes
ServerConfig takes InspIRCd pointer in its constructor


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4832 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 14:43:29 +00:00
brain
ad3c37e38c Relocate timer stuff into TimerManager class
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4827 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 00:02:31 +00:00
brain
2591562ada Move tons more stuff into class InspIRCd
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4819 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 17:52:10 +00:00
brain
1cbf29e3cd Move clientlist and chanlist into InspIRCd*
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4818 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 16:35:24 +00:00
brain
89749a7440 Move fd_ref_table into class InspIRCd*
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4817 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 15:36:51 +00:00
brain
ab46b96db4 Move socket_ref and module_sockets vectors/arrays into InspIRCd*. These are public members, which InspSocket can modify.
(eventually, this will be marshalled safely through some accessors). When constructing an InspSocket you must now provide
an InspIRCd* instance to 'attach' the socket to.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4812 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 14:53:19 +00:00
brain
54546ce8b8 do_log -> static void InspIRCd::Log() (with vararg and std::string variants)
The #define for this still exists, but maybe should be phased out?


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4809 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 13:19:41 +00:00
brain
09afa50856 ServerConfig extern moved into class InspIRCd
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4808 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 11:33:10 +00:00
brain
6c657e45fd Add -notraceback startup option, disables automatic backtrace facility so that you can do it yourself with a coredump and gdb (auto backtrace doesnt dump cores)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4751 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06 21:55:01 +00:00
brain
4d941f1b7a Move more stuff into class DNS
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4651 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 19:59:06 +00:00
brain
69ae63ecd2 Change stats recv/send to double, so they can hold truly massive numbers of transferred bytes (they would overflow after about 6 weeks on a busy net otherwise)
Fix some warnings


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4450 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-19 15:03:26 +00:00
brain
250c92805c Change counters to unsigned long to prevent overflow to negative counts
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4449 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-19 14:56:47 +00:00
brain
62b550f653 Inherit tons of stuff from classbase that should always have been
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4298 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 18:54:25 +00:00