wificfg.c defines the default values for ssid, password and hostname. But
because these are not weak, trying to redefine these causes a link error.
This change marks the definitions in wificfg.c weak, thus making it
possible for a program using the wificfg component to redefine these w/o
having to touch wificfg.c.
FreeRTOS/Source/include/FreeRTOSConfig.h makes sure configUSE_TRACE_FACILITY
is always defined. But it's defined to 0 when TRACE_FACILITY is disabled.
When #ifdef is used, the guarded blocks of code are always compiled and
this results in link failure when TRACE_FACILITY is in fact not enabled.
A hostname is also useful in AP mode, so also default it in AP mode -
it was previously only defaulted in station mode.
Correct the host redirection logic, to work when no hostname is defined.
Remove the wificfg_got_sta_connect() function and replace it with
wificfg_wait_until_sta_connected(). This replaces a probe function with a wait
function, and this better fits the wifi layer using an event model - the wait
function can wait on a station connection event before returning.
The shutdown hooks are call when the wificfg restart function is used. It can
be used to implement a cleaner restart, for example blocking further i2c and
flash operations.
* The mdns responder has been reworked to lower stack and memory usage. This is
a variation on the upstream code, it use malloc whereas the upstream code uses
pools. The high stack usage of the mdns responder was problem for
esp-open-rtos, so we might have to maintain the differences for now.
* Improved lwip core locking, and lock checking. Upstream improvements, that
need some added support from esp-open-rtos specific code. More core lock is
performed when calling from the esp-open-rtos code now, so a little safer. The
checking is not enforced, but projects might see warning messages and might
want to look into them.
* The esp-open-rtos lwip support has been sync'ed with the new freertos port
included with lwip. There are still some minor differences.
* A few lwip timer bugs have been resolved. This might help resolve some issues.
* Plus it picks up all the other upstream fixes and improvements.
* The default lwip stack has been lowered from 768 words to 480 words,
due to the reduced stack usage by the mdns responder.
* wificfg: remove the AP WEP mode option
The WEP mode does not appear to be implement in the sdk for the AP mode, and
defaults to open when WEP is requested which is probably not intended. Remove
the WEP option from the wifi config interface.
* lwip: enable mdns dns queries.
* wificfg: support mDNS on the softAP interface.
* When IPv6 is enabled the http server and the captive portal dns now also
accept IPv6 connections. The interface and peer IPv6 address are now also
reported.
* The http server no longer redirects <name>.local to an IP address for better
integration with mDNS.
* Add mDNS support, for the extras/mdnsresponder or the LWIP mDNS responder,
and enable the LWIP mDNS responder for examples/wificfg.
* Correct checking of the AP password and SSID lengths.
* Only enable AP mode if it is really configured enabled.
* Only start the http server if wifi is enabled.
This patch gets the newlib standard stream descriptors playing well with the
lwip socket descriptors and the spiffs file descriptors. The LWIP_SOCKET_OFFSET
is now defined to be 3, rather than zero, to avoid clashing with the standard
stream descriptors, and the SPIFFS_FILEHDL_OFFSET is bumped up to start after
the lwip descriptors.