fix(ota): Add legacy option for devices using MD5 authentication #11862
+51
−18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of Change
This pull request updates the
espota.py
tool to add support for authenticating with devices that use an older, insecure MD5-based challenge/response protocol, improving compatibility with legacy firmware. The main changes include introducing a new--md5-target
option, updating the authentication flow to handle both MD5 and SHA256 mechanisms, and adjusting the argument parsing and function signatures accordingly.This argument should be necessary only once when upgrading from an image with the older authentication method to the new one.
Authentication protocol updates:
--md5-target
(-m
) command-line flag to indicate that the target device uses MD5-based authentication, for compatibility with old firmware.serve
function and its call sites to accept an additionalmd5_target
argument, controlling which authentication protocol is used. [1] [2]serve
to:Test Scenarios
Tested with ESP32-C6
Related links
Closes #11855