a8beded518
Fix occasional "Bad Request" response by waiting for data to be sent.
...
This also makes UtilGetDelim() and UtilGetLine() thread safe in that it
isn't setting a global errno. Of course, errno should be thread safe
already, but this makes it much less ambiguous.
2022-11-02 16:21:03 +00: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
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
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
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
945acd1adf
Format source code
2022-10-13 09:09:26 -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
6b57fc45a2
Implement param encoding, clean up warnings in decoding function.
2022-10-03 13:40:29 -04:00
271cdd8ff0
Abstract the data structure out of the path handling logic.
2022-09-30 12:48:45 -04:00
45324ce77a
Implement /_matrix/client/versions and /.well-known/matrix/client
2022-09-29 13:41:26 -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
21894489cb
Rename MatrixCreateError() to MatrixErrorCreate()
2022-09-16 11:49:48 -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
1d0c48ce32
Add constants
2022-09-14 16:57:19 -04:00
685b7c016d
Start work on param parsing.
2022-09-08 21:09:47 -04:00
c607ba05a9
Implement URL encoding and decoding.
2022-09-06 20:48:27 -04:00
7cc08e67fc
Begin Matrix-specific work.
2022-08-28 15:55:48 -04:00
4cd24a6e97
Finally getting into Matrix territory
2022-08-28 15:45:24 -04:00
d7d960b77d
Parse HTTP requests and invoke the request handler.
2022-08-28 14:30:15 -04:00
43c46fd45c
Fix compile and runtime errors
2022-08-26 20:15:27 -04:00
275d06c127
Begin prototyping the HttpServer API
2022-08-26 11:07:54 -04:00
f950233dbc
Add UtilSleepMillis() function.
2022-08-24 19:30:20 -04:00
be001fb17a
Make HttpServer utilize Queue.
2022-08-24 10:06:14 -04:00
ab4afe1587
Add basic Queue implementation.
2022-08-24 09:06:27 -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
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
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
fa0bd9a7c6
Apply #14
2022-07-29 15:36:21 -04:00
8e8ac04505
Start documenting the headers.
2022-07-29 12:32:52 -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