SUPEE-10975 Potenziali problemi


16

SUPEE-10975 è stato rilasciato, sarebbe bello sapere se qualcuno si imbatte in problemi durante il tentativo di applicare questo, questo conflitto con la patch più recente che aggiunge il supporto 7.2?

Finora questi sono i file modificati che posso vedere

app/code/core/Mage/Adminhtml/Block/Customer/Group/Edit.php
app/code/core/Mage/Adminhtml/Block/Newsletter/Template/Edit.php
app/code/core/Mage/Adminhtml/controllers/Cms/BlockController.php
app/code/core/Mage/Adminhtml/controllers/Customer/GroupController.php
app/code/core/Mage/Adminhtml/controllers/SitemapController.php
app/code/core/Mage/Adminhtml/controllers/System/BackupController.php
app/code/core/Mage/Captcha/Model/Observer.php
app/code/core/Mage/Captcha/Model/Zend.php
app/code/core/Mage/Captcha/etc/config.xml
app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Admin/V1.php
app/code/core/Mage/Catalog/Model/Product/Attribute/Media/Api.php
app/code/core/Mage/Cms/Model/Wysiwyg/Images/Storage.php
app/code/core/Mage/Core/etc/config.xml
app/code/core/Mage/Core/sql/core_setup/upgrade-1.6.0.7.1.1-1.6.0.7.1.2.php
app/code/core/Mage/Dataflow/Model/Convert/Container/Abstract.php
app/code/core/Mage/ImportExport/Model/Import/Entity/Customer.php
app/code/core/Mage/ImportExport/Model/Import/Entity/Customer/Address.php
app/code/core/Mage/Payment/etc/config.xml
app/code/core/Mage/Payment/etc/system.xml
app/code/core/Mage/Payment/sql/payment_setup/upgrade-1.6.0.0.1.1-1.6.0.0.1.2.php
app/code/core/Mage/Sendfriend/Block/Send.php
app/code/core/Mage/Wishlist/controllers/IndexController.php
app/code/core/Zend/Controller/Request/Http.php
app/design/adminhtml/default/default/template/cms/browser/content/files.phtml
app/design/frontend/base/default/layout/captcha.xml
app/design/frontend/base/default/template/wishlist/sharing.phtml
app/design/frontend/rwd/default/layout/page.xml
app/design/frontend/rwd/default/template/sendfriend/send.phtml
app/etc/modules/Mage_All.xml
app/etc/modules/Mage_Captcha.xml
app/locale/en_US/Mage_Wishlist.csv
js/lib/jquery/jquery-1.12.0.js
js/lib/jquery/jquery-1.12.0.min.js
js/lib/jquery/jquery-1.12.0.min.map
js/lib/jquery/jquery-1.12.1.js
js/lib/jquery/jquery-1.12.1.min.js
js/lib/jquery/jquery-1.12.1.min.map

Qualcuno ha riscontrato problemi con questi cambiamenti?

Risposte:


12

Finora, ho riscontrato i seguenti problemi con la patch SUPEE-10975:

  • Non è più possibile eliminare i gruppi di clienti tramite l'amministratore a causa di Mage_Adminhtml_Block_Customer_Group_Edit::getDeleteUrlun'istruzione di reso mancante nel nuovo metodo (problema riscontrato da @ mikhail-chelevich). Questo è il caso in cui le chiavi segrete sono abilitate per l'amministratore, che è l'impostazione predefinita. Il problema è presente anche in 1.9.4.0. Questo problema è stato risolto dalla patch SUPEE-11043, che non è stata rilasciata ufficialmente, ma è disponibile come GitHub Gist .
  • Il Mage_Sendfriend modulo non può essere disabilitato senza disabilitare anche il Mage_Captchamodulo. In caso contrario, si verifica la seguente eccezione principale: Module "Mage_Captcha" requires module "Mage_Sendfriend".(problema rilevato da @zlep)
  • Le modifiche al sendfriend/send.phtmlmodello che sono state apportate inrwd/default tema non vengono apportate nel base/defaulttema. Ciò significa che per il base/defaulttema CAPTCHA non può essere abilitato e che i nomi e le e-mail dei destinatari precedentemente immessi non vengono visualizzati nella pagina (nel caso tipico di un modulo inoltrato che genera un errore di convalida sul lato server).
  • Il nuovo metodo Mage_Sendfriend_Block_Send::getRecipientsCountintroduce un'incompatibilità di PHP 7.2 perché a countviene eseguito su aNULL valore quando si carica la pagina senza alcun destinatario (che è l'impostazione predefinita al caricamento di una nuova pagina). Questo problema è stato risolto in 1.9.4.0.

Nota che ho controllato la patch solo per 1.9.3.10, ma sospetto che i problemi siano presenti in tutte le versioni della patch.


11

Manca return parent::getDeleteUrl()in app / code / core / Mage / Adminhtml / Block / Customer / Group / Edit.php

+    public function getDeleteUrl()
+    {
+        if (!Mage::getSingleton('adminhtml/url')->useSecretKey()) {
+            return $this->getUrl('*/*/delete', array(
+                $this->_objectId => $this->getRequest()->getParam($this->_objectId),
+                'form_key' => Mage::getSingleton('core/session')->getFormKey()
+            ));
+        } else {
+            parent::getDeleteUrl();
+        }
+    }

Per quale versione di Magento era questo?
danmentzer,

1
Posso confermare questo problema: non è più possibile eliminare i gruppi di clienti tramite l'amministratore. Ciò accade quando le chiavi segrete sono abilitate per l'amministratore, che è l'impostazione predefinita. Questo è presente nella patch SUPEE-10975 e anche in Magento Open Source 1.9.4.0.
Aad Mathijssen,

È stata creata una patch aggiuntiva per risolvere questo SUPEE-11043
Andrew

@andrew Non riesco a trovare nulla su SUPEE-11043. puoi collegare alcune fonti?
Darnok,

1
Quindi la correzione dovrebbe essere sostituita parent::getDeleteUrl();in app / code / core / Mage / Adminhtml / Block / Customer / Group / Edit.php conreturn parent::getDeleteUrl();
René Schep

8

Ho riscontrato un problema con la patch 10975. Dopo alcune indagini sono stato in grado di rintracciare la risposta su dove la patch era incasinata e perché.

Per riassumere il controllo seguente e assicurarsi di aver patchato SUPEE 9767 V2 correttamente. Questa è la radice del mio problema.

sh PATCH_SUPEE-10975_EE_v1.12.0.2_v1-2018-11-27-10-36-30.sh
Checking if patch can be applied/reverted successfully...
ERROR: Patch can't be applied/reverted successfully.

patching file app/code/core/Enterprise/PageCache/Model/Processor.php
Hunk #1 succeeded at 690 (offset -3 lines).
patching file app/code/core/Enterprise/Pci/etc/config.xml
patching file app/code/core/Enterprise/Wishlist/Block/Customer/Sharing.php
patching file app/code/core/Mage/Adminhtml/Block/Customer/Group/Edit.php
patching file app/code/core/Mage/Adminhtml/Block/Newsletter/Template/Edit.php
patching file app/code/core/Mage/Adminhtml/controllers/Cms/BlockController.php
patching file app/code/core/Mage/Adminhtml/controllers/Customer/GroupController.php
patching file app/code/core/Mage/Adminhtml/controllers/SitemapController.php
patching file app/code/core/Mage/Adminhtml/controllers/System/BackupController.php
patching file app/code/core/Mage/Captcha/Model/Observer.php
patching file app/code/core/Mage/Captcha/Model/Zend.php
patching file app/code/core/Mage/Captcha/etc/config.xml
patching file app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Admin/V1.php
patching file app/code/core/Mage/Catalog/Model/Product/Attribute/Media/Api.php
patching file app/code/core/Mage/Cms/Model/Wysiwyg/Images/Storage.php
patching file app/code/core/Mage/Core/etc/config.xml
Hunk #1 FAILED at 28.
1 out of 3 hunks FAILED -- saving rejects to file app/code/core/Mage/Core/etc/config.xml.rej
patching file app/code/core/Mage/Core/sql/core_setup/upgrade-1.6.0.2.1.2-1.6.0.2.1.3.php
patching file app/code/core/Mage/Dataflow/Model/Convert/Container/Abstract.php
patching file app/code/core/Mage/ImportExport/Model/Import/Entity/Customer.php
patching file app/code/core/Mage/ImportExport/Model/Import/Entity/Customer/Address.php
patching file app/code/core/Mage/Payment/etc/config.xml
patching file app/code/core/Mage/Payment/etc/system.xml
patching file app/code/core/Mage/Payment/sql/payment_setup/upgrade-1.6.0.0.1.1-1.6.0.0.1.2.php
patching file app/code/core/Mage/Wishlist/controllers/IndexController.php
patching file app/code/core/Zend/Controller/Request/Http.php
patching file app/design/adminhtml/default/default/template/cms/browser/content/files.phtml
patching file app/design/adminhtml/default/default/template/enterprise/cms/page/preview/revision.phtml
patching file app/design/adminhtml/default/default/template/enterprise/customersegment/report/detail/grid/container.phtml
patching file app/design/adminhtml/default/default/template/enterprise/giftregistry/customer/form.phtml
patching file app/design/adminhtml/default/default/template/enterprise/staging/log/information/merge.phtml
patching file app/design/adminhtml/default/default/template/enterprise/staging/log/information/rollback.phtml
patching file app/design/frontend/base/default/layout/captcha.xml
patching file app/design/frontend/base/default/template/wishlist/sharing.phtml
patching file app/design/frontend/enterprise/iphone/template/downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml
patching file app/etc/modules/Mage_All.xml
patching file app/etc/modules/Mage_Captcha.xml
patching file app/locale/en_US/Enterprise_Wishlist.csv
patching file app/locale/en_US/Mage_Wishlist.csv
patching file js/enterprise/adminhtml/staging.js

Sopra è l'errore che ho colpito che è specifico di questo file.

Mage / core / etc / config.xml

L'errore proviene da questa riga della patch.

diff --git app/code/core/Mage/Core/etc/config.xml app/code/core/Mage/Core/etc/config.xml
index 4aebdcdc2cf..4b28f2765a1 100644
--- app/code/core/Mage/Core/etc/config.xml
+++ app/code/core/Mage/Core/etc/config.xml
@@ -28,7 +28,7 @@
 <config>
     <modules>
         <Mage_Core>
-            <version>1.6.0.2.1.2</version>
+            <version>1.6.0.2.1.3</version>
         </Mage_Core>
     </modules>
     <global>

La versione elencata qui non corrisponde correttamente a causa della patch manuale

SUPEE 9767 v2

Quella patch è arrivata con questa linea che mi mancava durante la patch manuale.

diff --git app/code/core/Mage/Core/etc/config.xml app/code/core/Mage/Core/etc/config.xml
index 4a0ff1b..d0de702 100644
--- app/code/core/Mage/Core/etc/config.xml
+++ app/code/core/Mage/Core/etc/config.xml
@@ -28,7 +28,7 @@
 <config>
     <modules>
         <Mage_Core>
-            <version>1.6.0.2</version>
+            <version>1.6.0.2.1.2</version>
         </Mage_Core>
     </modules>
     <global>

5

In primo luogo, scusate il duplicato della risposta di erej , non posso commentare né modificare a causa del mio punteggio di reputazione.

La patch crea un nuovo file qui: app/code/core/Zend/Controller/Request/Http.php

Che viene aggiunto per sovrascrivere questo file: lib/Zend/Controller/Request/Http.php

Il problema è per Magento sotto 1.9.0.0 (EE 1.14.0.0):

Questo metodo :

/**
 * Everything in REQUEST_URI before PATH_INFO
 * <form action="<?=$baseUrl?>/news/submit" method="POST"/>
 *
 * @return string
 */
public function getBaseUrl($raw = false)
{
    if (null === $this->_baseUrl) {
        $this->setBaseUrl();
    }

    return (($raw == false) ? urldecode($this->_baseUrl) : $this->_baseUrl);
}

Viene sovrascritto nel file Magento Core app/code/core/Mage/Core/Controller/Request/Http.php

public function getBaseUrl()
{
    $url = parent::getBaseUrl();
    $url = str_replace('\\', '/', $url);
    return $url;
}

Che non accetta alcun argomento.

Quindi genera questo severo avviso su qualsiasi sito web url, front & admin:

Strict Notice: Declaration of Mage_Core_Controller_Request_Http::getBaseUrl() should be compatible with Zend_Controller_Request_Http::getBaseUrl($raw = false) in /var/www/htdocs/app/code/core/Mage/Core/Controller/Request/Http.php on line 36

Se qualcuno sa se qualche V2 di quella patch è in arrivo, per favore fatemelo sapere.

In attesa del loro aggiornamento, puoi ridefinire il metodo in app/code/core/Mage/Core/Controller/Request/Http.phpquesto modo:

/**
 * @param bool $raw - Added manually to correct SUPEE-10975 oversight
 *      See /magento/251317/supee-10975-potential-issues
 *      for more information
 *
 * @return mixed|string
 */
public function getBaseUrl($raw = false)
{
    $url = parent::getBaseUrl($raw); // Argument added manually to correct SUPEE-10975 oversight
    $url = str_replace('\\', '/', $url);
    return $url;
}

4

Con la versione 1.8.1.0 dopo aver applicato questa patch abbiamo anche dovuto cambiare la app/code/core/Mage/Core/Controller/Request/Http.php::getBaseUrl()funzione

public function getBaseUrl($raw = false)
{
    $url = parent::getBaseUrl($raw);
    $url = str_replace('\\', '/', $url);
    return $url;
}

perché questa patch aggiunge il app/code/core/Zend/Controller/Request/Http.phpfile e la getBaseUrl()funzione è dichiarata con il parametro $raw = false.


Non dovrebbe essere necessario aggiungere questa funzione. Per impostazione predefinita, non sarà sempre raw, poiché qualsiasi funzionalità che chiama questa funzione non dovrebbe avere $ raw impostato in 1.8.1.
René Schep,

4

Ho un problema con "Hunk # 1 FAILED at 28"

I rifiuti sono presumibilmente salvati in config.xml.rej ma questo file non esiste, né c'è alcuna descrizione di quale parte dello script non è riuscita nella mia finestra del terminale. Fondamentalmente la patch fallisce e non ci sono indicazioni sul perché - almeno non su un cretino come me!

Alla prima esecuzione, la patch ha tentato di eliminare tre file jquery v 1.12.0 che non esistevano, li ho sostituiti e ho applicato nuovamente la patch, ma ora fallisce senza alcuna descrizione utile.

Magento 1.9.0.1 completamente rattoppato a parte l'aggiornamento di compatibilità di PHP 7.2, rimarrà senza patch a meno che io non riesca a risolverlo o qualcuno qui può darmi un indizio (per favore!) Grazie H

PS: non sono sicuro che il mio post contravvenga alle linee guida SE, sto rispondendo alla domanda originale ma sto anche chiedendo aiuto.


1
Ho riscontrato questo problema ed è correlato alla patch 9767 v2 che aggiunge un nuovo numero di versione a Mage / Core / etc / config.xml Dovresti solo aggiungere il numero di versione corrente .1.2 Scriverò anche una risposta anche per questo.
danmentzer,

3

Il Mage_Backupmodulo sarà disabilitato dalla patch.

Questo è menzionato nelle note di rilascio ufficiali ( https://devdocs.magento.com/guides/m1x/ce19-ee114/ce1.9_release-notes.html#ce19-1940 ).

Tuttavia, la soluzione suggerita per riattivarla è errata:

("In alternativa, puoi utilizzare uno di questi due metodi per abilitare i backup del database")

In realtà è necessario utilizzare entrambi i metodi indicati per riattivarlo completamente.


2
Ricorda inoltre che riattivare il modulo Mage_Backup ti apre a: "problemi di esecuzione di codice in remoto (RCE), scripting tra siti (XSS) e contraffazione di richieste tra siti (CSRF)".
René Schep,

2

Possono esserci problemi con la corretta gestione del calcolo fiscale .

Come è consuetudine in molti paesi, i nostri clienti utilizzano i " prezzi IVA inclusa configurazione " di Magento.

Quindi, dopo l'aggiornamento da 1.9.3.10 a 1.9.4.0, l'imposta è stata aggiunta al totale generale alla cassa, in cima ai prezzi degli articoli già comprensivi di tasse.

Ho rintracciato il problema fino a una modifica della configurazione nel file app / code / core / Mage / Sales / etc / config.xml , dove " msrp " è stato aggiunto al nodo sales / quote / totali / shipping / after .

Non ho trovato nulla riguardo a MSRP nelle note di rilascio e spero che si tratti di un cambiamento isolato senza effetti collaterali.

La mia soluzione era di riportare questo nodo al suo valore originale " subtotale, freeshipping, tax_subtotal " senza " msrp ". L'ho fatto nel file etc / config.xml del mio modulo.


1

Problema specifico, ma se hai disabilitato Mage_Sendfriend (che in precedenza era un modulo che potresti disabilitare in modo sicuro) genererà un errore di eccezione.


1
Hanno fatto dipendere Mage_Captcha da Mage_Sendfriend invece che viceversa. Quindi è necessario disattivare anche Mage_Captcha per disabilitare Mage_Sendfriend. Quale potrebbe non essere quello che vuoi perché disabilita tutti i recaptcha predefiniti di Magento
René Schep,

0

Ho provato ad aggiornare da Magento CE 1.9.3.10 a 1.9.4.0 oggi e ho avuto più errori. Fortunatamente non ha incasinato l'installazione. Dopo l'installazione ho ricevuto il temuto - Errore interno del server. Sono stato bloccato e ho dovuto ripristinare tutte le autorizzazioni di file e cartelle tramite SSH insieme alla rimozione di maintenance.flag. Ho quindi reindicizzato e riabilitato la cache. Inoltre ho dovuto ripristinare il mio vecchio file .htaccess nella cartella Root and Download. Non sono sicuro di quale azione correttiva dovrebbe essere per ottenere un'installazione corretta. Ho dimenticato di copiare il testo dalla finestra della riga di comando. Quindi non posso pubblicare tutti gli errori. Quello che ho visto erano messaggi incompatibili.


1
Non credo che il metodo "upgrade" tramite downloader abbia mai funzionato su qualsiasi installazione che sia almeno un po 'modificata. Sono pazzo?
Kalvin Klien,

Il metodo "upgrade" che utilizza Magento Connect funziona ogni volta per me. Lo uso per tutti e tre i nostri siti M1 e sono tutti fortemente (anche se correttamente) personalizzati.
MagentoAaron,

0

Hanno rimosso il backup pianificato? Nessuna sezione di backup pianificato

O ho qualche tipo di problema? Perché non c'è menzione di questo in nessuna delle note? Questo sembra essere un modello con Magento in cui non menzionano cambiamenti come questi quando escono gli aggiornamenti.

AGGIORNAMENTO: sembra che lo abbiano rimosso completamente da tutte le versioni.

AGGIORNAMENTO: ho dovuto fare i backup in modo diverso. Se qualcuno fosse interessato, ho pubblicato alcuni dei comandi CRON qui: Strategia di backup post SUPEE-10975?


È per una versione specifica?
Razentic,

2
Per twitter.com/ryanhoerr/status/1067819214314987520 Questa è una parte specifica che hanno rimosso per questa patch.
danmentzer,

Oddio ... ok classico - Devo scoprire da qualche altra fonte quindi Magento sulla rimozione / aggiunta di funzionalità.
Kalvin Klien,

1
@KalvinKlien in realtà, il primo paragrafo nelle note di rilascio afferma che è stato disattivato; devdocs.magento.com/guides/m1x/ce19-ee114/…
Peter Jaap Blaakmeer il

3
La modifica di questa patch è che Mage_Backup è disattivato per impostazione predefinita e i controlli per l'esecuzione del codice sono più rigorosi (ad es. Se l'output del blocco per il modulo è disattivato, i backup non verranno eseguiti). Puoi ancora riattivare manualmente il modulo cambiando false in true nella sezione Mage_Backup dell'app / etc / modules / Mage_All.xml. Fare attenzione che la riattivazione della funzionalità di backup consenta potenzialmente: "problemi di esecuzione di codice in remoto (RCE), scripting tra siti (XSS) e contraffazione di richieste tra siti (CSRF)".
René Schep,

0

Abbiamo riscontrato un problema in un sito che utilizzava una configurazione multi-store personalizzata di uno sviluppatore precedente. Tutti gli URL per i negozi diversi dal negozio di base erano 404ing. Ha impostato la variabile server / HTTP Header "HTTP_X_REWRITE_URL", che ha modificato l'URL come elaborato dalla richiesta Magento.

Questa variabile è / è stata utilizzata da \ Zend_Controller_Request_Http :: setRequestUri (), ma la nuova versione in app / code / core / Zend / Controller / Request / Http.php non la utilizza più. Le possibili correzioni erano:

  • Impostare $ _SERVER ["IIS_WasUrlRewritten"] su '1' e invece impostare $ _SERVER ["UNENCODED_URL"]
  • Impostare invece $ _SERVER ["REQUEST_URI"]

Probabilmente funzionerebbero entrambi, ma il primo ha probabilmente meno probabilità di avere conseguenze indesiderate in quanto funziona più vicino al sistema precedente.


0

Errore specifico con Metodo di pagamento non disponibile

Abbiamo ricevuto molti The requested Payment Method is not availableerrori da Magento. Tutto sugli ordini in cui era il metodo di pagamento nel ccsavereso del prodotto , che è stato rimosso da questo supporto config.xml.

L'errore viene generato perché Magento è alla ricerca di un $key(il metodo di pagamento ccsave in questo caso) controllando i percorsi xml: payment/ccsave/model. Se non lo trova, genera un errore. Quindi abbiamo appena fatto un git checkout [insert supee commit]^ app/code/core/Mage/Payment/etc/config.xmle abbiamo spinto al master per correggere l'errore.

app / code / core / Mage / Pagamento / Helper / Data.php

public function getMethodInstance($code)
{
    $key = self::XML_PATH_PAYMENT_METHODS.'/'.$code.'/model';
    $class = Mage::getStoreConfig($key);
    return Mage::getModel($class);
}

app / code / core / Mage / Pagamento / etc / config.xml

<default>
  <payment>
      <ccsave>
        <model>payment/method_ccsave</model>
      </ccsave>
  </payment>
  ...
</default>


-5

Probabilmente no, ma la versione 1.9.4.0 ha già implementato entrambi comunque.


1
Questi messaggi dello stack sono specificamente in modo che altri sviluppatori possano essere consapevoli dei problemi che la tua risposta non è utile o descrittiva su qualsiasi problema. Onestamente lo rimuoverei.
danmentzer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.