From ef7c26ac42d538762dc7444a01d57081d20e53fb Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Sat, 18 Jul 2020 23:12:22 +0200 Subject: [PATCH 1/7] hotfix: 2.7.2=>2.7.3 eboot: disable "Verify the copy" --- README.md | 4 ++-- bootloaders/eboot/eboot.c | 4 +++- bootloaders/eboot/eboot.elf | Bin 35800 -> 35612 bytes package.json | 2 +- platform.txt | 4 ++-- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 6b085aa5c9..f333e8623c 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Arduino core for ESP8266 WiFi chip # Quick links -- [Latest release documentation](https://arduino-esp8266.readthedocs.io/en/2.7.1/) +- [Latest release documentation](https://arduino-esp8266.readthedocs.io/en/2.7.3/) - [Current "git version" documentation](https://arduino-esp8266.readthedocs.io/en/latest/) - [Install git version](https://arduino-esp8266.readthedocs.io/en/latest/installing.html#using-git-version) ([sources](doc/installing.rst#using-git-version)) @@ -36,7 +36,7 @@ Starting with 1.6.4, Arduino allows installation of third-party platform package #### Latest release [![Latest release](https://img.shields.io/github/release/esp8266/Arduino.svg)](https://github.com/esp8266/Arduino/releases/latest/) Boards manager link: `https://arduino.esp8266.com/stable/package_esp8266com_index.json` -Documentation: [https://arduino-esp8266.readthedocs.io/en/2.7.1/](https://arduino-esp8266.readthedocs.io/en/2.7.1/) +Documentation: [https://arduino-esp8266.readthedocs.io/en/2.7.3/](https://arduino-esp8266.readthedocs.io/en/2.7.3/) ### Using git version [![Linux build status](https://travis-ci.org/esp8266/Arduino.svg)](https://travis-ci.org/esp8266/Arduino) diff --git a/bootloaders/eboot/eboot.c b/bootloaders/eboot/eboot.c index be67b0b6fe..0a38a88416 100644 --- a/bootloaders/eboot/eboot.c +++ b/bootloaders/eboot/eboot.c @@ -230,6 +230,7 @@ int main() ets_putc('0'+res); ets_putc('\n'); +/** disabled in 2.7.3 // Verify the copy ets_putc('c'); ets_putc('m'); ets_putc('p'); ets_putc(':'); if (res == 0) { @@ -237,8 +238,9 @@ int main() res = copy_raw(cmd.args[0], cmd.args[1], cmd.args[2], true); ets_wdt_enable(); } - ets_putc('0'+res); ets_putc('\n'); +**/ + if (res == 0) { cmd.action = ACTION_LOAD_APP; cmd.args[0] = cmd.args[1]; diff --git a/bootloaders/eboot/eboot.elf b/bootloaders/eboot/eboot.elf index 60329d847e6307f2211d8c762ff1a6f68c4da0d7..c6e56d7d1406ae0773c229c174a80d9e363f9199 100755 GIT binary patch delta 11382 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 diff --git a/package.json b/package.json index 5629afd636..235db02b9c 100644 --- a/package.json +++ b/package.json @@ -2,5 +2,5 @@ "name": "framework-arduinoespressif8266", "description": "Arduino Wiring-based Framework (ESP8266 Core)", "url": "https://github.com/esp8266/Arduino", - "version": "2.7.2" + "version": "2.7.3" } diff --git a/platform.txt b/platform.txt index 26d83fa654..2f0e8cb14a 100644 --- a/platform.txt +++ b/platform.txt @@ -5,8 +5,8 @@ # For more info: # https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification -name=ESP8266 Boards (2.7.2) -version=2.7.2 +name=ESP8266 Boards (2.7.3) +version=2.7.3 # These will be removed by the packager script when doing a JSON release runtime.tools.xtensa-lx106-elf-gcc.path={runtime.platform.path}/tools/xtensa-lx106-elf From 5337f93522fd1b2e24c6c0259adc3d51995b98aa Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Sun, 19 Jul 2020 00:04:02 +0200 Subject: [PATCH 2/7] backport #7433 --- boards.txt | 71 +++++++++++++++++++++++++++++++++++++++++++-- doc/boards.rst | 2 +- tools/boards.txt.py | 5 ++-- 3 files changed, 73 insertions(+), 5 deletions(-) diff --git a/boards.txt b/boards.txt index 3d2c355c29..8279cd5c53 100644 --- a/boards.txt +++ b/boards.txt @@ -5458,9 +5458,76 @@ gen4iod.menu.ssl.all.build.sslflags= gen4iod.menu.ssl.basic=Basic SSL ciphers (lower ROM use) gen4iod.menu.ssl.basic.build.sslflags=-DBEARSSL_SSL_BASIC gen4iod.upload.resetmethod=--before default_reset --after hard_reset -gen4iod.build.flash_mode=dio -gen4iod.build.flash_flags=-DFLASHMODE_DIO +gen4iod.menu.FlashMode.dout=DOUT (compatible) +gen4iod.menu.FlashMode.dout.build.flash_mode=dout +gen4iod.menu.FlashMode.dout.build.flash_flags=-DFLASHMODE_DOUT +gen4iod.menu.FlashMode.dio=DIO +gen4iod.menu.FlashMode.dio.build.flash_mode=dio +gen4iod.menu.FlashMode.dio.build.flash_flags=-DFLASHMODE_DIO +gen4iod.menu.FlashMode.qout=QOUT +gen4iod.menu.FlashMode.qout.build.flash_mode=qout +gen4iod.menu.FlashMode.qout.build.flash_flags=-DFLASHMODE_QOUT +gen4iod.menu.FlashMode.qio=QIO (fast) +gen4iod.menu.FlashMode.qio.build.flash_mode=qio +gen4iod.menu.FlashMode.qio.build.flash_flags=-DFLASHMODE_QIO gen4iod.build.flash_freq=80 +gen4iod.menu.eesz.2M64=2MB (FS:64KB OTA:~992KB) +gen4iod.menu.eesz.2M64.build.flash_size=2M +gen4iod.menu.eesz.2M64.build.flash_size_bytes=0x200000 +gen4iod.menu.eesz.2M64.build.flash_ld=eagle.flash.2m64.ld +gen4iod.menu.eesz.2M64.build.spiffs_pagesize=256 +gen4iod.menu.eesz.2M64.upload.maximum_size=1044464 +gen4iod.menu.eesz.2M64.build.rfcal_addr=0x1FC000 +gen4iod.menu.eesz.2M64.build.spiffs_start=0x1F0000 +gen4iod.menu.eesz.2M64.build.spiffs_end=0x1FB000 +gen4iod.menu.eesz.2M64.build.spiffs_blocksize=4096 +gen4iod.menu.eesz.2M128=2MB (FS:128KB OTA:~960KB) +gen4iod.menu.eesz.2M128.build.flash_size=2M +gen4iod.menu.eesz.2M128.build.flash_size_bytes=0x200000 +gen4iod.menu.eesz.2M128.build.flash_ld=eagle.flash.2m128.ld +gen4iod.menu.eesz.2M128.build.spiffs_pagesize=256 +gen4iod.menu.eesz.2M128.upload.maximum_size=1044464 +gen4iod.menu.eesz.2M128.build.rfcal_addr=0x1FC000 +gen4iod.menu.eesz.2M128.build.spiffs_start=0x1E0000 +gen4iod.menu.eesz.2M128.build.spiffs_end=0x1FB000 +gen4iod.menu.eesz.2M128.build.spiffs_blocksize=4096 +gen4iod.menu.eesz.2M256=2MB (FS:256KB OTA:~896KB) +gen4iod.menu.eesz.2M256.build.flash_size=2M +gen4iod.menu.eesz.2M256.build.flash_size_bytes=0x200000 +gen4iod.menu.eesz.2M256.build.flash_ld=eagle.flash.2m256.ld +gen4iod.menu.eesz.2M256.build.spiffs_pagesize=256 +gen4iod.menu.eesz.2M256.upload.maximum_size=1044464 +gen4iod.menu.eesz.2M256.build.rfcal_addr=0x1FC000 +gen4iod.menu.eesz.2M256.build.spiffs_start=0x1C0000 +gen4iod.menu.eesz.2M256.build.spiffs_end=0x1FB000 +gen4iod.menu.eesz.2M256.build.spiffs_blocksize=4096 +gen4iod.menu.eesz.2M512=2MB (FS:512KB OTA:~768KB) +gen4iod.menu.eesz.2M512.build.flash_size=2M +gen4iod.menu.eesz.2M512.build.flash_size_bytes=0x200000 +gen4iod.menu.eesz.2M512.build.flash_ld=eagle.flash.2m512.ld +gen4iod.menu.eesz.2M512.build.spiffs_pagesize=256 +gen4iod.menu.eesz.2M512.upload.maximum_size=1044464 +gen4iod.menu.eesz.2M512.build.rfcal_addr=0x1FC000 +gen4iod.menu.eesz.2M512.build.spiffs_start=0x180000 +gen4iod.menu.eesz.2M512.build.spiffs_end=0x1FA000 +gen4iod.menu.eesz.2M512.build.spiffs_blocksize=8192 +gen4iod.menu.eesz.2M1M=2MB (FS:1MB OTA:~512KB) +gen4iod.menu.eesz.2M1M.build.flash_size=2M +gen4iod.menu.eesz.2M1M.build.flash_size_bytes=0x200000 +gen4iod.menu.eesz.2M1M.build.flash_ld=eagle.flash.2m1m.ld +gen4iod.menu.eesz.2M1M.build.spiffs_pagesize=256 +gen4iod.menu.eesz.2M1M.upload.maximum_size=1044464 +gen4iod.menu.eesz.2M1M.build.rfcal_addr=0x1FC000 +gen4iod.menu.eesz.2M1M.build.spiffs_start=0x100000 +gen4iod.menu.eesz.2M1M.build.spiffs_end=0x1FA000 +gen4iod.menu.eesz.2M1M.build.spiffs_blocksize=8192 +gen4iod.menu.eesz.2M=2MB (FS:none OTA:~1019KB) +gen4iod.menu.eesz.2M.build.flash_size=2M +gen4iod.menu.eesz.2M.build.flash_size_bytes=0x200000 +gen4iod.menu.eesz.2M.build.flash_ld=eagle.flash.2m.ld +gen4iod.menu.eesz.2M.build.spiffs_pagesize=256 +gen4iod.menu.eesz.2M.upload.maximum_size=1044464 +gen4iod.menu.eesz.2M.build.rfcal_addr=0x1FC000 gen4iod.menu.eesz.512K32=512KB (FS:32KB OTA:~230KB) gen4iod.menu.eesz.512K32.build.flash_size=512K gen4iod.menu.eesz.512K32.build.flash_size_bytes=0x80000 diff --git a/doc/boards.rst b/doc/boards.rst index 7ab98e2513..9c94b63120 100644 --- a/doc/boards.rst +++ b/doc/boards.rst @@ -413,7 +413,7 @@ Datasheet and associated downloads can be found on the 4D Systems product page. The gen4-IoD range can be programmed using the Arduino IDE and also the 4D Systems Workshop4 IDE, which incorporates many additional graphics benefits. GFX4d library is available, along with a number of demo applications. -- Product page: http://www.4dsystems.com.au/product/gen4-IoD +- Product page: https://4dsystems.com.au/products/iot-display-modules Digistump Oak ------------- diff --git a/tools/boards.txt.py b/tools/boards.txt.py index 8263191495..30f2a9bbe5 100755 --- a/tools/boards.txt.py +++ b/tools/boards.txt.py @@ -759,8 +759,9 @@ }, 'macro': [ 'resetmethod_nodemcu', - 'flashmode_dio', + 'flashmode_menu', 'flashfreq_80', + '2M', '512K', ], 'desc': [ 'gen4-IoD Range of ESP8266 powered Display Modules by 4D Systems.', @@ -771,7 +772,7 @@ '', 'The gen4-IoD range can be programmed using the Arduino IDE and also the 4D Systems Workshop4 IDE, which incorporates many additional graphics benefits. GFX4d library is available, along with a number of demo applications.', '', - '- Product page: http://www.4dsystems.com.au/product/gen4-IoD', + '- Product page: https://4dsystems.com.au/products/iot-display-modules', ], }), ( 'oak', { From 7f9863674fe0722595d23e20a294c313bcd64d7f Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Sun, 19 Jul 2020 00:04:36 +0200 Subject: [PATCH 3/7] backport #7434 --- libraries/LittleFS/src/LittleFS.cpp | 1 + tests/host/fs/test_fs.inc | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/libraries/LittleFS/src/LittleFS.cpp b/libraries/LittleFS/src/LittleFS.cpp index b85075112e..7fd4351fcb 100644 --- a/libraries/LittleFS/src/LittleFS.cpp +++ b/libraries/LittleFS/src/LittleFS.cpp @@ -87,6 +87,7 @@ FileImplPtr LittleFSImpl::open(const char* path, OpenMode openMode, AccessMode a // a directory whose name we are carrying around but which cannot be read or written return std::make_shared(this, path, nullptr, flags, creation); } else if (rc == 0) { + lfs_file_sync(&_lfs, fd.get()); return std::make_shared(this, path, fd, flags, creation); } else { DEBUGV("LittleFSDirImpl::openFile: rc=%d fd=%p path=`%s` openMode=%d accessMode=%d err=%d\n", diff --git a/tests/host/fs/test_fs.inc b/tests/host/fs/test_fs.inc index 0a2cc423fc..683f3a99ba 100644 --- a/tests/host/fs/test_fs.inc +++ b/tests/host/fs/test_fs.inc @@ -198,6 +198,28 @@ TEST_CASE(TESTPRE "seek() pase EOF returns error (#7323)", TESTPAT) f.close(); } +TEST_CASE(TESTPRE "Rewriting file frees space immediately (#7426)", TESTPAT) +{ + FS_MOCK_DECLARE(64, 8, 512, ""); + REQUIRE(FSTYPE.begin()); + FSInfo inf; + FSTYPE.info(inf); + // Calculate the size to write per-FS, due to differing overheads + int kbToWrite = (inf.totalBytes - inf.usedBytes - 8192) / 1024; + // Create and overwrite a file >50% of spaceA (48/64K) + for (auto x = 0; x < 2; x++) { + auto f = FSTYPE.open("/file1.bin", "w"); + REQUIRE(f); + uint8_t buff[1024]; + memset(buff, 0xaa, 1024); + for (auto i = 0; i < kbToWrite; i++) { + REQUIRE(f.write(buff, 1024)); + } + f.close(); + FSTYPE.info(inf); + } +} + #ifdef FS_HAS_DIRS #if FSTYPE != SDFS From 59bbfc70610c68e2728175cd5ac9f0519bb10992 Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Sun, 19 Jul 2020 00:07:13 +0200 Subject: [PATCH 4/7] backport #7464 --- libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.cpp b/libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.cpp index 773f68cfdc..89621b3671 100644 --- a/libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.cpp +++ b/libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.cpp @@ -96,11 +96,8 @@ void WiFiClientSecure::_clearAuthenticationSettings() { _use_fingerprint = false; _use_self_signed = false; _knownkey = nullptr; - _sk = nullptr; _ta = nullptr; _axtls_ta = nullptr; - _axtls_chain = nullptr; - _axtls_sk = nullptr; } From 59499c73611c9c338cae97fb0c1fca5894653e1f Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Mon, 27 Jul 2020 00:09:26 +0200 Subject: [PATCH 5/7] backport #7486 --- libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp b/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp index 41d771fb6a..2a5f96cb5d 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp @@ -233,6 +233,16 @@ void ESP8266WiFiGenericClass::_eventCallback(void* arg) WiFiClient::stopAll(); } + if (event->event == EVENT_STAMODE_AUTHMODE_CHANGE) { + auto& src = event->event_info.auth_change; + if ((src.old_mode != AUTH_OPEN) && (src.new_mode == AUTH_OPEN)) { + // CVE-2020-12638 workaround. When we get a change to AUTH_OPEN from any other mode, drop the WiFi link because it's a downgrade attack + // TODO - When upgrading to 3.x.x with fix, remove this code + DEBUG_WIFI("WIFI_EVENT_STAMODE_AUTHMODE_CHANGE from encrypted(%d) to AUTH_OPEN, potential downgrade attack. Reconnecting WiFi. See CVE-2020-12638 for more details\n", src.old_mode); + WiFi.reconnect(); // Disconnects from STA and then reconnects + } + } + for(auto it = std::begin(sCbEventList); it != std::end(sCbEventList); ) { WiFiEventHandler &handler = *it; if (handler->canExpire() && handler.unique()) { From 4ac1608573b52f92a797c78db5e76b4c3b7feb34 Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Mon, 27 Jul 2020 00:10:09 +0200 Subject: [PATCH 6/7] backport #7487 --- cores/esp8266/Updater.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/cores/esp8266/Updater.cpp b/cores/esp8266/Updater.cpp index 351a57746b..03bc5c3f8f 100644 --- a/cores/esp8266/Updater.cpp +++ b/cores/esp8266/Updater.cpp @@ -35,6 +35,7 @@ UpdaterClass::UpdaterClass() , _startAddress(0) , _currentAddress(0) , _command(U_FLASH) +, _ledPin(-1) , _hash(nullptr) , _verify(nullptr) , _progress_callback(nullptr) From 5d3af165522042a48f6db9b0b920fcb5ad16a69d Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Mon, 27 Jul 2020 00:10:32 +0200 Subject: [PATCH 7/7] backport #7488 --- cores/esp8266/heap.cpp | 2 +- cores/esp8266/umm_malloc/umm_local.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cores/esp8266/heap.cpp b/cores/esp8266/heap.cpp index 2001579ef0..3f549716f4 100644 --- a/cores/esp8266/heap.cpp +++ b/cores/esp8266/heap.cpp @@ -164,7 +164,7 @@ void ICACHE_RAM_ATTR print_loc(size_t size, const char* file, int line) if (inISR && (uint32_t)file >= 0x40200000) { DEBUG_HEAP_PRINTF("File: %p", file); } else if (!inISR && (uint32_t)file >= 0x40200000) { - char buf[ets_strlen(file)] __attribute__ ((aligned(4))); + char buf[ets_strlen(file) + 1] __attribute__((aligned(4))); ets_strcpy(buf, file); DEBUG_HEAP_PRINTF(buf); } else { diff --git a/cores/esp8266/umm_malloc/umm_local.c b/cores/esp8266/umm_malloc/umm_local.c index 8f83f4b4ac..392ef13c8f 100644 --- a/cores/esp8266/umm_malloc/umm_local.c +++ b/cores/esp8266/umm_malloc/umm_local.c @@ -206,7 +206,7 @@ int ICACHE_FLASH_ATTR umm_info_safe_printf_P(const char *fmt, ...) { the PROGMEM address must be word (4 bytes) aligned. The destination address for ets_memcpy must also be word-aligned. */ - char ram_buf[ets_strlen(fmt)] __attribute__ ((aligned(4))); + char ram_buf[ets_strlen(fmt) + 1] __attribute__((aligned(4))); ets_strcpy(ram_buf, fmt); va_list argPtr; va_start(argPtr, fmt);