* upstream lwIP is now downloaded by a makefile, not subsubmoduled
* lwip2: upstream lwIP not sub-sub-modules anymore
lwip2: Allow IPv4 and IPv6 DNS and SNTP server configured via DHCP to co-exist (patch against upstream)
* lwip2: enable tcp-listen-with-backlog feature
* lwip2 submodule update:
- enable more efficient chksum algorithm thanks to Richard Allen
- enable tcp listener with backlog
* more comments, fix backlog management, fix API
* move default value definition in .cpp
because one must not believe it can be redefined before including WiFiServer.h
* improved backlog handling, it is no more a breaking change
* Convert ESP8266WebServer* into templatized model
Supercedes #4912
Refactor the three versions of ESP8266WebServer and *WebServerSecure to a
single templated class. Use "using" to enable old, non-templated names to b
used (so no user changes required to compile or run).
Fixes#4908 and clean up the code base a lot.
Basic tests run (the ones in the example code).
No code changes are required in userland except for setting the SSL
certificates which now use a cleaner "getServer()" accessor and lets the
app use the native BearSSL calls on the WiFiClientSecure object.
@devyte should be proud, it removes virtuals and even has template specialization...
* Fix HTTPUpdate templates and examples
* Fix HTTPUpdateServer library build
Need to remove dot-a linkage since there are no .cpp files in the
directory anymore due to templates.
* Provide backward-compat names for updt template
Allow existing code to use the same well known names for
HTTPUpdateSecure.
* Remove ClientType from all templates, auto-infer
Remove the ClientType template parameter from all objects. Simplifies
the code and makes it more foolproof.
Add a "using" in each server to define the type of connection returned
by all servers, which is then used in the above templates automatically.
* Can safely include FS.h now that SD/SPIFFS unified
* Move the templates/objects to their own namespaces
* Fix merge issues with untemplated methods
* Address review comments
* Fix mock test, remove warnings inside test dir
Make the simple mock test CI job pass and clean up
any spurious warnings in the test directory.
There still are warnings in the libraries and core, but they
should be addressed in a separate PR.
Adds SSL server mode for WiFiServerSecure, for plain SSL connections,
ESP8266WebServerSecure, for HTTPS web serving, and SecureHTTPSUpdater for
encrypted OTA updates.
Example code is provided for all new options, as well as a BASH script for
generating their own, self-signed certificates.
Both ESP8266WebServerSecure and SecureHTTPSUpdater are important for secure
password-based authentication. HTTP Basic Authentication, the only supported
model presently, sends the username and password in *cleartext* and therefore
should *never* be used in any un-SSL encrypted channel unless you don't mind
sharing your login and password with anyone else on the internet. Even if the
ESP8266 is not safety critical, this cleartext broadcast could expose you should
you reuse this password elsewhere on your network or the internet.
Without this line compiler complains about :
Warning 22:9: warning: deleting object of polymorphic class type 'WiFiServer' which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor] \\Mac\Home\Documents\Visual Studio 2015\Projects\BlinkESP8266_12\ActAsWiFi_server\SVServer.cpp 22
Reason for this is that I would like to init WiFiServer with port which can by dynamically chosen (for example by serial port)
internalServer = new WiFiServer(port);
In addition to the existing constructors (WiFiServer::WiFiServer(port) and WiFiWebServer::WiFiWebServer(port)), new constructors are added:
WiFiServer::WiFiServer(IPAddress, port) and WiFiWebServer::WiFiWebServer(IPAddress, port).
* master: (414 commits)
Don't export sketch if the underlying core does not support it. Fixes#3171
RSyntaxTextArea: using a modified version, tracked at https://github.com/arduino/RSyntaxTextArea. Fixes#3099
Updated keywords.txt
New editor on MacOSX: since CMD+J is known as "jump to selection" and the editor has no such feature, CMD+J is disabled on mac. See #3098
Old Preferences class remains for backwards compatibility as a delegate for PreferencesData
New Preferences window: renders fine on every OS and it's easier to adapt using NetBeans as visual editor. Fixes#3140
Remove spawn from exec command
Removed redundant call to File.deleteIfExists()
Removed buggy redundant check in FileUtils.deleteIfExists()
Restored current line/current selected lines display on lower left of the IDE. Fixes#3134
Updated cursor.ino
New editor on MacOSX: restored CMD+E for finding selected text
New editor on MacOSX: CMD+UP/DOWN moves cursor to start or end of sketch. See #3098
New editor on MacOSX: CMD+BACKSPACE deletes current line until cursor position, ALT+BACKSPACE deletes previous word. See #3098
ArduinoIDE is in the default package. Removed
Fixes #2969:
Fix Uncategorized warning message
New editor: ALT+ BACKSPACE deletes next word (OSX only). See #3098
New editor: ALT+ UP/DOWN move current line only if "editor.advanced" (hidden pref) is true. Fixes#3101
New editor: mark occurrences enable when "editor.advanced" (hidden pref) is true. Fixes#3102
...
Conflicts:
.gitignore
build/build.xml
hardware/esp8266com/esp8266/libraries/ESP8266WiFi/keywords.txt
hardware/esp8266com/esp8266/libraries/ESP8266WiFi/library.properties
hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/ESP8266WiFi.h
libraries/WiFi/README.adoc
libraries/WiFi/src/WiFi.cpp
libraries/WiFi/src/WiFiClient.cpp
libraries/WiFi/src/WiFiClient.h
libraries/WiFi/src/WiFiServer.cpp
libraries/WiFi/src/WiFiUdp.cpp