Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 53017 invoked from network); 23 Mar 2010 22:34:37 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 23 Mar 2010 22:34:37 -0000 Received: (qmail 14980 invoked by uid 500); 23 Mar 2010 22:34:36 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 14934 invoked by uid 500); 23 Mar 2010 22:34:36 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 14926 invoked by uid 99); 23 Mar 2010 22:34:36 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Mar 2010 22:34:36 +0000 X-ASF-Spam-Status: No, hits=0.7 required=10.0 tests=RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [64.202.165.182] (HELO smtpauth02.prod.mesa1.secureserver.net) (64.202.165.182) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 23 Mar 2010 22:34:26 +0000 Received: (qmail 11479 invoked from network); 23 Mar 2010 22:34:04 -0000 Received: from unknown (76.252.112.72) by smtpauth02.prod.mesa1.secureserver.net (64.202.165.182) with ESMTP; 23 Mar 2010 22:34:04 -0000 Message-ID: <4BA941C4.1090709@rowe-clan.net> Date: Tue, 23 Mar 2010 17:33:40 -0500 From: "William A. Rowe Jr." User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.8) Gecko/20100227 Lightning/1.0b1 Thunderbird/3.0.3 MIME-Version: 1.0 To: dev@httpd.apache.org Subject: Re: svn commit: r925858 - in /httpd/httpd/branches/2.2.x: CHANGES STATUS docs/manual/mod/core.xml server/config.c References: <20100321183700.384C4238897A@eris.apache.org> <4BA678F4.9090009@rowe-clan.net> <4BA67E10.8010201@rowe-clan.net> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org On 3/23/2010 5:10 PM, Graham Leggett wrote: > On 21 Mar 2010, at 10:14 PM, William A. Rowe Jr. wrote: > >> No-match of a wildcard must result in an error. If you are arguing >> that httpd >> should allow the admin to create conf/vhosts/*, only populated if they >> are created, >> then I'll counter that would be fine, just populate >> conf/vhosts/empty.conf with no >> lines, the error would go away, and supporting no-matches is never >> necessary. > > In the wild I see that pattern all the time, a configuration directory > containing some equivalent of empty.conf, to work around this > limitation. Without this empty.conf file, you run the opposite risk - > someone removing the last config file from a directory, and the server > suddenly stops working without warning. Whoa. There is a warning. ./apachectl yells, ./apachectl -t yells, even bootup service logs yell (Starting httpd... [FAILED] or similar). That is not a description of 'without warning'. Without warning means things start up, without their config changes, and zero hint why their config changes are not taking effect. They are given no reason to suspect that their miskeyed Include ... pattern is not working. Explain to me where the warning is for missing configuration files in the current backport? [Yes, accepting it was never there for conf/host-*.conf style patterns, not accepting this was a good thing.] So there is an opposite risk, one which clearly identifies the line number and config file which has a newly introduced flaw. I won't accept that the last file magically 'disappearing' is an acceptable thing to permit, if something has disappeared I then expect httpd to alert!!! > In our case, web applications > are packaged as RPMs, so it's entirely possible for a directory to > become empty without warning when an RPM is uninstalled. and that is entirely correct because, I would presume, that config template is of the package that consumed the empty directory, e.g. some binaries, modules or other scripts that depended on the config in such a tree. Right? RPM must have a some 'hands of' mechanism to deposit a file for good, no? You wouldn't remove such a directory (along with its 'empty' file?) if you mean for it to go away? And if an installer has gone and mucked with a config file, it aught to be un-mucking that config on the way out the door. Essentially, you are asking for this feature to make one case, package installers, work in a brainless fashion; I'm pointing out you can't be hacking httpd in such a way to cripple the feature present for those who are using httpd with a brain (or half-brained, where they've introduced a typo into their path name). > As a result, enforcing no-match == fail doesn't buy you anything at all. What? Yes, it buys confirmation that a file was processed when httpd is explicitly told to process a file. > I don't have strong opinions either way, the empty.conf directorie in > our case are already present, so changing this isn't too much of a > problem - I just need to get some sleep first. If you believe the feature is necessary, introduce a NEW unambiguous feature instead of overloading. E.g. "IncludeOptional /optional/include" for allowing the include to fail.