@@ -571,15 +571,16 @@ Example header data:
571571
572572::
573573
574-         [HTTP_USER_AGENT] => ESP8266-http-Update 
575-         [HTTP_X_ESP8266_STA_MAC] => 18:FE:AA:AA:AA:AA 
576-         [HTTP_X_ESP8266_AP_MAC] => 1A:FE:AA:AA:AA:AA 
577-         [HTTP_X_ESP8266_FREE_SPACE] => 671744 
578-         [HTTP_X_ESP8266_SKETCH_SIZE] => 373940 
579-         [HTTP_X_ESP8266_SKETCH_MD5] => a56f8ef78a0bebd812f62067daf1408a 
580-         [HTTP_X_ESP8266_CHIP_SIZE] => 4194304 
581-         [HTTP_X_ESP8266_SDK_VERSION] => 1.3.0 
582-         [HTTP_X_ESP8266_VERSION] => DOOR-7-g14f53a19 
574+         [User-Agent] => ESP8266-http-Update 
575+         [x-ESP8266-STA-MAC] => 18:FE:AA:AA:AA:AA 
576+         [x-ESP8266-AP-MAC] => 1A:FE:AA:AA:AA:AA 
577+         [x-ESP8266-free-space] => 671744 
578+         [x-ESP8266-sketch-size] => 373940 
579+         [x-ESP8266-sketch-md5] => a56f8ef78a0bebd812f62067daf1408a 
580+         [x-ESP8266-chip-size] => 4194304 
581+         [x-ESP8266-sdk-version] => 1.3.0 
582+         [x-ESP8266-version] => DOOR-7-g14f53a19 
583+         [x-ESP8266-mode] => sketch 
583584
584585With this information the script now can check if an update is needed. It is also possible to deliver different binaries based on the MAC address, as in the following example:
585586
@@ -608,20 +609,20 @@ With this information the script now can check if an update is needed. It is als
608609        readfile($path); 
609610    } 
610611
611-     if(!check_header('HTTP_USER_AGENT ', 'ESP8266-http-Update')) { 
612+     if(!check_header('User-Agent ', 'ESP8266-http-Update')) { 
612613        header($_SERVER["SERVER_PROTOCOL"].' 403 Forbidden', true, 403); 
613614        echo "only for ESP8266 updater!\n"; 
614615        exit(); 
615616    } 
616617
617618    if( 
618-         !check_header('HTTP_X_ESP8266_STA_MAC ') || 
619-         !check_header('HTTP_X_ESP8266_AP_MAC ') || 
620-         !check_header('HTTP_X_ESP8266_FREE_SPACE ') || 
621-         !check_header('HTTP_X_ESP8266_SKETCH_SIZE ') || 
622-         !check_header('HTTP_X_ESP8266_SKETCH_MD5 ') || 
623-         !check_header('HTTP_X_ESP8266_CHIP_SIZE ') || 
624-         !check_header('HTTP_X_ESP8266_SDK_VERSION ') 
619+         !check_header('x-ESP8266-STA-MAC ') || 
620+         !check_header('x-ESP8266-AP-MAC ') || 
621+         !check_header('x-ESP8266-free-space ') || 
622+         !check_header('x-ESP8266-sketch-size ') || 
623+         !check_header('x-ESP8266-sketch-md5 ') || 
624+         !check_header('x-ESP8266-chip-size ') || 
625+         !check_header('x-ESP8266-sdk-version ') 
625626    ) { 
626627        header($_SERVER["SERVER_PROTOCOL"].' 403 Forbidden', true, 403); 
627628        echo "only for ESP8266 updater! (header)\n"; 
@@ -633,17 +634,17 @@ With this information the script now can check if an update is needed. It is als
633634        "18:FE:AA:AA:AA:BB" => "TEMP-1.0.0" 
634635    ); 
635636
636-     if(!isset($db[$_SERVER['HTTP_X_ESP8266_STA_MAC ']])) { 
637+     if(!isset($db[$_SERVER['x-ESP8266-STA-MAC ']])) { 
637638        header($_SERVER["SERVER_PROTOCOL"].' 500 ESP MAC not configured for updates', true, 500); 
638639    } 
639640
640-     $localBinary = "./bin/".$db[$_SERVER['HTTP_X_ESP8266_STA_MAC ']].".bin"; 
641+     $localBinary = "./bin/".$db[$_SERVER['x-ESP8266-STA-MAC ']].".bin"; 
641642
642643    // Check if version has been set and does not match, if not, check if 
643644    // MD5 hash between local binary and ESP8266 binary do not match if not. 
644645    // then no update has been found. 
645-     if((!check_header('HTTP_X_ESP8266_SDK_VERSION ') && $db[$_SERVER['HTTP_X_ESP8266_STA_MAC ']] != $_SERVER['HTTP_X_ESP8266_VERSION ']) 
646-         || $_SERVER["HTTP_X_ESP8266_SKETCH_MD5 "] != md5_file($localBinary)) { 
646+     if((!check_header('x-ESP8266-sdk-version ') && $db[$_SERVER['x-ESP8266-STA-MAC ']] != $_SERVER['x-ESP8266-version ']) 
647+         || $_SERVER["x-ESP8266-sketch-md5 "] != md5_file($localBinary)) { 
647648        sendFile($localBinary); 
648649    } else { 
649650        header($_SERVER["SERVER_PROTOCOL"].' 304 Not Modified', true, 304); 
0 commit comments