w00t
43847ec9c7
Update copyrights for 2009.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02 18:16:05 +00:00
w00t
b15038c4c3
Obsolete m_restrictbanned, add <security:restrictbannedusers>, default on.. this is insane to leave off, really, but allow it anyway.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10785 e03df62e-2008-0410-955e-edbf42e46eb7
2008-11-01 23:58:33 +00:00
w00t
2f1b4c7ce3
Patch from dz to fix bug 622 (config errors build up from /rehash to /rehash), thanks!
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10690 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-23 18:07:07 +00:00
w00t
32a619dbea
Implement <security:runasuser> and <security:runasgroup> - allows for set(g|u)id to drop privs after starting, which can be useful for people who want to bind privileged ports without exposing their anus to a giant cucumber.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10682 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-20 22:12:52 +00:00
w00t
0d3ecb9642
Working privs implementation, and example usage in NOTICE for mass messaging.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10662 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-18 16:52:48 +00:00
psychon
073eb3d17f
Fix some comment which was left over from before the conversion from User* to UID
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10574 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-21 09:07:56 +00:00
brain
636a52312b
Fix a rather nasty race condition revealed by my reading through the comments and enhancing them. Back when i did executeable includes, i placed a 'todo' in the code which said something along the lines of:
...
'we cant pass a User* into the config reader any more, because when the config reader thread finishes, that user may be gone and this will crash. Consider using an UID instead so that if the user vanishes, we can
detect this situation.' Of course, nobody ever did this, so i'm doing it now to ensure we dont come up against some particularly ugly race condition crashes!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10569 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-20 21:46:56 +00:00
brain
f67620f774
more comments
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10566 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-20 20:53:04 +00:00
w00t
74f401f199
Make OnAcceptReady pure virtual, rename ListenSocket to ListenSocketBase, create ClientListenSocket and inherit from ListenSocketBase to create User objects.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10469 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-08 16:58:41 +00:00
w00t
61fed23a3e
Start moving IO hooking from being bufferedsocket based to residing in EventHandler, this will pave the way for a generic listener type, and also simplifies a lot of code.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10447 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-07 18:31:21 +00:00
w00t
dfba08638c
Add <disabled:fakenonexistant> - ircd will pretend that a disabled command just doesn't exist (for austnet), document <disabled:usermodes> and <disabled:chanmodes> (bad aquanight.)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10327 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-27 20:19:26 +00:00
w00t
6d64862fb5
Implement <options:invitebypassmodes>, optionally circumvent +blk if invited on join. Based on a patch provided by mixx941, closes bug #589 .
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10120 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-07 16:35:58 +00:00
w00t
a67b9de174
Change modes in channels and users to use std::bitset instead of an array. This saves 56 bytes per channel, and 112 bytes per channel, with no loss in speed or ease of use in code. :). Thanks (VERY) much to Special for telling me about this.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10043 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-19 20:34:14 +00:00
aquanight
58ecf39129
Implement <disabled:usermodes> and <disabled:chanmodes>.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10032 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-18 15:29:58 +00:00
w00t
19916fcab2
Add <cidr> block, and documentation in example config.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9980 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12 13:58:37 +00:00
brain
9095800a17
Check for invalid characters in keys, will catch config errors earlier and closer to the actual error line. Valid values in key names are [A-Za-z_]
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9863 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-08 14:21:21 +00:00
brain
c1c9dfe2bf
Dont increment maxmodes at finalisation, it isnt used in the same way
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9810 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-26 12:17:38 +00:00
brain
f5151d1bbc
All the limits were one less than specified in the config, so now we postincrement them all in configreader, this means we can just use them without all that +1 hackery in the code.
...
This DOES mean that from a protocol perspective the figures look a little odd, but they always did. :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9809 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-25 21:09:04 +00:00
brain
d019781945
Add parsing of <limits> tag and finish documenting it, make all the values match sensibly by starting them all 'max' rather than some starting with it, some ending with it...
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9808 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-25 18:00:55 +00:00
brain
7d7250484c
First phase of conversion to dynamic limits on all the lengths, configured via the <limits> tag
...
(the tag isnt there yet, these all just run on defaults in the class constructor)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9802 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-25 17:30:43 +00:00
brain
2be353eece
A few minor fixes, some copy constructor stuff, misnamed channelmanager constructor, add files to vc8 project, configreader tidyups
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9780 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-20 18:29:15 +00:00
brain
9f33bf7fc8
Check for windows drive letters on the start of paths and treat them the same as paths that start with /, this makes insp more friendly for windows filesystems
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9724 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-13 17:16:26 +00:00
brain
8528562075
See configreader.cpp line 764 to see how to declare deprecated items. This is reasonably well thought out so i see no issue with leaving items here a very long time :)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9507 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-15 01:10:08 +00:00
brain
2a3538cf05
(untested) don't move newconfig to ServerConfig::config_data until its been validated by all the validation funcs in the core config table
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9461 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-11 23:55:10 +00:00
brain
1eae3c2ad4
Remove 'default log' and <options:loglevel> (wtf?)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9460 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-11 23:27:27 +00:00
brain
4f946291b7
A load of classes dont inherit from classbase, and they should. fix.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9191 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24 16:53:34 +00:00
brain
d1b20f9519
This module uses io hooking too, fix it up
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9190 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24 16:24:52 +00:00
aquanight
743c10e4ca
Add ability to control what opertypes can set what operonly user/chan modes. This works the same way as commands, in that modes allowed by classes are added together, and * allows all.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9176 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-23 20:43:35 +00:00
brain
c84ad4cc16
Add fixes to stop people changing the SID of a live server - certain configuration values are silently ignored on rehash, namely the server name and server id.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9073 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-14 15:22:27 +00:00
brain
9ce18436e9
Revert configure so that we can uh, actually compile.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9037 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-26 19:18:26 +00:00
brain
a36fa98300
More stuff
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9026 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-24 18:52:31 +00:00
brain
23fb1f062b
Rollback complete! Everyone please go through the code and check i havent forgotten to incorporate your tweaks and changes.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9019 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-24 15:55:23 +00:00
brain
2dca25b85b
Probably doesnt run
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9014 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-24 14:18:25 +00:00
brain
54b2b600de
More test suite stuff
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8976 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-21 15:59:57 +00:00
brain
bfaf7e3b27
Commit patch from danieldg that makes a ton of stuff const-safe for latest warn-happy trigger-happy gcc4 (thanks)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8922 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-13 18:22:19 +00:00
w00t
27fbecdaa7
Back out the AllowDevoiceSelf stuff, it wasn't going to work anyway. Accidental commit.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8796 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-02 22:58:56 +00:00
w00t
8509727e16
Cache User::GetIPString()
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8795 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-02 22:57:28 +00:00
aquanight
20bea3078d
Change API OnOperCompare to OnPassCompare, password hashing is now available for <connect:allow>, <power die= restart=>, <title> (m_customtitle.so), <vhost> (m_vhost.so), this works the same was as for <oper>: load m_password_hash.so (after all hasher modules, of course), and add hash="md5/sha256/whatever" to the relevant tag. Also fix m_callerid.cpp crashing on unload.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8755 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-27 00:12:11 +00:00
w00t
94afde43b0
Remove InspIRCd::WriteOpers in favour of snomask O
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8728 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-17 13:07:49 +00:00
w00t
e4acbc95b8
Header update: 2007 -> 2008
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10 13:27:07 +00:00
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
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
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
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
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