summaryrefslogtreecommitdiff
path: root/include/configreader.h
AgeCommit message (Collapse)Author
2009-10-18Remove VF_SERVICEPROVIDER, prevent heap allocation of ConfigReaderdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11904 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17CoreExport ConfigTag, fixes unresolved symbols when linking on windows.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11894 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17Add filename/line information to all ConfigTag objectsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11886 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17Rewrite ConfigReader againdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11879 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-16Clean up static allocationsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11878 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-13Change to new execution directory structuredanieldg
Don't change CWD into bin/ Remove path-resolution hacks from configuration Store pidfile and xline DBs in data, logs in logs. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11866 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-12m_exemptchanops by jackmcbarn - channel mode +X to allow per-channel settingdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11855 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-03Get rid of a bunch of memory-wasting C-style stringsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11796 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26Remove InspIRCd* parameters and fieldsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-24Move configuration filename specification to start script, to reduce ↵danieldg
hardcoded paths in executable git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11759 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Prevent <include:executable> from running <include:executable> itself ↵danieldg
[jackmcbarn] git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11710 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Remove strnewdup(), it is a good source of possible memory leaksdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11622 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Remove unneeded Extensible inheritance and remove "age" field from classbasedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11611 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-12Fixes for config readerdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11504 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-01Various rehash fixes that it seems were introduced by untested code.w00t
- 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
2009-07-01Fix error reporting on rehashdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11425 e03df62e-2008-0410-955e-edbf42e46eb7
2009-07-01Make rehash generate a new ServerInstance->Config objectdanieldg
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
2009-07-01Move list of open ports out of Config objectdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11423 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-25Remove the ServerConfig::DirValid check that breaks symlinksdanieldg
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
2009-05-24OnRehash changes: split to multiple hooks to clarify use and prevent ↵danieldg
explosion of rehashes on a /REHASH * git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11388 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-17Fix memory leak on rehash: opertype used char* instead of std::stringdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11309 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-15Update all wiki links to point to the new wiki. This was done automatically ↵psychon
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
2009-02-14Nuke trailing spacespeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-13Add security:genericoper as requested by Strawberry and TwinShadow.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11098 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02Update copyrights for 2009.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2008-11-01Obsolete m_restrictbanned, add <security:restrictbannedusers>, default on.. ↵w00t
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-10-23Patch from dz to fix bug 622 (config errors build up from /rehash to ↵w00t
/rehash), thanks! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10690 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-20Implement <security:runasuser> and <security:runasgroup> - allows for ↵w00t
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-18Working privs implementation, and example usage in NOTICE for mass messaging.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10662 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-21Fix some comment which was left over from before the conversion from User* ↵psychon
to UID git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10574 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-20Fix a rather nasty race condition revealed by my reading through the ↵brain
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-20more commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10566 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-08Make OnAcceptReady pure virtual, rename ListenSocket to ListenSocketBase, ↵w00t
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-07Start moving IO hooking from being bufferedsocket based to residing in ↵w00t
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-08-27Add <disabled:fakenonexistant> - ircd will pretend that a disabled command ↵w00t
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-07Implement <options:invitebypassmodes>, optionally circumvent +blk if invited ↵w00t
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-07-19Change modes in channels and users to use std::bitset instead of an array. ↵w00t
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-18Implement <disabled:usermodes> and <disabled:chanmodes>.aquanight
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10032 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12Add <cidr> block, and documentation in example config.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9980 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-08Check for invalid characters in keys, will catch config errors earlier and ↵brain
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-05-26Dont increment maxmodes at finalisation, it isnt used in the same waybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9810 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-25All the limits were one less than specified in the config, so now we ↵brain
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-25Add parsing of <limits> tag and finish documenting it, make all the values ↵brain
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-25First phase of conversion to dynamic limits on all the lengths, configured ↵brain
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-20A few minor fixes, some copy constructor stuff, misnamed channelmanager ↵brain
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-13Check for windows drive letters on the start of paths and treat them the ↵brain
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-04-15See configreader.cpp line 764 to see how to declare deprecated items. This ↵brain
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-11(untested) don't move newconfig to ServerConfig::config_data until its been ↵brain
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-11Remove 'default log' and <options:loglevel> (wtf?)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9460 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24A load of classes dont inherit from classbase, and they should. fix.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9191 e03df62e-2008-0410-955e-edbf42e46eb7