SUPEE-10975 Masalah Potensial

16

SUPEE-10975 telah dirilis, akan sangat bagus untuk mengetahui jika ada yang mengalami masalah ketika mencoba untuk menerapkan ini, akankah konflik ini dengan patch terbaru yang menambahkan 7,2 dukungan?

Sejauh ini, ini adalah file yang diubah yang dapat saya lihat

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

Adakah yang mengalami masalah dengan perubahan ini?

Razentic
sumber

Jawaban:

12

Sejauh ini, saya telah menemukan masalah berikut dengan tambalan SUPEE-10975:

  • Tidak mungkin lagi untuk menghapus grup pelanggan melalui admin karena pernyataan pengembalian yang hilang dalam metode baru Mage_Adminhtml_Block_Customer_Group_Edit::getDeleteUrl(masalah ditemukan oleh @ mikhail-chelevich). Ini adalah kasus ketika kunci rahasia diaktifkan untuk admin, yang merupakan default. Masalah ini juga hadir di 1.9.4.0. Masalah ini diperbaiki oleh patch SUPEE-11043, yang belum dirilis secara resmi, tetapi tersedia sebagai GitHub Gist .
  • The Mage_SendfriendModul tidak dapat dinonaktifkan tanpa juga menonaktifkan Mage_Captchamodul. Jika tidak, pengecualian inti berikut terjadi: Module "Mage_Captcha" requires module "Mage_Sendfriend".(masalah ditemukan oleh @zlep)
  • Perubahan pada sendfriend/send.phtmltemplat yang telah dibuat dalam rwd/defaulttema tidak dibuat dalam base/defaulttema. Ini berarti bahwa untuk base/defaulttema CAPTCHA tidak dapat diaktifkan, dan juga bahwa nama dan email dari penerima yang dimasukkan sebelumnya tidak ditampilkan pada halaman (untuk kasus khas formulir pengiriman yang memicu kesalahan validasi sisi-server).
  • Metode baru Mage_Sendfriend_Block_Send::getRecipientsCountmemperkenalkan ketidakcocokan PHP 7.2 karena a countdilakukan pada NULLnilai saat memuat halaman tanpa penerima (yang merupakan default pada pemuatan halaman baru). Masalah ini telah diperbaiki di 1.9.4.0.

Perhatikan bahwa saya hanya memeriksa tambalan untuk 1.9.3.10, tapi saya curiga ada masalah di semua versi tambalan.

Aad Mathijssen
sumber
11

Tidak ada return parent::getDeleteUrl()dalam aplikasi / kode / inti / Penyihir / Adminhtml / Blok / Pelanggan / Grup / 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();
+        }
+    }
Mikhail Chelevich
sumber
Untuk apa versi Magento ini?
danmentzer
1
Saya dapat mengkonfirmasi masalah ini: tidak mungkin lagi untuk menghapus grup pelanggan melalui admin. Ini terjadi ketika kunci rahasia diaktifkan untuk admin, yang merupakan default. Ini hadir di de patch SUPEE-10975, dan juga di Magento Open Source 1.9.4.0.
Aad Mathijssen
Patch tambahan telah dibuat untuk menyelesaikan SUPEE-11043 ini
Andrew
@andrew Saya tidak bisa menemukan apa pun tentang SUPEE-11043. dapatkah Anda menautkan beberapa sumber?
darnok
1
Jadi perbaikannya harus diganti parent::getDeleteUrl();di app / code / core / Mage / Adminhtml / Block / Pelanggan / Grup / Edit.php denganreturn parent::getDeleteUrl();
René Schep
8

Saya mengalami masalah dengan tambalan 10975. Setelah beberapa penyelidikan, saya dapat melacak jawabannya di mana patch itu kacau dan mengapa.

Untuk meringkas centang di bawah ini dan pastikan Anda telah menambal SUPEE 9767 V2 dengan benar. Itulah akar masalah saya.

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

Di atas adalah kesalahan yang saya tekan yang khusus untuk file ini.

Mage / Core / etc / config.xml

Kesalahan berasal dari baris tambalan ini.

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>

Versi yang tercantum di sini tidak cocok dengan benar karena ditambal secara manual

SUPEE 9767 v2

Tambalan itu datang dengan baris ini yang saya lewatkan ketika ditambal secara manual.

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>
danmentzer
sumber
5

Pertama, maaf untuk duplikat jawaban erej , saya tidak bisa berkomentar atau mengedit karena skor reputasi saya.

Patch membuat file baru di sini: app/code/core/Zend/Controller/Request/Http.php

Yang ditambahkan untuk mengganti file ini: lib/Zend/Controller/Request/Http.php

Masalahnya adalah untuk Magento di bawah 1.9.0.0 (EE 1.14.0.0):

Metode ini :

/**
 * 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);
}

Ditimpa dalam file Magento Core app/code/core/Mage/Core/Controller/Request/Http.php

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

Yang tidak mengambil argumen apa pun.

Jadi ini pemberitahuan ketat ini di url situs web, depan & 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

Jika seseorang tahu jika ada V2 patch itu di jalan, beri tahu saya.

Menunggu pembaruan mereka, Anda dapat mendefinisikan kembali metode app/code/core/Mage/Core/Controller/Request/Http.phpseperti itu:

/**
 * @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;
}
jdemandre
sumber
4

Dengan versi 1.8.1.0 setelah menerapkan tambalan ini kami juga harus mengubah app/code/core/Mage/Core/Controller/Request/Http.php::getBaseUrl()fungsi menjadi

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

karena tambalan ini menambahkan app/code/core/Zend/Controller/Request/Http.phpfile dan getBaseUrl()fungsi dideklarasikan dengan parameter $raw = false.

erej
sumber
Seharusnya tidak perlu menambahkan fungsi ini. Ini hanya akan selalu default untuk tidak mentah, karena fungsi apa pun yang memanggil fungsi ini seharusnya tidak memiliki $ raw set di 1.8.1.
René Schep
4

Saya punya masalah dengan 'Hunk # 1 GAGAL di 28'

Tolak seharusnya disimpan di config.xml.rej tetapi file ini tidak ada, juga tidak ada deskripsi bagian skrip yang gagal di jendela terminal saya. Pada dasarnya tambalan gagal dan tidak ada indikasi mengapa - setidaknya tidak bodoh seperti saya!

Saat pertama kali dijalankan, tambalan berusaha untuk menghapus tiga file jquery v 1.12.0 yang tidak ada, saya mengganti ini dan menerapkan tambalan itu lagi tetapi sekarang gagal tanpa deskripsi yang berguna.

Magento 1.9.0.1 sepenuhnya ditambal terlepas dari pembaruan kompatibilitas PHP 7.2, itu akan tetap belum ditambal kecuali saya dapat menyelesaikannya atau seseorang di sini dapat memberi saya petunjuk (tolong!) Terima kasih H

PS Saya tidak yakin apakah posting saya melanggar pedoman SE, saya menjawab pertanyaan awal tetapi saya juga meminta bantuan.

Sparko
sumber
1
Saya mengalami masalah ini juga terkait dengan patch 9767 v2 itu menambahkan nomor versi baru ke Mage / Core / etc / config.xml Anda hanya perlu menambahkan ke nomor versi saat ini .1.2 Saya juga akan menulis jawaban untuk ini juga.
danmentzer
3

The Mage_BackupModul akan dinonaktifkan oleh patch.

Ini disebutkan dalam catatan rilis resmi ( https://devdocs.magento.com/guides/m1x/ce19-ee114/ce1.9_release-notes.html#ce19-1940 ).

Namun solusi yang disarankan untuk mengaktifkannya kembali salah:

("Atau, Anda dapat menggunakan salah satu dari dua metode ini untuk mengaktifkan cadangan basis data")

Anda sebenarnya perlu menggunakan kedua metode yang disebutkan untuk mengaktifkan kembali sepenuhnya.

penyair
sumber
2
Juga ingat bahwa mengaktifkan kembali modul Mage_Backup membuka Anda hingga: "eksekusi kode jarak jauh (RCE), skrip lintas situs (XSS), dan masalah pemalsuan permintaan lintas situs (CSRF)".
René Schep
2

Mungkin ada masalah dengan penanganan perhitungan pajak dengan benar.

Seperti kebiasaan di banyak negara, pelanggan kami menggunakan konfigurasi " harga termasuk pajak " dari Magento.

Jadi, setelah pembaruan dari 1.9.3.10 ke 1.9.4.0, pajak ditambahkan ke total grand di checkout, di atas harga barang sudah termasuk pajak.

Saya melacak masalah ini hingga perubahan dalam konfigurasi di aplikasi file / kode / core / Mage / Penjualan / etc / config.xml , di mana " msrp " ditambahkan ke simpul penjualan / kutipan / total / pengiriman / setelah .

Saya tidak menemukan apa pun mengenai MSRP dalam catatan rilis dan saya berharap ini adalah perubahan yang terisolasi tanpa efek samping.

Solusi saya adalah mengubah simpul ini kembali ke nilai aslinya " subtotal, freeshipping, tax_subtotal " tanpa " msrp ". Saya melakukannya di etc / config.xml dari modul saya sendiri.

tdk_qst
sumber
1

Masalah khusus, tetapi jika Anda menonaktifkan Mage_Sendfriend (yang sebelumnya merupakan modul yang dapat Anda nonaktifkan dengan aman) itu akan menimbulkan kesalahan pengecualian.

zlep
sumber
1
Mereka membuat Mage_Captcha bergantung pada Mage_Sendfriend, bukan sebaliknya. Jadi, Anda juga harus menonaktifkan Mage_Captcha untuk menonaktifkan Mage_Sendfriend. Yang mungkin bukan yang Anda inginkan karena menonaktifkan semua Magento recaptcha default
René Schep
0

Saya mencoba meningkatkan dari Magento CE 1.9.3.10 ke 1.9.4.0 hari ini dan saya mengalami banyak kesalahan. Untungnya itu tidak mengacaukan instalasi. Setelah instalasi saya mendapat yang ditakuti - Kesalahan Server Internal. Saya memang terkunci dan saya harus mengatur ulang semua file dan folder saya izin melalui SSH bersama dengan menghapus maintenance.flag. Saya kemudian mengindeks ulang dan mengaktifkan kembali cache. Ditambah lagi, saya harus kembali ke file .htac lama saya di folder Root and Download. Tidak yakin tindakan korektif apa yang harus dilakukan untuk mendapatkan instalasi yang sukses. Saya lupa menyalin teks dari jendela baris perintah. Jadi saya tidak bisa memposting semua kesalahan. Apa yang saya lihat adalah pesan yang tidak kompatibel.

Neal Hart
sumber
1
Saya tidak berpikir metode "upgrade" melalui pengunduh pernah bekerja pada instalasi apa pun yang setidaknya sedikit diedit. Apakah saya gila?
Kalvin Klien
Metode "peningkatan" menggunakan Magento Connect bekerja setiap saat untuk saya. Saya menggunakannya untuk ketiga situs M1 kami dan semuanya sangat disesuaikan (meskipun dengan benar).
MagentoAaron
0

Apakah mereka menghapus Backup Terjadwal? Tidak Ada Bagian Pencadangan Terjadwal

Atau saya punya masalah? Mengapa tidak disebutkan hal ini di salah satu catatan? Ini tampaknya menjadi pola dengan Magento di mana mereka tidak menyebutkan perubahan seperti ini ketika pembaruan keluar.

PEMBARUAN: sepertinya mereka menghapusnya sepenuhnya dari semua versi.

PEMBARUAN: harus melakukan pencadangan secara berbeda. Jika ada yang tertarik saya memposting beberapa perintah CRON di sini: Back-up post strategi SUPEE-10975?

Kalvin Klien
sumber
Apakah ini untuk versi tertentu?
Razentic
2
Per twitter.com/ryanhoerr/status/1067819214314987520 Itu adalah bagian spesifik yang mereka hapus per tambalan ini.
danmentzer
Ya Tuhan ... ok klasik - harus mencari tahu dari beberapa sumber lain kemudian magento tentang penghapusan / penambahan fitur.
Kalvin Klien
1
@KalvinKlien sebenarnya, paragraf pertama dalam catatan rilis menyatakan bahwa itu telah dinonaktifkan; devdocs.magento.com/guides/m1x/ce19-ee114/…
Peter Jaap Blaakmeer
3
Perubahan dalam tambalan ini adalah bahwa Mage_Backup dinonaktifkan secara default dan pemeriksaan untuk menjalankan kode lebih ketat (mis. Jika keluaran blok untuk modul dinonaktifkan, pencadangan tidak akan berjalan). Anda masih dapat mengaktifkan kembali modul secara manual dengan mengubah false menjadi true di bagian Mage_Backup app / etc / modules / Mage_All.xml. Berhati-hatilah bahwa mengaktifkan kembali fungsionalitas cadangan berpotensi memungkinkan: "eksekusi kode jarak jauh (RCE), skrip lintas situs (XSS), dan masalah pemalsuan permintaan lintas situs (CSRF)".
René Schep
0

Kami melihat masalah di situs yang menggunakan konfigurasi multi-toko khusus oleh pengembang sebelumnya. Semua URL untuk toko selain dari toko dasar adalah 404ing. Ini mengatur variabel server "HTTP_X_REWRITE_URL" / HTTP Header, yang mengubah URL sebagaimana diproses oleh Permintaan Magento.

Variabel ini / digunakan oleh \ Zend_Controller_Request_Http :: setRequestUri (), tetapi versi baru di app / code / core / Zend / Controller / Request / Http.php tidak lagi menggunakan ini. Kemungkinan perbaikan adalah:

  • Setel $ _SERVER ["IIS_WasUrlRewritten"] ke '1' dan sebagai gantinya tetapkan $ _SERVER ["UNENCODED_URL"]
  • Tetapkan $ _SERVER ["REQUEST_URI"] sebagai gantinya

Entah mungkin akan bekerja, tetapi yang pertama kemungkinan kecil memiliki konsekuensi yang tidak diinginkan karena berfungsi lebih dekat dengan sistem sebelumnya.

Li1t
sumber
0

Kesalahan spesifik dengan Metode Pembayaran tidak tersedia

Kami mendapat banyak The requested Payment Method is not availablekesalahan yang dilakukan oleh Magento. Semua pesanan di mana metode pembayaran dalam pengembalian produk adalah ccsave, yang telah dihapus oleh supee ini di config.xml.

Kesalahan yang dilemparkan karena Magento mencari $key(metode pembayaran ccsave dalam kasus ini) dengan memeriksa jalur xml: payment/ccsave/model. Jika tidak menemukannya, ia melempar kesalahan. Jadi kami baru saja melakukan git checkout [insert supee commit]^ app/code/core/Mage/Payment/etc/config.xmldan mendorong ke master untuk memperbaiki kesalahan.

app / code / core / Mage / Pembayaran / 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 / Pembayaran / etc / config.xml

<default>
  <payment>
      <ccsave>
        <model>payment/method_ccsave</model>
      </ccsave>
  </payment>
  ...
</default>
mikemol
sumber
-5

Mungkin tidak, tetapi versi 1.9.4.0 sudah memiliki keduanya.

Ricardo Martins
sumber
1
Posting tumpukan ini secara khusus sehingga pengembang lain dapat mengetahui masalah jawaban Anda untuk ini tidak membantu atau deskriptif tentang masalah apa pun. Saya jujur ​​akan menghapus ini.
danmentzer