Fixes Docker installation failures on non-root servers by properly handling complex shell commands with pipes and operators. Previously, the sudo parser would insert sudo throughout command chains, breaking pipe structures like 'curl URL | sh || curl URL2 | sh'. The fix detects complex piped commands (containing '| sh', '| bash', or pipes combined with && or || operators) and wraps them in 'sudo bash -c' instead of inserting sudo mid-command. This preserves the command structure and prevents syntax errors. Changes: - Detect complex piped commands in parseCommandsByLineForSudo - Wrap complex commands in 'sudo bash -c' with proper quote escaping - Preserve original behavior for simple commands - Add 27 comprehensive unit tests covering all scenarios Fixes #7116 |
||
|---|---|---|
| .. | ||
| api.php | ||
| applications.php | ||
| constants.php | ||
| databases.php | ||
| docker.php | ||
| domains.php | ||
| github.php | ||
| notifications.php | ||
| parsers.php | ||
| proxy.php | ||
| remoteProcess.php | ||
| services.php | ||
| shared.php | ||
| socialite.php | ||
| subscriptions.php | ||
| sudo.php | ||
| timezone.php | ||