Commit Graph

18 Commits

Author SHA1 Message Date
Jordan Bancino 0cca38115a Move configuration to database, add process control API, fix memory leaks. 2023-04-19 00:33:38 +00:00
Jordan Bancino b4e4263cea Remove my testing configuration from contrib/development.conf 2023-03-23 16:40:23 +00:00
Jordan Bancino e13442c122 Fix strange behavior in TlsLibreSSL.
tls_read() and tls_write() may return TLS_WANT_POLLIN or TLS_WANT_POLLOUT
if data isn't ready to be read or written yet. We have to account for this
by converting it to EAGAIN, which is how a typical read() or write()
function should behave.

Also installed a SIGPIPE handler; we do not want to be terminated by
SIGPIPE, and it's safe to ignore this signal because it should be
handled thoroughly in the code.
2023-03-23 16:39:15 +00:00
Jordan Bancino 2441f07848 Add support for spinning up multiple HTTP servers.
This is useful for having a TLS and a non-TLS version port, like Synapse.
I verified that the multiple-servers does in fact work as intended,
although the TLS server part is broken; I must be doing something
incorrectly with LibreSSL in setting up the server.
2023-03-23 02:12:45 +00:00
Jordan Bancino 089d8d4d94 Only install the memory hook if -v is given.
This way, we can still set the debug level in the configuration, and not
see the log just absolutely flooded with memory allocations and whatnot.
This is helpful because I want debug messages to show up in development,
but not in production, but having all the memory logging makes it
almost impossible to pick anything else out of the log. I want the
feature available, just not on by default because it's useful in limited
circumstances.
2023-03-22 18:29:05 +00:00
Jordan Bancino b60cac53e5 Make JsonValueString() call StrDuplicate(); refactor code to behave properly. 2023-02-24 00:17:56 +00:00
Jordan Bancino fb5a8e4587 Convert configuration file to JSON 2022-12-09 23:57:30 +00:00
Jordan Bancino be3b73f2af Fix cache size warning 2022-11-23 00:53:06 +00:00
Jordan Bancino 8e71cc833c Change behavior of "id" configuration directive. 2022-11-08 17:53:01 +00:00
Jordan Bancino fddfbf57ca Add some comments for future developers. 2022-11-01 21:50:02 +00:00
Jordan Bancino 624b080d47 Add max-cache option to the config file 2022-10-24 13:40:21 -04:00
Jordan Bancino 5d9b0df0bf Remove the redundant chroot option. This simplifies the config a bit. 2022-10-11 11:38:34 -04:00
Jordan Bancino 45324ce77a Implement /_matrix/client/versions and /.well-known/matrix/client 2022-09-29 13:41:26 -04:00
Jordan Bancino 30d055d570 Accept 29 2022-08-21 12:35:12 -04:00
Jordan Bancino 9cf2266ece Make TelodendriaConfigParse() actually validate the listenPort.
I want to already have a valid port number by the time we need to bind
to it.
2022-08-11 11:50:35 -04:00
Jordan Bancino 9ae05e84f2 Implement user validation. 2022-08-10 11:58:39 -04:00
Jordan Bancino 2b9b6368ba Apply #25 2022-08-10 10:40:41 -04:00
Jordan Bancino cdd7808642 Prototype the configuration file parser.
Right now there's a nasty memory bug I need to fix. Will have to run this
through valgrind.
2022-08-09 20:05:41 -04:00