Commit graph

116 commits

Author SHA1 Message Date
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
bbee9dcea6 Fix some more bugs. 2022-10-31 20:41:50 -04:00
63dbf9ae35 Fix a few more memory bugs. Still have some to tackle. 2022-10-31 19:52:37 -04:00
ead65e7334 Fixed some misc bugs I found while debugging a memory error. 2022-10-31 11:07:32 -04:00
fd50fd83fb Misc changes throughout the codebase during testing. 2022-10-31 08:12:42 -04:00
b24ab05e8b Revert revision 1.4: Memory in O(1) time.
This has some bugs in it that I don't have time to work out right
now. Best to revert to a known working version as the project gains
attention until I can address this properly.
2022-10-31 08:08:32 -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
e009536065 Begin prototyping persistent storage API 2022-10-24 12:44:29 -04:00
5ca5ec7dd4 Complete parameter parsing 2022-10-15 19:17:49 -04:00
52abd18324 First revision of param parsing 2022-10-15 18:54:34 -04:00
b645a0b2c1 Hook param parsing into the request logic. 2022-10-15 16:28:32 -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
887c4e4d5b Fix some warnings generated by Cygwin's GCC. 2022-10-15 10:28:03 -04:00
4707f0f4c8 Clean up some NonPosix.h stuff so we can build on Linux.
It appears that SOCK_NONBLOCK is not actually POSIX. According to the
OpenBSD man page, it will be soon, and according to the Linux man page,
it is a Linux extension. However, fcntl() with O_NONBLOCK seems to be
portable across both systems.
2022-10-15 10:08:52 -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
65dad27902 Fix some server context memory leaks. 2022-10-13 12:34:17 -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
8ae86b18fe Add hook functionality so we can log allocations and deallocations. 2022-10-13 08:50:27 -04:00
2d49ac78b8 Add custom memory management code.
This will be helpful in detecting leaks among other things, and may help
with controlling the cache size as well.
2022-10-12 21:29: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
414b8d47be Add HashMapFunctionSet() to allow custom hash functions. 2022-10-11 09:27:34 -04:00
744f38784c Finish HashMap documentation 2022-10-10 15:08:19 -04:00
79fc20314f Format source code. 2022-10-10 13:14:52 -04:00
6b57fc45a2 Implement param encoding, clean up warnings in decoding function. 2022-10-03 13:40:29 -04:00
cfcef45c00 Make the log file message more visible. 2022-09-30 13:13:27 -04:00
271cdd8ff0 Abstract the data structure out of the path handling logic. 2022-09-30 12:48:45 -04:00
90166882b0 Remove an unnecessary variable. 2022-09-30 12:48:33 -04:00
45324ce77a Implement /_matrix/client/versions and /.well-known/matrix/client 2022-09-29 13:41:26 -04:00
0ec976d1dd Fix HttpUrlDecode memory issue; write pathParts array 2022-09-28 14:45:45 -04:00
acffd82b48 Move Base64 documentation to man page. 2022-09-27 16:13:59 -04:00
5ecb810a88 Move Array documentation to man page. 2022-09-24 21:35:52 -04:00
b5d538f2ce Cleaned up argument parsing to match what was in the docs 2022-09-24 19:41:39 -04:00
55967c2d75 Start work on routing 2022-09-23 08:06:24 -04:00
3ba80eea64 Remove header.txt 2022-09-23 08:05:45 -04:00
8bd7e27de1 Fix bug in QueuePop() 2022-09-17 15:59:47 -04:00
21894489cb Rename MatrixCreateError() to MatrixErrorCreate() 2022-09-16 11:49:48 -04:00
d7a1f7411d Send M_UNKNOWN on all requests for now. 2022-09-16 11:49:21 -04:00
d0fb926f2a Add error generation logic. 2022-09-16 11:27:34 -04:00
13763eb77b Format code 2022-09-14 17:15:39 -04:00
184866532a Spec: Implement CORS 2022-09-14 17:15:05 -04:00
1d0c48ce32 Add constants 2022-09-14 16:57:19 -04:00