From c0e5b5407398610210afc41367705199a2377764 Mon Sep 17 00:00:00 2001 From: Markus Sattler Date: Mon, 22 Jun 2015 10:23:33 +0200 Subject: [PATCH] add basic check for valid data for in updateSketch (first byte of bin is always 0xE9) send SDK version by HTTP Update --- hardware/esp8266com/esp8266/cores/esp8266/Esp.cpp | 7 +++++++ .../libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.cpp | 3 +++ 2 files changed, 10 insertions(+) diff --git a/hardware/esp8266com/esp8266/cores/esp8266/Esp.cpp b/hardware/esp8266com/esp8266/cores/esp8266/Esp.cpp index 4d9d8b033..504cf028d 100644 --- a/hardware/esp8266com/esp8266/cores/esp8266/Esp.cpp +++ b/hardware/esp8266com/esp8266/cores/esp8266/Esp.cpp @@ -414,6 +414,13 @@ bool EspClass::updateSketch(Stream& in, uint32_t size) { return false; } + if(addr == freeSpaceStart) { + // check for valid first magic byte + if(*((uint8 *) buffer.get()) != 0xE9) { + return false; + } + } + noInterrupts(); rc = SPIWrite(addr, buffer.get(), willRead); interrupts(); diff --git a/hardware/esp8266com/esp8266/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.cpp b/hardware/esp8266com/esp8266/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.cpp index 118ec894f..ef48087e1 100644 --- a/hardware/esp8266com/esp8266/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.cpp +++ b/hardware/esp8266com/esp8266/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.cpp @@ -72,6 +72,9 @@ t_httpUpdate_return ESP8266HTTPUpdate::update(const char *host, uint16_t port, c req += "\r\n" "x-ESP8266-chip-size: "; req += ESP.getFlashChipRealSize(); + req += "\r\n" + "x-ESP8266-sdk-version: "; + req += ESP.getSdkVersion(); if(current_version[0] != 0x00) { req += "\r\n"