HTTPClient and others
- Signature verification
- Read public key from SPIFFS
- Switch to HTTPClient
- Allow 200 and 301 redirects
- Call http.end() if deserializing JSON fails
- Optionally allow HTTPS insecure
- Add semantic versioning support
- Allow full URLs in firmware manifests
Minor cleanup (renames firwmare to firmware) and fix to close #70
Optionally allow HTTPS insecure
Although not ideal, there are plenty of instances where I can see a user wanting/needing to use HTTPS to transfer firmware, while not having access to the root certificate necessary to validate the HTTPS connection is in fact secure. This adds an optional flag to the esp32FOTA constructor allowing for HTTPS insecure mode to be used instead of loading the root certificate.
Add semantic versioning support
This PR adds support for semantic versioning, relying on h2non's semver.c library to actually parse/compare semantic version strings. His library is MIT licensed. As the library is not part of the platformio library registry, I've manually included the library's code in the src/semver/ directory -- If anyone has a better way to do this, I'd love to hear it!
** Allow full URLs in firmware manifests**
This maintains backwards compatibility by continuing to accept manifests that break the three fields out, as well as forceUpdate requests that do the same.
Cleanup and universal HTTP/HTTPS
Thanks @nuclearcat & @thinksilicon