Adapt https://www.lua.org/work/diffs-lua-5.3.5-lua-5.3.6.html to
NodeMCU. Mostly a straight application, but some small tweaks were
required and, in lundump.c, some changes were elided and some additional
diff reduction applied, as we have heavily diverged from upstream.
* Allow configuration of debugOutput to be performed
* don't send to own IP or update own data
* Use same socket to send and receive. Avoid problems in many opened and closed sockets to send
* Add callback for REMOVEed hosts
* Send broascast messages if seedList is empty
* Adapt yeelink to new luacheck rules
* Fix building of luac.cross for win to win2019 and VS 2019
This is intended to be a more portable abstraction: rather than
hard-coding offsets in the macro invocations, it relies on the existence
of __builtin_offset and its availability even within inline asm blocks.
While here, rename some of the functions involved to hopefully improve
clarity
Discovered over on the dev-esp32-idf4 branch.
- Off by one error in loadLFS, leading to slight memory leak and
potential corruption.
- Insufficient return value check in loadLFS, where uzlib may return
one of two success conditions, one of which would result in an
out-of-bounds access and related pain.
- One case of a side effect within a lua_assert(), leading to
silently broken LFS image handling when compiling without asserts
enabled, the issue showing up as module names being shuffled around.
- Incorrect encoding of TValues in LFS when 64bit numbers in use.
LWIP_RAND() return type is int, value returned is sometimes negative.
This causes timer to sometimes (often) go outside of max_time, which in turn causes IGMP snoopers or IGMP routers to drop the subscription
While we intend our release strategy to be that we just fast-forward our
`release` branch to `dev`, things have come a little off the wheels.
This is a "git merge -s recursive -X theirs" of `dev` into `release`
instead.