1533 Commits

Author SHA1 Message Date
w00t
84083a73e8 Implement <options:prefixpart|suffixpart|fixedpart>
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8690 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10 11:47:15 +00:00
w00t
6f84254ed6 Add OnExpireLine(XLine *) hook, will be used in xline db stuff to avoid getting a fucked up vector
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8676 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09 12:20:21 +00:00
w00t
38cc4dda4d Hopefully correct implementation of OnRawMode.. can someone pls check this for me tomorrow.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8654 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06 21:25:38 +00:00
w00t
413074b771 OnRawMode event makes a return: This was removed post 1.0 because it was incredibly slow with the previous hooking mechanism. It should be okay now that module hooks aren't O(n).. Just the header and virtual atm, no implementation in the parser.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8653 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06 21:04:56 +00:00
w00t
e7f33ba189 Permanent channels, currently conflicts with blockcaps (+P) and is untested
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8650 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06 14:43:42 +00:00
w00t
488cea15e8 Move CreateChannel to a constructor instead
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8647 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06 02:36:05 +00:00
w00t
d2fea45d5a Move channel creation to a seperate Channel::CreateChannel (y'know, perhaps this might go into a constructor sometime) in preperation for permanent channels
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8646 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06 02:24:26 +00:00
w00t
c244f3ecd5 Forward declaration isn't required here
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8645 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06 02:01:34 +00:00
w00t
c110833e67 Add overridden constructor with specified time in seconds for bancache entry to last (we'll probably want to use this for xlines etc)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8644 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06 01:50:34 +00:00
w00t
01d7b8e246 Add bancache expiry stuff, currently records expire 60 seconds after creation. Live, we will want perhaps an hour before expiry.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8640 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06 01:15:58 +00:00
w00t
ef8c1e5e65 Fix a bug (snotices repeating constantly), and add a flush timer (1x5 seconds)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8639 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-05 16:57:42 +00:00
w00t
d138843fe0 Fix snomask stacking, still needs to flush all snomasks on a timer to avoid messages getting too stacked up..
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8638 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-05 16:06:21 +00:00
w00t
1c774ea51f Snomask stacking: not yet working (crashes), and not quite finished
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8637 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-05 15:54:37 +00:00
w00t
4fe35b6ead Remove non-portable code and replace with a debug call
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8632 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-04 20:34:25 +00:00
w00t
66e41aba0f Format the header a little better, add some stuff preparing for snomask compression. Nothing concrete yet..
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8628 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-04 14:49:40 +00:00
w00t
2264343714 Remove some stuff that isn't needed from here.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8625 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-04 13:43:40 +00:00
w00t
ce5bee9a3e Patch turning Config->sid from size_t to char **. This also undoes the total fuckery that occurs when someone tries to specify <server:id>. Automatic generation is not yet tested.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8619 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-03 13:04:10 +00:00
w00t
f5c3e3782b Add param 'opername' to event OnPostOper. This will help make a (slightly nicer) version of dz's patch to allow modes in <oper>
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8615 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-02 22:58:47 +00:00
w00t
94fd751561 Remove an unneeded forward declaration and typedef
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8612 e03df62e-2008-0410-955e-edbf42e46eb7
2007-12-30 13:49:43 +00:00
brain
380852d1a7 First part of stuff for remote includes (this doesnt work yet)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8601 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-18 10:25:12 +00:00
w00t
8bc8dc92e4 Add another BanCache stub. I'm not writing it yet as the storage of entries has not yet been finalised.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8595 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-15 15:59:05 +00:00
brain
5252b3095f Currently crashes with multiple layers of include. don't use this yet
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8589 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 23:09:09 +00:00
brain
60a6385be4 Provide a facility for modules to flag a config file completed
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8576 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 19:34:06 +00:00
brain
6408757295 More stuff incoming
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8575 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 19:24:30 +00:00
brain
621f93b72f More stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8574 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 19:21:19 +00:00
brain
a004ad524f Report failure to load configs
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8571 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 18:57:22 +00:00
brain
1a0357cc2c Add a counter for errored files
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8570 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 18:45:50 +00:00
brain
461e4aef03 More stuff for this. Its starting to take shape a bit now, and is tidier than the craq i came up with before
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8567 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 18:11:42 +00:00
brain
05e88fcd54 Begin rethink on this. Warning, this WILL break your ircd if youre using trunk!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8566 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 17:53:57 +00:00
brain
5e1f2c1728 In prep for remote includes, configuration reading is now two-pass.
Note that theres an important part missing from here, there can be a NON-BLOCKING delay between the start of pass 2 and the files being available for download.
At this point, ServerConfig::Read() should probably return an ENOTREADY or such at which point it gets monitored for ready state. The socket engine is ready at this point
so we can poll the socket engine for it. In the case of startup, the socket engine blocks in a private loop, its no good booting the ircd till we have a complete config!


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8565 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 17:01:00 +00:00
brain
7eebbe7da1 Implement roadmap item: "userrec::HasPermission -> map of maps, for (even faster) access"
This is not a map of maps, but a single level map per oper, in non-opers this member is NULL.
Please note that this is not yet tested.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8564 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 15:44:43 +00:00
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
91a3d1324b Rehash method added which frees unused memory from the hash_map. Has a delete-safe iterator. see comments.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8542 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-05 19:52:16 +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
w00t
880ae2dab1 Integrate K/Gline into the bancache system by making some modifications to DefaultApply method. This means any type of XLine that uses DefaultApply can hook into the bancache system and add positive hits quickly and easily with no modification, which is neat.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8538 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 23:04:47 +00:00
brain
198cc96a62 And whoops, typo
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8534 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 22:16:30 +00:00
brain
6fa2633311 Fix these to use new hook system (u_listmode wasnt fixed yet)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8533 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 22:15:46 +00:00
brain
71b7b578bd Get rid of global_implementation[] and implement_lists[] from here
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8532 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 22:07:36 +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
12b9855339 Honking huge commit. Removal of DELETE() template that never worked right anyway
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8527 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 21:24:40 +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