summaryrefslogtreecommitdiff
path: root/src/configreader.cpp
AgeCommit message (Collapse)Author
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
2008-10-15Modify $copy macros in comments, fixes bug #617brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10643 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-20Remove the old TODO commentbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10570 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-14Be more verbose in ValidateNotEmpty on failure. Patch by CyberbotX.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10544 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-09-06Make ThreadEngine::Mutex() protected too, make the user use Lock() and Unlock()brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10418 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-08-06fix compile errors under debug profile in windows.brain
fix some warnings too. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10108 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-29Remove last vestige of libircdfoo, by changing tag into a single ↵w00t
identifier marking object as requiring compilation into a .o (minor commit) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10076 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-20Fix potential off-by-one on large reads (thanks psychon)w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10048 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-20Fixes to some stuff that writes on memory it shouldn't (thanks psychon).w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10047 e03df62e-2008-0410-955e-edbf42e46eb7