Commit Graph

642 Commits

Author SHA1 Message Date
Lion Kortlepel
34b39aad4d add message to shutdown suggesting Ctrl+C if it takes too long
This is an ongoing issue that needs to be resolved properly,
but I'm not sure what's hanging it.
2022-04-28 14:30:44 +02:00
Lion Kortlepel
974dda9f8b HTTPServer: Add config value to specify listen IP
Change default IP to localhost,
Set default SSL to false due to this.
2022-04-28 14:12:26 +02:00
Lion Kortlepel
0979c8b1e4 HTTPServer: Attempt to catch more errors 2022-04-28 14:04:54 +02:00
Lion Kortlepel
0761036c8c TConsole::StartLoggingToFile: implement 2022-04-28 13:46:25 +02:00
Lion Kortlepel
5ded713b4b Application::CheckForUpdates: only print status the first time 2022-04-28 13:33:38 +02:00
Lion Kortlepel
056d20292a Make "unable to fetch version" a trace message 2022-04-28 13:14:28 +02:00
Lion Kortlepel
d8c33c03ee start work on new logger 2022-04-05 22:27:45 +02:00
Lion Kortlepel
1bab3276e9 fix setsockopt SO_SNDTIMEO for windows, bump version number to 3.0.2, update commandline 2022-04-05 10:59:16 +02:00
Lion Kortlepel
4ff69528bd fix some missing declaration 2022-03-31 23:56:02 +02:00
Lion Kortlepel
5e4c7eac51 add send timeout to client tcp socket 2022-03-31 23:53:10 +02:00
Lion Kortlepel
d4b30a2583 CreateEventTimer: Implement CallStrategy
There are two CallStrategies:

- BestEffort (default): Will try to get your event to trigger at the specified
  interval, but will refuse to queue handlers if a handler takes too
  long.
- Precise: Will enqueue event handlers at the exact interval specified.
  Can lead to the queue filling up if the handler takes longer than the
  interval.
2022-03-31 20:13:59 +02:00
Lion Kortlepel
81dbf747d5 Kick client if we fail to send them a client event 2022-03-31 16:50:00 +02:00
Lion Kortlepel
b97397132d TLuaEngine: improve result queue handling 2022-03-31 15:59:31 +02:00
Lion Kortlepel
de82caef33 Add HideUpdateMessages setting ("ImScaredOfUpdates") and periodic update reminders (every 5th heartbeat) 2022-03-25 13:34:28 +01:00
Lion Kortlepel
71c2d4b859 Simplify "Backend heartbeat response" error (closes #97) 2022-03-25 12:55:35 +01:00
Lion Kortlepel
359faee696 Fix Unicycle "infinite spawning" bug 2022-03-10 12:22:11 +01:00
Lion Kortlepel
5553aca0bb set heartbeat status properly 2022-02-12 22:08:49 +01:00
Lion Kortlepel
beaea4f624 Fix crash when giving commandline arguments with no console initialized 2022-02-11 11:57:01 +01:00
Lion Kortlepel
36853ca683 add MSG_NOSIGNAL to all calls to send() to get rid of useless SIGPIPE signals 2022-02-11 10:59:17 +01:00
Lion Kortlepel
d969c4a2c2 Use nlohmann/json for IsUnicycle 2022-02-11 10:36:10 +01:00
Lion Kortlepel
f26ca6b40d add nlohmann/json
this will conflict with a change in the http branch, but i dont care
right now
2022-02-11 10:19:10 +01:00
Lion Kortlepel
754053e73f Use yield() where possible
Replaced calls of this_thread::sleep_* with this_thread::yield(), which
yields the thread to the OS' scheduler.
2022-02-03 18:57:52 +01:00
Lion Kortlepel
29f8d29e33 Move commandline initialization after cwd setting
This fixes an issue where the log file is written to the original
directory, even if --working-directory=path was used. This can obviously
be pretty bad.
2022-02-03 18:31:18 +01:00
Lion Kortlepel
fca5bbcec9 UpdateCheck: Try all URLs 2022-01-21 14:26:42 +01:00
Lion Kortlepel
cd4129e05d add api-v header to heartbeat post 2022-01-20 16:09:08 +01:00
Lion Kortlepel
c42c748b37 start fixing backend heartbeat 2022-01-20 15:46:13 +01:00
Lion Kortlepel
435d73f0c1 Remove message thing from master, reimplement this later 2021-12-09 12:09:55 +01:00
Lion Kortlepel
a5c23f8dde Add ping packet support 2021-12-09 12:08:41 +01:00
Lion
6c5b2cbeb5 Merge branch 'master' into rewrite-lua 2021-12-09 12:04:33 +01:00
Lion Kortlepel
ca5b3956a1 Http: Dont generate ssl key/cert with ssl off, reinterpret_cast for
windows
2021-12-08 17:39:13 +01:00
Lion Kortlepel
924e18c163 Remove /status placeholder 2021-12-08 17:39:13 +01:00
Lion Kortlepel
a19943c96d Example impl for /status 2021-12-07 15:34:01 +01:00
Lion Kortlepel
cd19ae0836 Add shutting down / shutdown states to state keeper 2021-12-07 14:25:04 +01:00
Lion Kortlepel
3ee83904a1 Windows rewrite when
jfc since when is `c_str()` not convertible to `const char*`?
2021-12-06 15:13:55 +01:00
Lion Kortlepel
fe652cbf42 Fix server paths 2021-12-06 15:08:01 +01:00
Lion Kortlepel
816d3d5df8 Re-add split history (?) 2021-12-06 14:12:54 +01:00
Lion Kortlepel
817a146699 Add state id to lua prompt 2021-12-06 13:57:40 +01:00
Lion Kortlepel
3cce875fbb Add UseSSL option to server config 2021-12-06 13:47:07 +01:00
Lion Kortlepel
a1335e8c7d Add statuses, status messages 2021-12-06 13:17:54 +01:00
Lion Kortlepel
0f74eca2ee Fix various issues and crashes 2021-12-06 12:28:52 +01:00
Lion Kortlepel
279c93179c Fix segfault in http 2021-12-06 10:22:52 +01:00
Lion Kortlepel
62cc1e9ce4 Http: Add config value to turn it off, move all http settings into a category in the config 2021-12-06 09:53:13 +01:00
awesome_milou
9d283738aa Add preliminary work for HTTP health endpoint (#68)
* 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>
2021-12-05 18:24:55 +01:00
Lion Kortlepel
b33d50361c fix typo in --help 2021-12-05 01:40:39 +01:00
Lion Kortlepel
479bb9f931 TLuaEngine: Make WaitForAll timeout optional 2021-12-05 01:32:15 +01:00
Lion Kortlepel
a289d0e872 Add timeout to WaitForAll 2021-12-05 01:09:41 +01:00
Lion Kortlepel
86169ad0fa TConsole: Add notice about help command on wrong command 2021-12-05 00:55:42 +01:00
Lion Kortlepel
7b99ccb08e Add --working-directory flag 2021-12-05 00:42:50 +01:00
Lion Kortlepel
265dd710cf add status command 2021-12-02 01:25:17 +01:00
Lion Kortlepel
eb67f483b2 Another possible fix for deadlock 2021-11-29 03:07:20 +01:00