Commit Graph

40 Commits

Author SHA1 Message Date
array-in-a-matrix 5367ffca96 replaced .cvsignore with .gitignore 2023-09-06 11:45:44 -04:00
Jordan Bancino 77d71989df Don't install configuration files. 2023-08-04 21:15:49 +00:00
Jordan Bancino ae38791df2 Format code, remove dataDir from sample production.conf 2023-04-19 02:07:38 +00:00
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 bdaea9872e Format source code. 2023-03-22 01:46:45 +00:00
Jordan Bancino 996356832e Define TLS API, update HttpClient to support optional TLS.
Also added a LibreSSL TLS implementation. Client is verified to work;
server has not been tested yet.
2023-03-22 00:41:21 +00:00
Jordan Bancino b60cac53e5 Make JsonValueString() call StrDuplicate(); refactor code to behave properly. 2023-02-24 00:17:56 +00:00
Jordan Bancino b753d58171 Apply #41 2023-01-03 13:01:22 +00:00
Jordan Bancino 6960743e43 Apply #40 2023-01-03 04:01:03 +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 f56a067456 Make Makefile more portable 2022-11-20 19:31:04 +00:00
Jordan Bancino 70fd925c98 Make production configuration file more platform-agnostic 2022-11-20 13:25:07 +00:00
Jordan Bancino c23f817a55 Rename Makefile.OpenBSD to just Makefile (other ports may want it) 2022-11-20 13:01:50 +00:00
Jordan Bancino 46dbc7dad5 Change build to all. Apparently OpenBSD ports requires this. 2022-11-20 02:05:02 +00:00
Jordan Bancino 247aeabf66 Begin preliminary work on an OpenBSD port. 2022-11-20 01:53:15 +00:00
Jordan Bancino 8e71cc833c Change behavior of "id" configuration directive. 2022-11-08 17:53:01 +00:00
Jordan Bancino 6c016b813c Add relayd.conf to contrib/ 2022-11-07 16:19:29 +00:00
Jordan Bancino 2c65f4925c Add install and uninstall recipes 2022-11-06 22:01:59 +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 1353fa6429 Remove chroot option; log into the data directory automatically. 2022-10-11 12:00:36 -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 b632411b61 Apply #30 2022-08-21 12:37: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
Jordan Bancino 9904bc5346 Apply #17 2022-07-30 09:34:27 -04:00
Jordan Bancino 6e4ff64d08 Alias make.sh to td, which is a lot easier to type. 2022-07-29 17:09:26 -04:00
Jordan Bancino 81826ad2d2 Apply #11 2022-07-29 15:29:35 -04:00
Jordan Bancino 5d27e2f5eb Telodendria will now run as a standalone daemon.
We really should provide a relayd.conf though.
2022-07-28 10:53:07 -04:00
Jordan Bancino 2f22c63893 Document the configuration file.
Note that we aren't even parsing this yet, but we will soon...
2022-07-28 09:57:59 -04:00
Jordan Bancino d102ba8676 Initial revision 2022-07-22 20:19:12 -04:00