1c32e18c74
Json now uses Int64 for integers.
...
This should fix all timestamp errors on 32-bit systems in Cytoplasm and
Telodendria.
2023-08-13 03:11:40 +00:00
d565640455
Add schema for PDUs v1 and v3, the only unique PDU formats.
...
All other room versions use one of these two PDU formats.
2023-08-10 00:08:33 +00:00
bc71a7ec01
Add admin privilege to manage room aliases.
2023-08-09 15:50:03 +00:00
69d28f39d1
Begin working on room aliases.
...
These endpoints will help me build out some functionality that will be
needed when actually implementing rooms.
2023-08-09 15:19:45 +00:00
e0af88145e
Add RouteCreateRoom stub.
2023-08-08 15:11:50 +00:00
6ef965d1e0
Apply patch to make MatrixErrorCreate() take a custom message.
2023-08-05 19:26:03 +00:00
6ec87b8d76
Properly exclude Schema directories from showing up in CVS.
2023-08-05 14:03:08 +00:00
5f3220372e
Implement filter validation by using j2s.
2023-08-05 13:46:23 +00:00
a4330123b9
Add EventRedact() prototype.
2023-07-09 23:18:18 +00:00
b1c23ee53a
Begin prototyping state resolution API.
2023-07-07 03:15:13 +00:00
bc8283f844
Begin prototyping room API.
2023-07-07 02:56:09 +00:00
539fde773f
Fix CanonicalJson and ArraySort.
2023-06-21 02:37:56 +00:00
861d4146c0
Add Filter API to validate filters and process events.
2023-06-18 02:53:06 +00:00
f9e1250d47
Begin working on filtering.
2023-06-17 19:09:06 +00:00
a4f369a0a9
Fix leak in HttpClient.
2023-05-21 13:55:49 +00:00
8021cff122
Make Telodendria use Cytoplasm.
...
This commit removes all the duplicate code and makes Telodendria use the
new Cytoplasm library.
2023-05-14 19:35:23 +00:00
4d9c907b58
Attach device ID to authenticated user.
...
Now RouteWhoAmI can use UserAuthenticate just like the other endpoints.
2023-05-11 03:03:40 +00:00
0b11b97022
Add StrEquals(), as equality checking is the most common use for strcmp().
...
This allows us to get rid of the hideous MATRIX_PATH_PART_EQUALS macro,
and prevents inconsistent usage of strcmp() (for example, !strcmp() vs
strcmp() == 0).
StrEquals() also has sensible behavior for dealing with NULL strings (it
doesn't just segfault like strcmp()).
2023-05-06 22:34:36 +00:00
2a87583d2f
Add /_matrix/client/v3/account/deactivate
2023-05-06 22:06:23 +00:00
95ceba0645
Add length calculations to JsonEncode() so we can set Content-Length.
2023-05-06 19:23:13 +00:00
bbea55be6c
Document http-debug-server, fixed typo in HttpServer docs.
2023-05-06 18:21:21 +00:00
872fa1aa66
More documentation. It never ends!
2023-04-29 19:52:51 +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
2d8d5244c4
Document some new headers.
2023-04-29 15:04:16 +00:00
b70c3f0bed
Finish converting all existing documentation. Next up is writing new docs.
2023-04-29 02:54:49 +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
24a03ba126
Added some more header documentation.
2023-04-27 18:00:26 +00:00
72467f6503
Begin moving documentation to headers.
2023-04-27 03:08:39 +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
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
6a5d89e14b
Work on implementing user interactive authentication fallback.
2023-04-21 02:13:06 +00:00
0b7282c36a
Fix build errors on some compilers due to missing symbols.
2023-04-20 19:19:23 +00:00
ffeb45375e
Implement /_telodendria/admin/privileges
...
Note that it's not exactly as the proposal defines it; theres a bit more
nuance that will be documented soon.
2023-04-19 18:52:05 +00:00
ae38791df2
Format code, remove dataDir from sample production.conf
2023-04-19 02:07:38 +00:00
0cca38115a
Move configuration to database, add process control API, fix memory leaks.
2023-04-19 00:33:38 +00:00
582df63a31
Format source code.
2023-04-16 17:51:52 +00:00
4ee66ae3c7
Begin implementing user privileges.
2023-04-16 17:51:03 +00:00
6ca1265076
Begin working on User-Interactive authentication fallback.
2023-04-15 02:36:28 +00:00
e882693c78
Add route for requestToken endpoints.
2023-04-14 23:59:40 +00:00
b21d018daa
Move router building function into a more sensible location.
2023-04-14 21:37:00 +00:00
83971dfaff
Refactor routing system to use HttpRouter.
2023-04-14 21:20:56 +00:00
a90f7c4b9e
Apply #69
2023-04-14 17:50:14 +00:00
1f8df737da
Add HttpRouter API; still have to convert the code to use it.
2023-04-06 01:48:32 +00:00
e0c8530b12
Clean up http client enough to replace curl in send-patch.
2023-04-01 02:46:07 +00:00