The UDPServerMain was badly designed and had multiple potential bugs and
unexpected & silent failures. The changes simplify the code here, and
tracks those unexpected failures in app-wide statistics. Also added,
while at that, some more tracking of how many packets and bytes are
sent & received per client
Before, a lot of common errors went unnoticed, due to insufficient
compiler diagnostics. This commit fixes this by adding a lot of new
diagnostics, and fixing the issues found by this.
The event loop tries to run no faster than every 10ms. If it detects
that it goes faster, it would incorrectly calculate the difference, and
then wait (what I assume was) way too long or too short.
Either way, now it's fixed and it correctly works, even when introducing
new lua states.
CMake will now find packages in a modern way (include(Find*)), and will
also ensure that submodules are updated, unless told otherwise.
Also removed some apple-specific workarounds, we will need to look at
that again.
* Add preliminary work for HTTP health endpoint
* Http: Fix infinite loop bug in Tx509KeypairGenerator::generateKey()
* update commandline
* Add TLS Support class for use with http server
* Add preliminary HTTP Server; TLS still broken; fix in later commit
* Fix TLS handshake, due to server being unable to serve key/certfile in 'Http.h/Http.cpp'; Cause was httlib not being threadsafe due to being a blocking http library
* Run clang format
* Add option to configure http server port via ServerConfig
* TConfig: add HTTPServerPort to config parsing step
* Fix SSL Cert / Key path not auto generating when not existing
* Add health endpoint; Fix SSL Cert serial no. not refreshing when regenerating
* Switch arround status codes in /health route
* Run clang format
Co-authored-by: Lion Kortlepel <development@kortlepel.com>