summaryrefslogtreecommitdiff
path: root/include/configreader.h
Commit message (Collapse)AuthorAgeFilesLines
* Fixes for config readerGravatar danieldg2009-08-121-229/+186
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11504 e03df62e-2008-0410-955e-edbf42e46eb7
* Various rehash fixes that it seems were introduced by untested code.Gravatar w00t2009-08-011-4/+0
| | | | | | | | | - Remove unused ReportConfigError member - Don't report successful load (and spam modules that failed to load) if there is a config error - Restore server name before attempting to send error string to client(s) otherwise most of them won't recieve the notifications. Fixes bug #891. Still to come: report errors loudly on startup regardless of debug mode. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11450 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix error reporting on rehashGravatar danieldg2009-07-011-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11425 e03df62e-2008-0410-955e-edbf42e46eb7
* Make rehash generate a new ServerInstance->Config objectGravatar danieldg2009-07-011-40/+32
| | | | | | | This makes it possible to cancel a pending rehash, and fixes possible threading issues with rehash and other events. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11424 e03df62e-2008-0410-955e-edbf42e46eb7
* Move list of open ports out of Config objectGravatar danieldg2009-07-011-4/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11423 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove the ServerConfig::DirValid check that breaks symlinksGravatar danieldg2009-05-251-6/+0
| | | | | | | | This was included as a security check to prevent symlink attacks, but this is no longer useful; anyone who can exploit the attack now can just modify the ircd itself. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11390 e03df62e-2008-0410-955e-edbf42e46eb7
* OnRehash changes: split to multiple hooks to clarify use and prevent ↵Gravatar danieldg2009-05-241-4/+0
| | | | | | explosion of rehashes on a /REHASH * git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11388 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix memory leak on rehash: opertype used char* instead of std::stringGravatar danieldg2009-04-171-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11309 e03df62e-2008-0410-955e-edbf42e46eb7
* Update all wiki links to point to the new wiki. This was done automatically ↵Gravatar psychon2009-03-151-1/+1
| | | | | | | | | with the following command, only .Makefile.inc got some indent fixups by hand. for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7
* Nuke trailing spacesGravatar peavey2009-02-141-17/+13
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
* Add security:genericoper as requested by Strawberry and TwinShadow.Gravatar brain2009-02-131-0/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11098 e03df62e-2008-0410-955e-edbf42e46eb7
* Update copyrights for 2009.Gravatar w00t2009-01-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
* Obsolete m_restrictbanned, add <security:restrictbannedusers>, default on.. ↵Gravatar w00t2008-11-011-0/+5
| | | | | | 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
* Patch from dz to fix bug 622 (config errors build up from /rehash to ↵Gravatar w00t2008-10-231-1/+1
| | | | | | /rehash), thanks! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10690 e03df62e-2008-0410-955e-edbf42e46eb7
* Implement <security:runasuser> and <security:runasgroup> - allows for ↵Gravatar w00t2008-10-201-0/+5
| | | | | | 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
* Working privs implementation, and example usage in NOTICE for mass messaging.Gravatar w00t2008-10-181-3/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10662 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix some comment which was left over from before the conversion from User* ↵Gravatar psychon2008-09-211-3/+3
| | | | | | to UID git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10574 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix a rather nasty race condition revealed by my reading through the ↵Gravatar brain2008-09-201-3/+3
| | | | | | | | | | 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
* more commentsGravatar brain2008-09-201-4/+67
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10566 e03df62e-2008-0410-955e-edbf42e46eb7
* Make OnAcceptReady pure virtual, rename ListenSocket to ListenSocketBase, ↵Gravatar w00t2008-09-081-2/+2
| | | | | | 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
* Start moving IO hooking from being bufferedsocket based to residing in ↵Gravatar w00t2008-09-071-24/+0
| | | | | | 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
* Add <disabled:fakenonexistant> - ircd will pretend that a disabled command ↵Gravatar w00t2008-08-271-0/+4
| | | | | | 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
* Implement <options:invitebypassmodes>, optionally circumvent +blk if invited ↵Gravatar w00t2008-08-071-1/+5
| | | | | | 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
* Change modes in channels and users to use std::bitset instead of an array. ↵Gravatar w00t2008-07-191-1/+0
| | | | | | 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
* Implement <disabled:usermodes> and <disabled:chanmodes>.Gravatar aquanight2008-07-181-0/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10032 e03df62e-2008-0410-955e-edbf42e46eb7
* Add <cidr> block, and documentation in example config.Gravatar w00t2008-07-121-1/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9980 e03df62e-2008-0410-955e-edbf42e46eb7
* Check for invalid characters in keys, will catch config errors earlier and ↵Gravatar brain2008-06-081-1/+1
| | | | | | 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
* Dont increment maxmodes at finalisation, it isnt used in the same wayGravatar brain2008-05-261-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9810 e03df62e-2008-0410-955e-edbf42e46eb7
* All the limits were one less than specified in the config, so now we ↵Gravatar brain2008-05-251-0/+13
| | | | | | | | | 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
* Add parsing of <limits> tag and finish documenting it, make all the values ↵Gravatar brain2008-05-251-0/+2
| | | | | | 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
* First phase of conversion to dynamic limits on all the lengths, configured ↵Gravatar brain2008-05-251-5/+24
| | | | | | | | | 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
* A few minor fixes, some copy constructor stuff, misnamed channelmanager ↵Gravatar brain2008-05-201-3/+7
| | | | | | constructor, add files to vc8 project, configreader tidyups git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9780 e03df62e-2008-0410-955e-edbf42e46eb7
* Check for windows drive letters on the start of paths and treat them the ↵Gravatar brain2008-05-131-0/+4
| | | | | | 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
* See configreader.cpp line 764 to see how to declare deprecated items. This ↵Gravatar brain2008-04-151-0/+7
| | | | | | 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
* (untested) don't move newconfig to ServerConfig::config_data until its been ↵Gravatar brain2008-04-111-1/+1
| | | | | | 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
* Remove 'default log' and <options:loglevel> (wtf?)Gravatar brain2008-04-111-4/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9460 e03df62e-2008-0410-955e-edbf42e46eb7
* A load of classes dont inherit from classbase, and they should. fix.Gravatar brain2008-03-241-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9191 e03df62e-2008-0410-955e-edbf42e46eb7
* This module uses io hooking too, fix it upGravatar brain2008-03-241-23/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9190 e03df62e-2008-0410-955e-edbf42e46eb7
* Add ability to control what opertypes can set what operonly user/chan modes. ↵Gravatar aquanight2008-03-231-1/+8
| | | | | | 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
* Add fixes to stop people changing the SID of a live server - certain ↵Gravatar brain2008-03-141-2/+3
| | | | | | 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
* Revert configure so that we can uh, actually compile.Gravatar brain2008-02-261-6/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9037 e03df62e-2008-0410-955e-edbf42e46eb7
* More stuffGravatar brain2008-02-241-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9026 e03df62e-2008-0410-955e-edbf42e46eb7
* Rollback complete! Everyone please go through the code and check i havent ↵Gravatar brain2008-02-241-5/+5
| | | | | | forgotten to incorporate your tweaks and changes. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9019 e03df62e-2008-0410-955e-edbf42e46eb7
* Probably doesnt runGravatar brain2008-02-241-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9014 e03df62e-2008-0410-955e-edbf42e46eb7
* More test suite stuffGravatar brain2008-02-211-0/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8976 e03df62e-2008-0410-955e-edbf42e46eb7
* Commit patch from danieldg that makes a ton of stuff const-safe for latest ↵Gravatar brain2008-02-131-9/+7
| | | | | | warn-happy trigger-happy gcc4 (thanks) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8922 e03df62e-2008-0410-955e-edbf42e46eb7
* Back out the AllowDevoiceSelf stuff, it wasn't going to work anyway. ↵Gravatar w00t2008-02-021-4/+0
| | | | | | Accidental commit. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8796 e03df62e-2008-0410-955e-edbf42e46eb7
* Cache User::GetIPString()Gravatar w00t2008-02-021-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8795 e03df62e-2008-0410-955e-edbf42e46eb7
* Change API OnOperCompare to OnPassCompare, password hashing is now available ↵Gravatar aquanight2008-01-271-3/+7
| | | | | | 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
* Remove InspIRCd::WriteOpers in favour of snomask OGravatar w00t2008-01-171-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8728 e03df62e-2008-0410-955e-edbf42e46eb7