summaryrefslogtreecommitdiff
path: root/src/configreader.cpp
AgeCommit message (Collapse)Author
2009-10-03Fix crash due to null address in DNSdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11797 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-30Add explicit reference-counting base classdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11785 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26Flexible SendQdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11766 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-13Clarify <include:executable> error messagedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11718 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-06Compile fixdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11685 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-06Fix rehash unloading core commandsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11684 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-03Remove HandleInternal and HandleServer, they are duplicated by Request* and ↵danieldg
FakeUser git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11672 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-08-20Fix access-after-free on rehashdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11534 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-12Make rehash work more than once per run, and fix some uninitialized values ↵danieldg
in connect classes git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11505 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-05Don't catch and rethrow, as with the mutexing here removed it's no longer ↵w00t
required. Thanks Special for noticing. This rethrow was also not best-practice, 'throw;' is the recommended C++ way to rethrow an exception. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11496 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-05How about we abort if there were errors, not if there weren't any? Great idea...danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11494 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-05Fix config errors being detected even if there were nonedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11493 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-04Exit if there were errors reading configuration on startup.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11486 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-01Show config warnings/errors regardless of loglevel on startup.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11451 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-31Rehash message fixes from Ankit, thanksdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11447 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-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-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-04-16Convert snomask 'A' into snomask 'a' for local announcements, add snomask ↵w00t
'A' for remote announcements. Make SAMODE send a snotice to 'a' and remote to 'A' - fixes bug #822, reported by Taros We really need a wrapper to use these, but, for now it's usable. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11304 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-23ConfigReaderThread updates: add done flag, remove main-thread-only mutexdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11256 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-23ThreadEngine: remove excessive mutex use on thread creationdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11249 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-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-02-11Remove/Add cmode h according to <option:allowhalfop>. Fixes bug #715 ↵peavey
reported by Strawberry. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11081 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-12-04install .gdbargs to $(BASE) in make installbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10843 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-01Rip flood/threshold out of config classes also.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10839 e03df62e-2008-0410-955e-edbf42e46eb7
2008-11-22Thread safety fixes to avoid crashes on rehash, dont reopen logs within the ↵brain
rehash thread. Put this in the safe part of the rehash operation, after the thread exits. Put a mutex around the part where the thread exits, just in case somehow there are two rehash threads exiting at the same time due to user muppetry. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10811 e03df62e-2008-0410-955e-edbf42e46eb7
2008-11-02This was never supposed to be invoked on /rehash, only startup.. so move it ↵w00t
to startup only. Also remove (redundant) user arg. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10792 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-25Fix another connect class bug on rehashw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10712 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-25(sort of..) Revert commit 7736e920fe6ccaf9ad1984afc70db19efd4fb8cd - remove ↵w00t
dupe checking on connect classes. Now, we just delete ones with refcount 0 on rehash, and add new ones. Connection can only match a non-disabled class, so most of the braindamage should be gone from here, without causing wild pointer fun.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10701 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-24Fix a plausible memory leak on rehash, thanks dz.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10698 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-22Remove debug logging, problem over..w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10688 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-22Fix MacGyver's rehash woes..w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10687 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-22Bit of debug in case this goes wrong again...w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10686 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-20Remove an extremely noisy piece of debug on startup/rehash - this code ↵w00t
works fine anyway git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10683 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-10-17Don't neglect calling User::CheckClass after SetClass, so that users don't ↵w00t
end up lingering with a NULL class if they shouldn't. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10656 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-17Remove the duplicate checking/disabled setting of <connect> craq, there is a ↵w00t
(better) way to do this, which is to hunt for a new connect class on all users once /rehash happens. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10654 e03df62e-2008-0410-955e-edbf42e46eb7