From 14b36eab884ec539a651f298290406ded5b6cabe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81s=20Montan=CC=83ez?= Date: Wed, 24 Oct 2012 19:52:29 -0200 Subject: [PATCH] Escape " from remote commands. --- Mage/Task/BuiltIn/Deployment/Release.php | 2 +- Mage/Task/BuiltIn/Deployment/Rsync.php | 2 +- Mage/Task/BuiltIn/Releases/Rollback.php | 2 +- Mage/Task/TaskAbstract.php | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Mage/Task/BuiltIn/Deployment/Release.php b/Mage/Task/BuiltIn/Deployment/Release.php index 4339093..d3b9489 100644 --- a/Mage/Task/BuiltIn/Deployment/Release.php +++ b/Mage/Task/BuiltIn/Deployment/Release.php @@ -22,7 +22,7 @@ class Mage_Task_BuiltIn_Deployment_Release // Fetch the user and group from base directory $userGroup = '33:33'; - $resultFetch = $this->_runRemoteCommand('ls -ld . | awk \'{print \$3\":\"\$4}\'', $userGroup); + $resultFetch = $this->_runRemoteCommand('ls -ld . | awk \'{print \$3":"\$4}\'', $userGroup); // Remove symlink if exists; create new symlink and change owners $command = 'rm -f ' . $symlink diff --git a/Mage/Task/BuiltIn/Deployment/Rsync.php b/Mage/Task/BuiltIn/Deployment/Rsync.php index 810ad1c..e1c5336 100644 --- a/Mage/Task/BuiltIn/Deployment/Rsync.php +++ b/Mage/Task/BuiltIn/Deployment/Rsync.php @@ -22,7 +22,7 @@ class Mage_Task_BuiltIn_Deployment_Rsync if ($overrideRelease == true) { $releaseToOverride = false; - $resultFetch = $this->_runRemoteCommand('ls -ld current | cut -d\"/\" -f2', $releaseToOverride); + $resultFetch = $this->_runRemoteCommand('ls -ld current | cut -d"/" -f2', $releaseToOverride); if (is_numeric($releaseToOverride)) { $this->getConfig()->setReleaseId($releaseToOverride); } diff --git a/Mage/Task/BuiltIn/Releases/Rollback.php b/Mage/Task/BuiltIn/Releases/Rollback.php index e739788..97161dc 100644 --- a/Mage/Task/BuiltIn/Releases/Rollback.php +++ b/Mage/Task/BuiltIn/Releases/Rollback.php @@ -98,7 +98,7 @@ class Mage_Task_BuiltIn_Releases_Rollback Mage_Console::output('Running Rollback Release [id=' . $releaseId . '] ... ', 2, false); $userGroup = ''; - $resultFetch = $this->_runRemoteCommand('ls -ld ' . $rollbackTo . ' | awk \'{print \$3\":\"\$4}\'', $userGroup); + $resultFetch = $this->_runRemoteCommand('ls -ld ' . $rollbackTo . ' | awk \'{print \$3":"\$4}\'', $userGroup); $command = 'rm -f ' . $symlink . ' && ' . 'ln -sf ' . $rollbackTo . ' ' . $symlink diff --git a/Mage/Task/TaskAbstract.php b/Mage/Task/TaskAbstract.php index 442d1c1..695290e 100644 --- a/Mage/Task/TaskAbstract.php +++ b/Mage/Task/TaskAbstract.php @@ -74,7 +74,7 @@ abstract class Mage_Task_TaskAbstract . '-q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ' . $this->_config->deployment('user') . '@' . $this->_config->getHostName() . ' ' . '"cd ' . rtrim($this->_config->deployment('to'), '/') . $releasesDirectory . ' && ' - . $command . '"'; + . str_replace('"', '\"', $command) . '"'; return $this->_runLocalCommand($localCommand, $output); }