No compatibility issues but fixing two annoying safe-mode limitations? 
Go ahead :-)

 - Stig

Arcady Genkin wrote:
> 
> This refers to bug 18843 ( http://bugs.php.net/bug.php?id=13843 )
> 
> I'm willing to give a shot at coding the fix for this bug, provided
> that the proposed resolutions (below) are approved by somebody with
> cvs commit powers.  Otherwise, let's discuss how to fix it some other
> way.  Right now magic behavior of exec() and friends under safe mode
> is not even documented anywhere (at least not under "Safe Mode" or
> individual sections for each of the functions), and is the cause of
> really unreasonable limitations.
> 
> Problem 1:
> ----------
> Under safe mode PHP programmer has no mechanism of passing command-line
> parameters that contain spaces to programs with exec() et al.
> 
> Proposed Resolution:
> --------------------
> 
> Allow an array to be passed as the first argument of exec() and
> friends, with the following semantics:
> 
> o If the first argument is a string, the functions' semantics
>   is the same as it is now.  This way the new interface is 100%
>   backward-compatible.
> 
> o If the first argument is an array, we assume that:
>   - the first element of the array is the command to be executed,
>   - and all other elements are command-line parameters
>   - if PHP is in safe mode, quote each parameter separately
> 
> This way the command line and the parameters can be quoted properly
> under safe mode, and still allow blanks in parameters.
> 
> Problem 2:
> ----------
> Under safe mode a programmer has no mechanism to do include "2>&1" in
> the command line with exec() et all.
> 
> Proposed resolution:
> --------------------
> 
> Given the interface improvement as explained above, if the
> _last element_ of the array passed as the first parameter of exec() is
> a token "2>&1", treat it as a special case and _don't_ magically
> escape it under safe mode.
> 
> Many thanks,
> --
> Arcady Genkin
> 
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to