Joe Orton wrote:
> On Tue, May 29, 2007 at 06:36:07PM -0500, William Rowe wrote:
>> I'm retracting my two proposed choices and going with Option #3 :)  Does
>> anyone object to Jeff's weird proposal below?  I think it's the best of
>> both worlds.
> 
> *Guessing* whether the user wants to use a shell based on some syntactic 
> analysis of the command line sounds awful.  "When I renamed my logrotate 
> command to 'super|logger' why does the server start behaving like 
> <xyz>?"  "Why does my server only start doing <abc> when I use "| cat" 
> in the piped logger command?"
> 
> Having a specific syntax like your "||" proposal to allow users to 
> explicitly avoid a shell is one thing: otherwise, again: why should 
> httpd grow lots of fugly code to work around an APR bug?

Perhaps you missed the bottom line - both || and |$ would be grokked.
No ambiguity, second guessed only for non-explicit cases.  Most folks
don't NEED the shell in the way - but Jeff's patch late in 2.0 added
this as a feature for those who would like to "|logresolve|rotatelogs"
or similar, the edge case.

And this IS NOT strictly an APR bug, it's the waste of one, or thousands
(in the case of a mass vhost) useless shells running on the system.

So I personally like two separate, explicit commands, and the option to
pick the right flavor.

Tell me a platform that any sane admin will include a pipe symbol in the
name of the file.  Win/OS kernels don't allow it.  Unix only tolerates
it when it's escaped.  Your example above is 'super\|logger' maybe.

Three pipe symbols to test, and only on startup.  I don't see the pain?

Reply via email to