Magento 1.7.2 SECURITY SITE ERROR Via SSH

Following the instructions word for word ...

Please upload the patch into your Magento root directory and run the appropriate SSH command: For patch files with the file extension .sh: sh patch_file_name.sh Example: sh PATCH_SUPEE-1868_CE_1.7.0.2_v1.sh 

I downloaded the patch file PATCH_SUPEE-2518_CE_1.5.1.0-1.7.0.2_v1.sh

In the root directory of magento (public_html /) and get this error on execution.

 root@atlas [/home/public_html/]# sh PATCH_SUPEE-2518_CE_1.5.1.0-1.7.0.2_v1.sh : command not found_1.5.1.0-1.7.0.2_v1.sh: line 7: 'ATCH_SUPEE-2518_CE_1.5.1.0-1.7.0.2_v1.sh: line 9: syntax error near unexpected token `{ 'ATCH_SUPEE-2518_CE_1.5.1.0-1.7.0.2_v1.sh: line 9: `_check_installed_tools() { 

Line 9 in .sh file fixed

 _check_installed_tools() { local missed="" until [ -z "$1" ]; do type -t $1 >/dev/null 2>/dev/null if (( $? != 0 )); then missed="$missed $1" fi shift done echo $missed 

I do not see an error in this file or do not understand what causes the failure. Does anyone else have this problem or do you know anything about this?

The contents of the entire .sh file

 #!/bin/bash # Patch apllying tool template # v0.1.2 # (c) Copyright 2013. Magento Inc. # # DO NOT CHANGE ANY LINE IN THIS FILE. # 1. Check required system tools _check_installed_tools() { local missed="" until [ -z "$1" ]; do type -t $1 >/dev/null 2>/dev/null if (( $? != 0 )); then missed="$missed $1" fi shift done echo $missed } REQUIRED_UTILS='sed patch' MISSED_REQUIRED_TOOLS=`_check_installed_tools $REQUIRED_UTILS` if (( `echo $MISSED_REQUIRED_TOOLS | wc -w` > 0 )); then echo -e "Error! Some required system tools, that are utilized in this sh script, are not installed:\nTool(s) \"$MISSED_REQUIRED_TOOLS\" is(are) missed, please install it(them)." exit 1 fi # 2. Determine bin path for system tools CAT_BIN=`which cat` PATCH_BIN=`which patch` SED_BIN=`which sed` PWD_BIN=`which pwd` BASENAME_BIN=`which basename` BASE_NAME=`$BASENAME_BIN "$0"` # 3. Help menu if [ "$1" = "-?" -o "$1" = "-h" -o "$1" = "--help" ] then $CAT_BIN << EOFH Usage: sh $BASE_NAME [--help] [-R|--revert] [--list] Apply embedded patch. -R, --revert Revert previously applied embedded patch --list Show list of applied patches --help Show this help message EOFH exit 0 fi # 4. Get "revert" flag and "list applied patches" flag REVERT_FLAG= SHOW_APPLIED_LIST=0 if [ "$1" = "-R" -o "$1" = "--revert" ] then REVERT_FLAG=-R fi if [ "$1" = "--list" ] then SHOW_APPLIED_LIST=1 fi # 5. File pathes CURRENT_DIR=`$PWD_BIN`/ APP_ETC_DIR=`echo "$CURRENT_DIR""app/etc/"` APPLIED_PATCHES_LIST_FILE=`echo "$APP_ETC_DIR""applied.patches.list"` # 6. Show applied patches list if requested if [ "$SHOW_APPLIED_LIST" -eq 1 ] ; then echo -e "Applied/reverted patches list:" if [ -e "$APPLIED_PATCHES_LIST_FILE" ] then if [ ! -r "$APPLIED_PATCHES_LIST_FILE" ] then echo "ERROR: \"$APPLIED_PATCHES_LIST_FILE\" must be readable so applied patches list can be shown." exit 1 else $SED_BIN -n "/SUP-\|SUPEE-/p" $APPLIED_PATCHES_LIST_FILE fi else echo "<empty>" fi exit 0 fi # 7. Check applied patches track file and its directory _check_files() { if [ ! -e "$APP_ETC_DIR" ] then echo "ERROR: \"$APP_ETC_DIR\" must exist for proper tool work." exit 1 fi if [ ! -w "$APP_ETC_DIR" ] then echo "ERROR: \"$APP_ETC_DIR\" must be writeable for proper tool work." exit 1 fi if [ -e "$APPLIED_PATCHES_LIST_FILE" ] then if [ ! -w "$APPLIED_PATCHES_LIST_FILE" ] then echo "ERROR: \"$APPLIED_PATCHES_LIST_FILE\" must be writeable for proper tool work." exit 1 fi fi } _check_files # 8. Apply/revert patch # Note: there is no need to check files permissions for files to be patched. # "patch" tool will not modify any file if there is not enough permissions for all files to be modified. # Get start points for additional information and patch data SKIP_LINES=$((`$SED_BIN -n "/^__PATCHFILE_FOLLOWS__$/=" "$CURRENT_DIR""$BASE_NAME"` + 1)) ADDITIONAL_INFO_LINE=$(($SKIP_LINES - 3))p _apply_revert_patch() { DRY_RUN_FLAG= if [ "$1" = "dry-run" ] then DRY_RUN_FLAG=" --dry-run" echo "Checking if patch can be applied/reverted successfully..." fi PATCH_APPLY_REVERT_RESULT=`$SED_BIN -e '1,/^__PATCHFILE_FOLLOWS__$/d' "$CURRENT_DIR""$BASE_NAME" | $PATCH_BIN $DRY_RUN_FLAG $REVERT_FLAG -p0` PATCH_APPLY_REVERT_STATUS=$? if [ $PATCH_APPLY_REVERT_STATUS -eq 1 ] ; then echo -e "ERROR: Patch can't be applied/reverted successfully.\n\n$PATCH_APPLY_REVERT_RESULT" exit 1 fi if [ $PATCH_APPLY_REVERT_STATUS -eq 2 ] ; then echo -e "ERROR: Patch can't be applied/reverted successfully." exit 2 fi } REVERTED_PATCH_MARK= if [ -n "$REVERT_FLAG" ] then REVERTED_PATCH_MARK=" | REVERTED" fi _apply_revert_patch dry-run _apply_revert_patch # 9. Track patch applying result echo "Patch was applied/reverted successfully." ADDITIONAL_INFO=`$SED_BIN -n ""$ADDITIONAL_INFO_LINE"" "$CURRENT_DIR""$BASE_NAME"` APPLIED_REVERTED_ON_DATE=`date -u +"%F %T UTC"` APPLIED_REVERTED_PATCH_INFO=`echo -n "$APPLIED_REVERTED_ON_DATE"" | ""$ADDITIONAL_INFO""$REVERTED_PATCH_MARK"` echo -e "$APPLIED_REVERTED_PATCH_INFO\n$PATCH_APPLY_REVERT_RESULT\n\n" >> "$APPLIED_PATCHES_LIST_FILE" exit 0 SUPEE-2518 | CE_1.7.0.2 | v1 | e6f2d2354843b1ca69988a44de1761ce180e746c | Thu Nov 21 12:44:53 2013 +0200 | v1.7.0.2..SUPEE-2518 __PATCHFILE_FOLLOWS__ diff --git app/code/core/Mage/Cms/Helper/Wysiwyg/Images.php app/code/core/Mage/Cms/Helper/Wysiwyg/Images.php index 9e8d6be..b106d09 100644 --- app/code/core/Mage/Cms/Helper/Wysiwyg/Images.php +++ app/code/core/Mage/Cms/Helper/Wysiwyg/Images.php @@ -197,11 +197,11 @@ class Mage_Cms_Helper_Wysiwyg_Images extends Mage_Core_Helper_Abstract public function getCurrentPath() { if (!$this->_currentPath) { - $currentPath = $this->getStorageRoot(); - $path = $this->_getRequest()->getParam($this->getTreeNodeName()); - if ($path) { - $path = $this->convertIdToPath($path); - if (is_dir($path)) { + $currentPath = realpath($this->getStorageRoot()); + $node = $this->_getRequest()->getParam($this->getTreeNodeName()); + if ($node) { + $path = realpath($this->convertIdToPath($node)); + if (is_dir($path) && false !== stripos($path, $currentPath)) { $currentPath = $path; } } 
+6
ssh magento patch
source share
6 answers

Try creating a new text file, for example, mypatch.patch and copy the diff from the patch to it

 diff --git app/code/core/Mage/Cms/Helper/Wysiwyg/Images.php app/code/core/Mage/Cms/Helper/Wysiwyg/Images.php index 9e8d6be..b106d09 100644 --- app/code/core/Mage/Cms/Helper/Wysiwyg/Images.php +++ app/code/core/Mage/Cms/Helper/Wysiwyg/Images.php @@ -197,11 +197,11 @@ class Mage_Cms_Helper_Wysiwyg_Images extends Mage_Core_Helper_Abstract public function getCurrentPath() { if (!$this->_currentPath) { - $currentPath = $this->getStorageRoot(); - $path = $this->_getRequest()->getParam($this->getTreeNodeName()); - if ($path) { - $path = $this->convertIdToPath($path); - if (is_dir($path)) { + $currentPath = realpath($this->getStorageRoot()); + $node = $this->_getRequest()->getParam($this->getTreeNodeName()); + if ($node) { + $path = realpath($this->convertIdToPath($node)); + if (is_dir($path) && false !== stripos($path, $currentPath)) { $currentPath = $path; } } 

Then copy it to the root of your store and do:

 patch -p0 < mypatch.patch 

OR there may be an attempt to change

 _check_installed_tools() { 

to

 function _check_installed_tools { 

in the script base

+1
source share

I came across the same error:

 root@www01:/www/sites/REDACTED/files/html# sh PATCH_SUPEE-2518_EE_1.10.1.0-1.13.0.2_v1.sh : not found-2518_EE_1.10.1.0-1.13.0.2_v1.sh: 7: : not found-2518_EE_1.10.1.0-1.13.0.2_v1.sh: 11: PATCH_SUPEE-2518_EE_1.10.1.0-1.13.0.2_v1.sh: 168: Syntax error: "(" unexpected (expecting "then") 

When I checked this in vim, I saw that it was encoded in DOS. Ran dos2unix on it and the patch is installed successfully:

 root@www01:/www/sites/REDACTED/files/html# dos2unix PATCH_SUPEE-2518_EE_1.10.1.0-1.13.0.2_v1.sh dos2unix: converting file PATCH_SUPEE-2518_EE_1.10.1.0-1.13.0.2_v1.sh to UNIX format ... root@www01:/www/sites/REDACTED/files/html# bash PATCH_SUPEE-2518_EE_1.10.1.0-1.13.0.2_v1.sh Checking if patch can be applied/reverted successfully... Patch was applied/reverted successfully. 
+6
source share

I encountered the same error. I installed it by installing Patch. Oddly enough, I came to this topic for answers and tried them all except the @hadis suggestion. I misinterpreted his decision trying to run "yum patch_name.sh"

In the end, I looked at the file, and after that its solution was pretty obvious. After installing the "Patch", run the script again and voila! :)

 yum install patch sh PATCH_SUPEE-1868_CE_1.7.0.2_v1.sh 
+4
source share

you must install the patch try this: yum install patch

0
source share

I found that this error occurs when a patch file (not a patch) has line endings that do not match the system on which it is running.

eg:

  • You are working on linux
  • Patch file has Windows line endings

Then you need to check that the patch file also has line endings for the system on which it is running

See also Magento 1.7.1 Hunk # 1 Bug Fix

0
source share

Go to the patch site to download magento. When you click the download button on the magento website, it will open a new website with a patch code. right click on it and select view source code (with chrome)

view-source: http://www.magentocommerce.com/index.php/getmagento/ce_patches/PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh

then right-click again and save the file, for example. PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh. Finally, move the file to the root directory of the magento installation and try applying the patch again. It works for me.

-one
source share

All Articles