Commit graph

55 commits

Author SHA1 Message Date
c3618488f2 Hexdump leaked memory to the log for debugging. 2022-12-15 20:18:12 +00:00
ede060ef59 Add ASCII logo! 2022-12-13 17:09:05 +00:00
fb5a8e4587 Convert configuration file to JSON 2022-12-09 23:57:30 +00:00
70bdf81df7 Fix references to old LOG_ constants 2022-11-24 18:51:07 +00:00
7544a97c7d Format source code, add .exrc 2022-11-23 14:56:31 +00:00
84f311ae09 Don't make assumptions about where the config file is. 2022-11-23 14:31:05 +00:00
a0304f4062 Move where we open the database 2022-11-21 16:39:38 +00:00
0c6c1e5b19 Notify the user about the minimum max-cache instead of silently setting it. 2022-11-21 16:22:50 +00:00
cd584c1e93 Lock objects on disk if they're locked in memory.
This requires hanging onto an open file handle, and doesn't require
explicit unlocking, because POSIX says files are unlocked when their
descriptors are closed.
2022-11-21 16:13:11 +00:00
0fa2da8177 Don't chroot() on OpenBSD (pledge() causes it to trap here) 2022-11-20 13:19:56 +00:00
9597894356 Fix some warnings on GCC.
These aren't really anything to be concerned about, but making GCC feel good
about my code makes me feel better about my code.
2022-11-17 19:33:59 +00:00
8e71cc833c Change behavior of "id" configuration directive. 2022-11-08 17:53:01 +00:00
6992f36c86 Fix segfault in fclose() on Linux. 2022-11-02 00:35:05 +00:00
757938b293 Fix segvault if no config file was specified. 2022-11-01 09:47:25 -04:00
82d460da6f Fix some sneaky memory bugs and resource leaks. 2022-11-01 09:04:15 -04:00
63dbf9ae35 Fix a few more memory bugs. Still have some to tackle. 2022-10-31 19:52:37 -04:00
fd50fd83fb Misc changes throughout the codebase during testing. 2022-10-31 08:12:42 -04:00
bcff59bacb Store memory info in the allocated block, not as a separate block.
This will eventually enable us to get memory information in O(1) time.
Right now, we're still O(n) because MemoryInfoGet() still has to check to
see if the allocation is known or not.
2022-10-28 14:07:44 -04:00
f90b987218 Add a Db to the matrixArgs so that routes can access it. 2022-10-24 14:36:48 -04:00
624b080d47 Add max-cache option to the config file 2022-10-24 13:40:21 -04:00
648ce5c4cc Remove NonPosix.h; it seems to be causing more trouble than it's worth. 2022-10-15 11:45:23 -04:00
bb93cae99a Remove non-standard __FUNCTION__ use.
This cripples the Memory API just a little bit, but I'm sure we'll still
get useful enough information.
2022-10-15 09:34:47 -04:00
0c03c71081 Allow logging to the syslog 2022-10-14 20:55:15 -04:00
31719c2cd6 Tell exactly where the leaked pointer is, so it can be grepped. 2022-10-13 12:46:41 -04:00
80366fc294 Fix a few more calls to free() 2022-10-13 12:27:24 -04:00
8cb86e8f67 Use new Memory API for all memory allocations. 2022-10-13 12:18:42 -04:00
945acd1adf Format source code 2022-10-13 09:09:26 -04:00
2df0cd9d26 Begin integrating new Memory API 2022-10-13 09:08:05 -04:00
1353fa6429 Remove chroot option; log into the data directory automatically. 2022-10-11 12:00:36 -04:00
5d9b0df0bf Remove the redundant chroot option. This simplifies the config a bit. 2022-10-11 11:38:34 -04:00
cfcef45c00 Make the log file message more visible. 2022-09-30 13:13:27 -04:00
45324ce77a Implement /_matrix/client/versions and /.well-known/matrix/client 2022-09-29 13:41:26 -04:00
b5d538f2ce Cleaned up argument parsing to match what was in the docs 2022-09-24 19:41:39 -04:00
4cd24a6e97 Finally getting into Matrix territory 2022-08-28 15:45:24 -04:00
43c46fd45c Fix compile and runtime errors 2022-08-26 20:15:27 -04:00
d8a89c4750 Free server when we're done with it.
This frees up a lot of memory, and closes the server socket so that the
operating system doesn't have to do it, because the operating system may
take a while to actually close the socket.
2022-08-24 19:36:29 -04:00
640e127ce5 Fix chroot() logic on non-OpenBSD platforms. 2022-08-24 16:10:34 -04:00
315589cd1b Accept #29 2022-08-21 12:35:16 -04:00
538412d1c2 Apply #26 2022-08-12 21:30:03 -04:00
30ae6586b2 Accept #28, with modifications. 2022-08-12 19:32:06 -04:00
af03988db7 Poll the socket for data events. 2022-08-11 21:19:52 -04:00
d9c944871a Abstract socket creation and binding behind the HttpServer API. 2022-08-11 20:13:10 -04:00
e94212b080 Bind to socket; HTTP server event thread; signal handling. 2022-08-11 19:40:13 -04:00
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
4304a28302 TelodendriaConfigParse() doesn't modify the LogConfig.
Also pledge() and unveil() as soon as possible, to avoid the log file
breaking out.
2022-08-10 21:13:05 -04:00
9ae05e84f2 Implement user validation. 2022-08-10 11:58:39 -04:00
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
b3e71c32fd Update license text. 2022-07-28 12:00:52 -04:00
c991d93444 Add license headers to all source files. 2022-07-28 11:15:04 -04:00
bc849819d9 Make HashMap and Json conform to C89.
Clang on OpenBSD didn't catch this, but GCC on Linux did.
2022-07-27 09:47:22 -04:00