Skip to content

Commit 4e071c3

Browse files
committed
Merge pull request #9 from manish172/magento-1.9
Applied Security patch from Magento: PATCH_SUPEE-5344_CE
2 parents 1e195ab + 5924277 commit 4e071c3

File tree

5 files changed

+40
-10
lines changed

5 files changed

+40
-10
lines changed

app/code/core/Mage/Admin/Model/Observer.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ public function actionPreDispatchAdmin($observer)
4444
{
4545
$session = Mage::getSingleton('admin/session');
4646
/** @var $session Mage_Admin_Model_Session */
47+
48+
/**
49+
* @var $request Mage_Core_Controller_Request_Http
50+
*/
4751
$request = Mage::app()->getRequest();
4852
$user = $session->getUser();
4953

@@ -58,7 +62,7 @@ public function actionPreDispatchAdmin($observer)
5862
if (in_array($requestedActionName, $openActions)) {
5963
$request->setDispatched(true);
6064
} else {
61-
if($user) {
65+
if ($user) {
6266
$user->reload();
6367
}
6468
if (!$user || !$user->getId()) {
@@ -69,13 +73,14 @@ public function actionPreDispatchAdmin($observer)
6973
$session->login($username, $password, $request);
7074
$request->setPost('login', null);
7175
}
72-
if (!$request->getParam('forwarded')) {
76+
if (!$request->getInternallyForwarded()) {
77+
$request->setInternallyForwarded();
7378
if ($request->getParam('isIframe')) {
7479
$request->setParam('forwarded', true)
7580
->setControllerName('index')
7681
->setActionName('deniedIframe')
7782
->setDispatched(false);
78-
} elseif($request->getParam('isAjax')) {
83+
} elseif ($request->getParam('isAjax')) {
7984
$request->setParam('forwarded', true)
8085
->setControllerName('index')
8186
->setActionName('deniedJson')

app/code/core/Mage/Core/Controller/Request/Http.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,13 @@ class Mage_Core_Controller_Request_Http extends Zend_Controller_Request_Http
7575
*/
7676
protected $_beforeForwardInfo = array();
7777

78+
/**
79+
* Flag for recognizing if request internally forwarded
80+
*
81+
* @var bool
82+
*/
83+
protected $_internallyForwarded = false;
84+
7885
/**
7986
* Returns ORIGINAL_PATH_INFO.
8087
* This value is calculated instead of reading PATH_INFO
@@ -534,4 +541,26 @@ public function isAjax()
534541
}
535542
return false;
536543
}
544+
545+
/**
546+
* Define that request was forwarded internally
547+
*
548+
* @param boolean $flag
549+
* @return Mage_Core_Controller_Request_Http
550+
*/
551+
public function setInternallyForwarded($flag = true)
552+
{
553+
$this->_internallyForwarded = (bool)$flag;
554+
return $this;
555+
}
556+
557+
/**
558+
* Checks if request was forwarded internally
559+
*
560+
* @return bool
561+
*/
562+
public function getInternallyForwarded()
563+
{
564+
return $this->_internallyForwarded;
565+
}
537566
}

app/code/core/Mage/Oauth/controllers/Adminhtml/Oauth/AuthorizeController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class Mage_Oauth_Adminhtml_Oauth_AuthorizeController extends Mage_Adminhtml_Cont
5555
*/
5656
public function preDispatch()
5757
{
58-
$this->getRequest()->setParam('forwarded', true);
58+
Mage::app()->getRequest()->setInternallyForwarded();
5959

6060
// check login data before it set null in Mage_Admin_Model_Observer::actionPreDispatchAdmin
6161
$loginError = $this->_checkLoginIsEmpty();

app/code/core/Mage/XmlConnect/Model/Observer.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ public function actionFrontPreDispatchXmlAdmin($event)
143143
/** @var $request Mage_Core_Controller_Request_Http */
144144
$request = Mage::app()->getRequest();
145145
if (true === $this->_checkAdminController($request, $event->getControllerAction())) {
146-
$request->setParam('forwarded', true)->setDispatched(true);
146+
$request->setInternallyForwarded()->setDispatched(true);
147147
}
148148
}
149149

@@ -160,7 +160,7 @@ public function actionPreDispatchXmlAdmin($event)
160160
if (false === $this->_checkAdminController($request, $event->getControllerAction())
161161
&& !Mage::getSingleton('admin/session')->isLoggedIn()
162162
) {
163-
$request->setParam('forwarded', true)->setRouteName('adminhtml')->setControllerName('connect_user')
163+
$request->setInternallyForwarded()->setRouteName('adminhtml')->setControllerName('connect_user')
164164
->setActionName('loginform')->setDispatched(false);
165165
}
166166
}

lib/Varien/Db/Adapter/Pdo/Mysql.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2834,10 +2834,6 @@ public function prepareSqlCondition($fieldName, $condition)
28342834

28352835
$query = '';
28362836
if (is_array($condition)) {
2837-
if (isset($condition['field_expr'])) {
2838-
$fieldName = str_replace('#?', $this->quoteIdentifier($fieldName), $condition['field_expr']);
2839-
unset($condition['field_expr']);
2840-
}
28412837
$key = key(array_intersect_key($condition, $conditionKeyMap));
28422838

28432839
if (isset($condition['from']) || isset($condition['to'])) {

0 commit comments

Comments
 (0)