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
685b7c016d
Start work on param parsing.
2022-09-08 21:09:47 -04:00
485941e8a8
Fix bug in JsonEncodeString() where characters get printed to stdout.
...
Thanks @costava:matrix.org for pointing this one out.
2022-09-06 20:53:30 -04:00
c607ba05a9
Implement URL encoding and decoding.
2022-09-06 20:48:27 -04:00
c0474982a6
Fix compile warnings and errors on Linux
2022-08-28 16:05:11 -04:00
7cc08e67fc
Begin Matrix-specific work.
2022-08-28 15:55:48 -04:00
47338fd001
Initialize the server response code
2022-08-28 15:48:58 -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
d3e8886b69
Add some functions.
2022-08-26 21:02:53 -04:00
43c46fd45c
Fix compile and runtime errors
2022-08-26 20:15:27 -04:00
1dc4261f6f
Add Http.c
2022-08-26 11:11:15 -04:00
275d06c127
Begin prototyping the HttpServer API
2022-08-26 11:07:54 -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
9378a4d369
Implement basic thread pool with dummy 500 messages.
2022-08-24 19:31:28 -04:00
f950233dbc
Add UtilSleepMillis() function.
2022-08-24 19:30:20 -04:00