291 Commits

Author SHA1 Message Date
brain
7336f449eb Fix crashes from badly written safeiters
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8563 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 12:41:03 +00:00
brain
ba79ba9fc1 Make iterators safe in FOREACH_MOD etc macros, so that ModuleManager::Detach() wont screw up the iterator
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8562 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 01:29:50 +00:00
brain
abc959a04d m_spy no longer implements SPYNAMES, instead it overrides normal NAMES on the event that: (1) you are an oper and (2) you are not actually ON the channel.
This way it will not break m_auditorium, m_delayjoin etc, however it will work properly with mircs annoying assumptions in its channel list


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8555 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-10 16:19:46 +00:00
brain
b94c45340e Roadmap item "Fix jointhrottle to not try 'throttle' clients during a netmerge (requires changing join event to be aware of netmerge?)" -- 1.2 only
requires an extra parameter to OnUserJoin, bool sync. usually false, but FJOIN code during burst sets it to true.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8552 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-09 21:51:48 +00:00
brain
477681996b Why the hell the includes are half way down the damn file in modules.h is beyond me. lets fix this.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8541 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 23:33:40 +00:00
brain
a3b4110d51 Instead of a vector of vectors, use an array of vectors as in the original spec on Development/Hooking.
This is faster, as only the inner list resizes, and this avoids calls to std::vector::operator[]


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8531 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 21:57:27 +00:00
brain
38d5fd9b40 Comments
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8526 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 21:19:29 +00:00
brain
ad9715ffd1 MODERR tidyups
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8524 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 21:07:54 +00:00
brain
d2858a7fef Remove some now redundant if (!empty) checks in FOREACH_MOD
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8520 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 20:10:20 +00:00
brain
d6a3643a4b Remove no longer required typedef
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8517 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 19:52:41 +00:00
brain
43d2d6ec89 Comment all the new stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8516 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 19:49:36 +00:00
brain
e1efa862f3 Not yet tested: remove last vestiges of modules[] and module_names[] arrays.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8514 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 19:28:22 +00:00
brain
7fe5347210 Remove our vectors of Module*/ircd_module*, replace with a map of std::pair<ircd_module*, Module*>
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8513 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 19:12:55 +00:00
brain
9b131bef32 More craq
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8507 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 16:50:50 +00:00
brain
02ce802257 Bring back Prioritize (needs to occur after module load) with a different declaration
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8499 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 16:23:06 +00:00
brain
2facf72164 Next part of Development/Hooking (see wiki)
Module::Prioritize and Module::Implements are now GONE.
ModuleManager::MoveTo, MoveBefore, MoveAfter, MoveFirst, MoveLast are GONE too.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8498 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 15:39:06 +00:00
brain
bf44023d11 Development/Hooking in full swing now: WARNING, this will break ALL modules for the time being until complete!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8497 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 15:29:49 +00:00
brain
c0abad9948 Add EventHandlers structure for Development/Hooking
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8496 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 15:06:21 +00:00
brain
b3f562c11d Forward decl
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8441 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 19:37:07 +00:00
brain
6fb9ea5765 Remove all the OnAddGLine, OnAddWhateverLine replace with one simple OnAddLine and a OnDelLine which is passed User* (person adding or NULL if its the server) and the XLine
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8440 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 19:36:38 +00:00
brain
a796450b8c Whoops, must be const
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8378 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-26 20:53:37 +00:00
brain
efa0823927 Add new event for this with gauranteed delivery of message BEFORE the text is sent out
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8376 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-26 20:48:58 +00:00
w00t
2b68243097 InspSocket -> BufferedSocket. Paves the way for a SimpleSocket class which ident etc will use.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8206 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 21:04:32 +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
brain
e545adc628 Shut up, valgrind
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8163 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-13 22:09:46 +00:00
brain
44898de87e Fix for bug #415, affects only trunk (wish i'd known this before i started!)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8079 e03df62e-2008-0410-955e-edbf42e46eb7
2007-09-25 00:45:12 +00:00
special
68dc3792ee Renamed the needs_unsigned parameter of ConfigReader::ReadInteger to need_positive to better reflect what it does
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8025 e03df62e-2008-0410-955e-edbf42e46eb7
2007-09-12 11:06:36 +00:00
om
c311f11493 A few more minor cleanups
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7986 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-29 09:45:20 +00:00
om
8394be69a0 Move everything module-related out of InspIRCd and into ModuleManager, there is a ModuleManager instantiated as InspIRCd::Modules. Several of the function names have changed slightly as well. e.g. Instance->FindModule(m_foobar.so); is now Instance->Modules->Find(m_foobar.so);
All modules in the core distribution should also be updated in line with these changes.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7985 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28 23:32:41 +00:00
om
b37ec974ee First step on the road of module loader rewriting. So far this only really removes module factories. Any modules not updated to use MODULE_INIT() yet will now fail to compile \o/
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7971 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28 18:47:55 +00:00
w00t
ca2a909147 Bump ABI version and protocol version. Note that this really means 1.1 and 1.2 are diverged now, and won't link/load modules of each other. This is in preperation for me (possibly) messing with UID in trunk.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7844 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-26 21:59:41 +00:00
w00t
56b89baf23 Fix spelling mistakes on some log messages
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7666 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-05 18:04:52 +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
f0235432d1 This should fix the rest of remote kill nick hiding
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7432 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-10 17:59:07 +00:00
brain
ad2829e7c4 More comments
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7381 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-17 19:18:17 +00:00
brain
84472069ba Module factory and init function in modules turned into a neat macro:
INIT_MODULE(MyModuleClassName);
Get cracking, w00t :)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7341 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-17 13:04:25 +00:00
pippijn
67e055124d Some general syntax cleanups.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7304 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-14 17:22:37 +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
w00t
5dbf63c2a3 Rather largeish change to class checking on connect to fix a few minor bits and bobs here and there
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7029 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-15 16:40:37 +00:00
brain
bfcaef8623 Refactor port binding, warning not yet tested fully
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6982 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-11 18:38:00 +00:00
brain
276bbd193e Add m_taxonomy and api minor tweak to make it work, enable some modules for it.
I have higher aims for this module, namely a neat fix for feature request in bug #285


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6967 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-10 20:53:31 +00:00
brain
6dadb43799 Add <auditorium showops> which determines if auditorium works like ircnet +a (anonymous channels) or like unrealircd +u.
The old behaviour is similar to anonymous channels, only showing the current user.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6875 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-04 16:23:40 +00:00
brain
3759fe0ba2 Where others charge, we give for free. Have fun and use wisely. With great power comes great responsbility.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6867 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-04 14:30:08 +00:00
brain
3ec7995bf4 DO NOT USE THIS COMMIT - if you do, most of the modules wont work.
DEVS: Please fix all modules that have warnings to use the new parameters to OnUserJoin, OnUserPart and OnUserKick (bool &silent)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6858 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-03 21:57:58 +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
6dccb65074 Add macros IS_OPER() and IS_AWAY()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6720 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-31 20:45:45 +00:00
brain
38ca8be9a3 Add third parameter to OnUserQuit (quit reason for opers only) - bump api version
Add SetOperQuit and GetOperQuit methods to userrec
Add OPERQUIT command to protocol - bump protocol version
All this is to properly allow hidebans etc to work properly


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6675 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-15 17:37:25 +00:00
brain
d46fc56ef0 Document OnBufferFlushed
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6660 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-11 16:23:58 +00:00
brain
52214a3195 Added OnBufferFlush, improved m_safelist, no longer works on a timer but works on the writeability state of each user who is listing.
Seems to test fine with 500 reet bots all listing at once. (doesnt lock up the ircd while listing them all any more, either, just lags a small amount)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6657 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-11 15:53:34 +00:00