summaryrefslogtreecommitdiff
path: root/src/configreader.cpp
AgeCommit message (Collapse)Author
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
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-17Combine IP+port in a failed port list, show (the more helpful) error string ↵w00t
so the user can have some idea of what actually went wrong.. why we forced people to strace is beyond me.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10030 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-14Lots, lots more numerics.h conversionw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10014 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-13More conversion, and a note to client coders.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10011 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-07-12Add .example suffix to namew00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9973 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12Copy new conf location and seperate modules.conf on installw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9972 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-18Add the rest of the stuff for named pipe comms, including feedback ↵brain
information, and fix a bug in configreader that made it load the core commands every rehash git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9913 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-15Define PATH_MAX if its not already definedbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9907 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-12Remove PATH_MAX because some retard removed itbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9895 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-12Now builds ok on gcc 4.3, not tested fully. Also UGLY, oh we hate you GCC, ↵brain
why couldnt you just use TR1 from the start??? git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9894 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-08Dont announce successful rehash if bail is set to true (e.g. we're booting)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9876 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-08More useful error reporting that give closer line numbers, so long as you ↵brain
can read them :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9869 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-08Config reader strictness: check for escape sequences (\" etc) outside of a ↵brain
quoted section and deny it git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9868 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-08Make checks more strictbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9867 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-08Bitch when we find stray characters outside of a tag, this will track down a ↵brain
lot of config errors that arent noticed till the end of the file at present git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9866 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-08Allow 0-9 in tag/key names, and special check for > and \nbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9865 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-08Check in tag names toobrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9864 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-06-06m_abbreviation completed. :)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9845 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