2170 Commits

Author SHA1 Message Date
Daniel De Graaf
6bc49e9ec5 Introduce ModeID 2010-08-03 17:31:49 -04:00
danieldg
c2ec183ffe Kill m_spy, which was replaced by channels/auspex in 1.2 but kept alive for nostalgia
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12497 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-19 02:50:29 +00:00
danieldg
8cb1935360 Allow SASL messages to be targeted at the services server
<sasl target="services.example.net"> will avoid broadcasting all
authentication messages across the network, which improves security.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12494 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-18 21:23:00 +00:00
danieldg
394414b7eb Defer module init on initial load for easier dependency checking
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12477 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-16 20:32:43 +00:00
danieldg
55808216a8 Show opers the raw VERSION string, not the custom one
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12470 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-15 23:02:34 +00:00
danieldg
4498f1abd1 m_dnsbl updates
Prevent user registration until dnsbl lookups are complete
Allow DNSBLs to be checked using <connect:dnsbl> (MARK type)

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12454 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-14 00:31:44 +00:00
danieldg
69e28c67dd Remove possible references to deleted User objects due to DNS lookups
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12445 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-12 22:30:27 +00:00
danieldg
5ed94d9627 Fix conversion warnings on g++ 3.4
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12443 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-12 19:50:23 +00:00
danieldg
f5d5cee19a Floating-point math should have no place in an ircd
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12442 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-12 17:06:45 +00:00
danieldg
db2a4c2c15 Change SERVICE_{CMODE,UMODE} to SERVICE_MODE, which makes more sense
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12430 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-11 04:09:22 +00:00
danieldg
9ed56e9e02 Why are we wasting space on DieValue?
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12418 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-10 01:48:43 +00:00
danieldg
aab7998583 Add random number generation functions to InspIRCd class.
Default implementation uses libc random(), which can be better than rand().
If gnutls is loaded, gcrypt will be used to provide random numbers.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12404 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-09 02:22:27 +00:00
danieldg
f2256deeef Executable include for MOTD and more
This introduces an <execfiles> tag that reads files from the output of
a command, in the same way as executable includes. The files specified
here can also be used anywhere a file is used (opermotd, randquote, etc)

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12354 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-02 16:47:25 +00:00
danieldg
8e34d66ef3 Add OnSetConnectClass hook for use in adding requirements to connect classes (such as requiressl)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12352 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-02 15:02:33 +00:00
danieldg
23e62cef07 Add parameters to OnSendWhoLine hook, fixes "/who * o" returning opers with +H
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12345 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-01 01:31:40 +00:00
danieldg
7fdd55570e Update connect block matching on rehash to prefer names, show more useful information in /STATS i
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12337 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-31 19:54:18 +00:00
danieldg
1cda046fed Allow connect classes to be specified without an allow or deny mask
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12336 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-31 03:42:20 +00:00
danieldg
dfc2301e0b Remove UpdateNickHash due to incorrect behavior
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12331 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-30 18:56:39 +00:00
danieldg
ab8305ad99 Move nick change code out of cmd_nick; fixes double-invocation of hooks and may eliminate bug #911
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12330 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-30 18:40:51 +00:00
danieldg
96e4434f90 Remove MaxWhoResults, replace with an increase of Penalty based on result list size
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12325 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-29 00:08:45 +00:00
danieldg
2b3d8e3d18 Fix empty FMODE being sent if SendMode mode changes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12323 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-28 20:16:31 +00:00
danieldg
d29ca254a4 Remove unneeded save of errno
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12309 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-21 20:47:02 +00:00
danieldg
3cda2e0971 Fix some command registration warnings
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12305 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-19 15:16:41 +00:00
danieldg
aeded4708c Fix MOTD and RULES to work remotely (remove the old hacks for MOTD)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12301 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-19 04:43:19 +00:00
danieldg
dce58b1611 Move lots of spanningtree items to commands
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12296 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-18 23:49:23 +00:00
danieldg
7e46119759 Remove excessive gettimeofday system calls
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12293 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-18 19:36:41 +00:00
danieldg
9ee588b23f PreCommand/PostCommand are local-only hooks
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12291 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-18 17:35:55 +00:00
danieldg
343ab3f06d Fix for incorrect template application by GCC 3.4
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12285 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-17 19:51:12 +00:00
danieldg
4b6bdeccb5 Add Module::init() for correct exception handling during hook registration
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12278 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-17 16:00:14 +00:00
danieldg
e8c617b774 Fix signdedness error in LoopCall
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12268 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-16 19:45:16 +00:00
danieldg
ac002a195d Verify cloak keys match during CAPAB negotiation
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12258 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-14 18:22:39 +00:00
danieldg
601d67fd5f Move revision information from Version object to a static symbol
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12256 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-14 18:17:08 +00:00
danieldg
7866c42d8f Allow maxtargets to be bypassed in LoopCall for JOIN
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12255 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-14 15:23:24 +00:00
brain
cd712c40e1 ...because every now and again, i have to do a massive commit.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-11 03:07:32 +00:00
danieldg
3cd1a24a51 Remove mode counter, not reliable and only used for umode +i
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12246 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-09 17:48:40 +00:00
danieldg
dd2ace5916 Disallow adding prefix-mode when it is already set (fixes bug #935)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12245 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-09 17:29:28 +00:00
danieldg
54fb0cd5aa Use ServiceProvider for inter-module dependencies
This will stop dependency chains from preventing module reloads when
it is not actually needed; however, it removes some failsafes that will
need to be reimplemented in order to avoid unmapped vtables.

This deprecates Request as an inter-module signaling mechanism, although
SQL still uses it.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12140 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-16 17:59:06 +00:00
danieldg
fb3964d5c0 Add Inspircd::AddServices
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12135 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-15 18:26:53 +00:00
danieldg
8ab1381e8d Add ParamChannelModeHandler
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12134 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-15 18:26:44 +00:00
danieldg
d3747f2943 Add ModeHandler* versions of channel mode access
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12133 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-15 18:26:35 +00:00
danieldg
df37ab42f4 Hide channel mode structures
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12132 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-15 18:26:25 +00:00
danieldg
800f02e759 Get rid of socklen_t parameter to Bind, we are using C++ here and can do it other ways
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12129 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-13 20:23:11 +00:00
danieldg
0f87ad0d4b Add fine-grained command flood controls
This reintrouces "Excess Flood" quits for those that prefer it to fakelag,
and allows the maximum command rate to be set in the connect block.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12093 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-11 19:52:03 +00:00
danieldg
a95d82e524 Get rid of DieDelay, it just freezes the ircd prior to exit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12084 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-11 00:26:05 +00:00
danieldg
19487dbebc Allow static build of inspircd without module support
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12083 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-11 00:17:07 +00:00
danieldg
eaace5ed7c Remove Extensible parent from EventHandler
This also fixes SSL certificate support when m_sslinfo is not loaded

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12048 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-06 22:37:52 +00:00
danieldg
a26502ff51 Move StreamSocket inheritance off of User
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12047 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-06 22:37:36 +00:00
danieldg
9566b0bb15 Match USERINPUT/USEROUTPUT identifiers
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12004 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-03 22:45:50 +00:00
danieldg
17cc3b8490 Create m_halfop
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11997 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-03 17:12:36 +00:00
danieldg
80df092fa3 Remove AllowHalfop item from server config
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11996 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-03 17:12:25 +00:00