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