Jordan Bancino
71fa96d10d
Format source code.
2023-04-27 20:05:08 +00:00
Jordan Bancino
a00ded6d06
Add support for parsing global variables, not just function declarations.
2023-04-27 20:04:15 +00:00
Jordan Bancino
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
Jordan Bancino
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
Jordan Bancino
24a03ba126
Added some more header documentation.
2023-04-27 18:00:26 +00:00
Jordan Bancino
95cb14213f
Add support for return types that are const, structs, or enums.
2023-04-27 16:02:15 +00:00
Jordan Bancino
6e976a2b8d
Fix line counts on syntax errors.
2023-04-27 15:54:21 +00:00
Jordan Bancino
72467f6503
Begin moving documentation to headers.
2023-04-27 03:08:39 +00:00
Jordan Bancino
3b06ab120b
Add some flags to hdoc to make it more useful.
2023-04-27 02:30:44 +00:00
Jordan Bancino
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
Jordan Bancino
fdcf7ec065
Update changelog, add LD_EXTRA variable in td.
2023-04-26 01:43:32 +00:00
Jordan Bancino
459b2e856f
Format source code.
2023-04-25 22:13:28 +00:00
Jordan Bancino
96ca9a725d
Finish up capabilities for now.
2023-04-25 22:11:34 +00:00
Jordan Bancino
e1367d5bff
Use snprintf() instead of sprintf().
...
All linker warnings should now be eliminated.
2023-04-25 22:01:58 +00:00
Jordan Bancino
d83db35df0
Use strncpy() instead of strcpy().
...
The OpenBSD linker is complaining about it. Even though every single
case strcpy() was used is safe, strncpy() provides a little bit of extra
security, and makes the linker happy.
2023-04-25 21:54:51 +00:00
Jordan Bancino
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
Jordan Bancino
098eed44a0
Fix bug in MatrixWellKnown(), begin /_matrix/client/v3/capabilities
2023-04-25 18:37:25 +00:00
Jordan Bancino
2ac08ad74d
Clean out finished TODO items.
2023-04-25 01:54:03 +00:00
Jordan Bancino
3e4698bf72
Update porting documentation.
2023-04-24 22:24:32 +00:00
Jordan Bancino
38565d4aa6
Update changelog.
2023-04-24 21:21:25 +00:00
Jordan Bancino
05cf076ebc
Begin debugging OpenSSL.
2023-04-24 17:05:59 +00:00
Jordan Bancino
a525830b64
Telodendria now responds correctly to SIGTERM.
2023-04-24 16:23:50 +00:00
Jordan Bancino
279f261aed
Fix race conditions that are possible in Db.
...
This is accomplished by locking the entire database, and keeping it locked
until the last reference is unlocked. We get rid of per-reference locks,
because those are what cause race conditions.
2023-04-24 16:19:17 +00:00
Jordan Bancino
313249ca88
Fixed some caching bugs in Db.
...
Note that Db has the potential to deadlock when caching is being used,
and when caching isn't being used, an inconsistent state can occur. Future
changes to Db will fix both of these issues.
2023-04-24 15:43:24 +00:00
Jordan Bancino
737e060243
Finish up Uia fallback.
2023-04-22 15:40:25 +00:00
Jordan Bancino
5431c2cd90
Fix double-free in UiaCleanup().
2023-04-22 13:45:01 +00:00
Jordan Bancino
2bbe13aaf0
Fix error setting up UIA flows.
2023-04-22 02:06:22 +00:00
Jordan Bancino
866343071a
Continued work on UIA fallback.
2023-04-22 00:59:03 +00:00
Jordan Bancino
6a5d89e14b
Work on implementing user interactive authentication fallback.
2023-04-21 02:13:06 +00:00
Jordan Bancino
fb24f93aaa
Fix bug with TLS where cert and key files were used after freeing them.
2023-04-20 21:12:08 +00:00
Jordan Bancino
0b7282c36a
Fix build errors on some compilers due to missing symbols.
2023-04-20 19:19:23 +00:00
Jordan Bancino
ec09882dbe
Fix warnings about memset()
2023-04-20 17:50:22 +00:00
Jordan Bancino
3b28af2031
Fix warning on some compilers.
2023-04-20 17:40:14 +00:00
Jordan Bancino
19b0dcac5a
Don't build the routing tree until absolutely necessary.
...
Saves us a lot of time and memory in case of an error.
2023-04-20 17:37:18 +00:00
Jordan Bancino
4a5c7480aa
Fix up a few small warnings.
2023-04-20 13:49:25 +00:00
Jordan Bancino
687b89a83a
Add some more user documentation to clarify how configuration works.
2023-04-20 01:39:09 +00:00
Jordan Bancino
25b7c0d059
Begin documenting Admin API.
2023-04-19 21:45:15 +00:00
Jordan Bancino
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
Jordan Bancino
ae38791df2
Format code, remove dataDir from sample production.conf
2023-04-19 02:07:38 +00:00
Jordan Bancino
0cca38115a
Move configuration to database, add process control API, fix memory leaks.
2023-04-19 00:33:38 +00:00
Jordan Bancino
ff4d265dcc
Registration tokens now determine what privileges a user gets.
2023-04-16 18:32:22 +00:00
Jordan Bancino
582df63a31
Format source code.
2023-04-16 17:51:52 +00:00
Jordan Bancino
4ee66ae3c7
Begin implementing user privileges.
2023-04-16 17:51:03 +00:00
Jordan Bancino
768ecda41a
Break up todo items into more milestones.
2023-04-15 13:31:08 +00:00
Jordan Bancino
6ca1265076
Begin working on User-Interactive authentication fallback.
2023-04-15 02:36:28 +00:00
Jordan Bancino
e882693c78
Add route for requestToken endpoints.
2023-04-14 23:59:40 +00:00
Jordan Bancino
b21d018daa
Move router building function into a more sensible location.
2023-04-14 21:37:00 +00:00
Jordan Bancino
83971dfaff
Refactor routing system to use HttpRouter.
2023-04-14 21:20:56 +00:00
Jordan Bancino
a90f7c4b9e
Apply #69
2023-04-14 17:50:14 +00:00
Jordan Bancino
3192063340
Fix broken tt script.
2023-04-07 14:20:22 +00:00