95ceba0645
Add length calculations to JsonEncode() so we can set Content-Length.
2023-05-06 19:23:13 +00:00
3d9a7664b1
Add support for building static and shared libraries.
2023-05-06 17:04:35 +00:00
f1f66c6331
Fix the Makefile by sourcing tools/env.sh if TELODENDRIA_ENV is unset.
2023-04-30 01:47:27 +00:00
abbbfe4d7f
Replace all usages of curl in tp, document tp and tt.
2023-04-29 23:28:33 +00:00
e0c94d7bd2
Site now pulls built man pages.
2023-04-29 18:39:01 +00:00
f819093b7d
Don't spew unknown expression warnings if @suppress-warnings is set.
2023-04-29 15:28:42 +00:00
0b1b4a8b29
Cope with preprocessor macro usage at the top level of the header.
...
This workaround allows us to parse the Routes.h properly, although it
notably lacks support for multi-word unknown expressions.
2023-04-29 15:24:46 +00:00
b70c3f0bed
Finish converting all existing documentation. Next up is writing new docs.
2023-04-29 02:54:49 +00:00
71fa96d10d
Format source code.
2023-04-27 20:05:08 +00:00
a00ded6d06
Add support for parsing global variables, not just function declarations.
2023-04-27 20:04:15 +00:00
9292f1d9da
Add docs recipe for generating documentation from the headers.
...
Note that since all the headers are not documented yet, this will fail
because an undocumented function is a fatal error in hdoc.
2023-04-27 18:39:05 +00:00
9880aac674
Split format recipe into format and license.
...
Format formats only C source code. License applies the license file to
C source code *and* header files.
2023-04-27 18:03:32 +00:00
72467f6503
Begin moving documentation to headers.
2023-04-27 03:08:39 +00:00
3b06ab120b
Add some flags to hdoc to make it more useful.
2023-04-27 02:30:44 +00:00
2447bb63cc
Add hdoc, a simple tool for generating documentation from a C header.
...
This is a very early prototype. It works, but it is probably not efficient
or reliable. However, the documentation format it parses is stable, so I
will begin moving the documentation into the headers.
2023-04-27 01:34:49 +00:00
fdcf7ec065
Update changelog, add LD_EXTRA variable in td.
2023-04-26 01:43:32 +00:00
459b2e856f
Format source code.
2023-04-25 22:13:28 +00:00
d933d12e1b
Make Rand use a provided Mersenne Twister.
...
This implementation is loosely inspired by the original paper on the
Mersenne Twister, and borrows code from a public-domain implementation of
it, adapting it to fit the style of Telodendria's code, and fixing a few
bugs regarding the size of the data type used.
Neither C nor POSIX provide a good, thread-safe pseudorandom number
generator. The OpenBSD linker started complaining about the use of
rand_r(), and no standard alternative presented itself as worthy of
consideration, so I finally decided it was time to roll my own PRNG.
2023-04-25 21:28:55 +00:00
098eed44a0
Fix bug in MatrixWellKnown(), begin /_matrix/client/v3/capabilities
2023-04-25 18:37:25 +00:00
737e060243
Finish up Uia fallback.
2023-04-22 15:40:25 +00:00
0cca38115a
Move configuration to database, add process control API, fix memory leaks.
2023-04-19 00:33:38 +00:00
3192063340
Fix broken tt script.
2023-04-07 14:20:22 +00:00
e0c8530b12
Clean up http client enough to replace curl in send-patch.
2023-04-01 02:46:07 +00:00
e592840c99
Clean up some HTTP client stuff.
2023-04-01 02:13:41 +00:00
7b3d537175
Remove UtilStreamCopy()
2023-04-01 00:20:18 +00:00
aeb49f80e5
Add support for OpenSSL. This is a good demo of how easy it is to support TLS libraries.
2023-03-24 02:41:01 +00:00
007e639b0c
Don't require the TLS_ in the environment variable.
...
It's redundant.
2023-03-24 00:25:44 +00:00
e13442c122
Fix strange behavior in TlsLibreSSL.
...
tls_read() and tls_write() may return TLS_WANT_POLLIN or TLS_WANT_POLLOUT
if data isn't ready to be read or written yet. We have to account for this
by converting it to EAGAIN, which is how a typical read() or write()
function should behave.
Also installed a SIGPIPE handler; we do not want to be terminated by
SIGPIPE, and it's safe to ignore this signal because it should be
handled thoroughly in the code.
2023-03-23 16:39:15 +00:00
2441f07848
Add support for spinning up multiple HTTP servers.
...
This is useful for having a TLS and a non-TLS version port, like Synapse.
I verified that the multiple-servers does in fact work as intended,
although the TLS server part is broken; I must be doing something
incorrectly with LibreSSL in setting up the server.
2023-03-23 02:12:45 +00:00
fccd15b239
Don't unconditionally close standard input; it may have been used and
...
closed before. If it was never used, it was never opened.
2023-03-22 18:12:46 +00:00
b8d00bc8bf
Make td run warn if Memory.txt gets created.
2023-03-22 14:57:57 +00:00
b58ca7d22e
Start working on adding TLS support to HttpServer.
2023-03-22 01:46:24 +00:00
6561b5bae1
Add TLS build support to td.
2023-03-22 01:17:42 +00:00
d1b4ecff48
Apparently the order of LDFLAGS matters to some compilers.
...
Also don't to -pg in debug mode, because that's not supported on all
compilers either.
2023-03-22 00:13:27 +00:00
63d07365db
Don't close standard output twice, that leads to a segfault!
2023-03-22 00:12:04 +00:00
5289c16e2b
Convert all code to new Stream API.
...
Also made a number of improvmements to tt, making it compatible with more
shells.
2023-03-18 14:32:09 +00:00
65f4c90df3
Rename HttpStream() to HttpServerStream() to match HttpClientStream()
2023-03-16 02:17:48 +00:00
5dbaf3c223
Apply #65 , remove printf() in Db, and make tt show login messages.
2023-03-15 13:36:49 +00:00
62cd1cdc98
Misc changes.
2023-03-12 03:37:57 +00:00
64add9c9ab
Fix unused variable warning.
2023-03-10 20:12:25 +00:00
3037f12907
Add tt and http-debug-server tools.
2023-03-10 18:48:52 +00:00
2d9b706f38
Fix I/O in JsonConsumeWhitespace() and UtilStreamCopy().
...
These functions previously operated on the assumption that fgetc() would
block; however it will not block on HttpServer streams because those are
non-blocking. They now check error conditions properly before failing
prematurely.
2023-03-10 18:46:03 +00:00
fd12dee62e
Make sure a newline is printed after JSON object is pretty-printed.
2023-03-10 04:30:56 +00:00
8ead9cc93a
Apply #63 , make some general bug fixes.
2023-03-10 03:24:04 +00:00
7344d4fa46
Apparently some shells interpret the - in a string as an argument delimiter???
2023-03-09 02:49:14 +00:00
ca053a12b1
Break out main() into Main.c, fix some compile warnings on Cygwin.
2023-03-09 02:46:04 +00:00
9a1300ff2e
Make sure input is initialized.
2023-03-09 02:22:13 +00:00
012c334ee5
Make send-patch use json instead of jq.
2023-03-09 00:06:15 +00:00
20ebeb9c32
Switch tp from using jq to json; format td
2023-03-08 22:47:40 +00:00
efdf168085
Allow encoding user-provided strings.
2023-03-08 20:31:49 +00:00