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
6b8d0f6d5f
Add canonical Json implementation.
2022-07-27 17:28:05 -04:00
c143136097
Implement JsonFree(), make string handling UTF-8 aware.
2022-07-27 17:27:34 -04:00
39af3c2194
Add ArraySort()
2022-07-27 15:31:34 -04:00
4c7ec4af56
Add UtilUtf8Encode() and UtilServerTs()
2022-07-27 13:47:20 -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
ace2682dec
Rework HashMapIterate to be more flexible.
...
We now get the keys, and we don't have to operate within the confines
of a callback function.
2022-07-25 21:31:09 -04:00
580b036d26
Add key to bucket, make iteratorFunc in HashMapIterate take it.
2022-07-25 16:26:30 -04:00
3437c5db2c
Format headers as well.
...
indent(1) does a weird thing with prototype functions, but it's good
enough for me, as long as it's consistent.
2022-07-25 15:25:06 -04:00