d38ec7cb38
Document hdoc
2023-05-21 00:21:39 +00:00
f2f972bb9d
Fix memory leaks in hdoc.
2023-05-15 22:38:52 +00:00
ff0a9f33b8
Update TODO.
2023-05-15 01:43:46 +00:00
a1e3bd7d8e
Clean up TODO
2023-05-11 12:00:44 +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
609890654e
Fix handling of STATIC and broken compilation on GNU systems.
2023-05-10 03:32:56 +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
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
abbbfe4d7f
Replace all usages of curl in tp, document tp and tt.
2023-04-29 23:28:33 +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
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
24a03ba126
Added some more header documentation.
2023-04-27 18:00:26 +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
96ca9a725d
Finish up capabilities for now.
2023-04-25 22:11:34 +00:00
2ac08ad74d
Clean out finished TODO items.
2023-04-25 01:54:03 +00:00
05cf076ebc
Begin debugging OpenSSL.
2023-04-24 17:05:59 +00:00
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
6a5d89e14b
Work on implementing user interactive authentication fallback.
2023-04-21 02:13:06 +00:00
687b89a83a
Add some more user documentation to clarify how configuration works.
2023-04-20 01:39:09 +00:00
25b7c0d059
Begin documenting Admin API.
2023-04-19 21:45:15 +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
0cca38115a
Move configuration to database, add process control API, fix memory leaks.
2023-04-19 00:33:38 +00:00
ff4d265dcc
Registration tokens now determine what privileges a user gets.
2023-04-16 18:32:22 +00:00
768ecda41a
Break up todo items into more milestones.
2023-04-15 13:31:08 +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
7c865d06fd
Format code.
2023-04-01 02:46:59 +00:00
f341fd2b6e
Fix OpenSSL server accept call.
...
Apparently it can EAGAIN on non-blocking connections... I don't think
LibreSSL's TLS library does this, but something to keep in mind if it
doesn't work for somebody.
2023-03-31 23:10:52 +00:00
9b21e2460a
Accept #67 : Add the password modification endpoint.
2023-03-28 01:17:47 +00:00
a9da9fbca7
Update TODO
2023-03-27 17:52:20 +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
fc975e6a93
TelodendriaConfig -> Config
2023-03-22 17:17:30 +00:00
e30fa3ee33
Remove remnants of non-global LogConfig from TelodendriaConfig
2023-03-22 16:31:24 +00:00
f3c4c0ac65
Add a global log configuration.
...
This is the easiest and cleanest way to get logging into some of the
fundamental APIs, such as the database and TLS APIs. We don't want to
have to pass logging functions to those, but they can safely use the
global logging configuration.
2023-03-22 14:52:04 +00:00
996356832e
Define TLS API, update HttpClient to support optional TLS.
...
Also added a LibreSSL TLS implementation. Client is verified to work;
server has not been tested yet.
2023-03-22 00:41:21 +00:00
6c9e939b9f
Fix broken IoVprintf().
...
You can't call vsnprintf() on the same va_list more than once! I learned
this the hard way with StreamVprintf().
2023-03-18 14:55:04 +00:00
e0a3760a37
Don't buffer in IoWrite(), indicate that fwrite() returns size_t, not ssize_t.
2023-03-16 14:17:04 +00:00
65f4c90df3
Rename HttpStream() to HttpServerStream() to match HttpClientStream()
2023-03-16 02:17:48 +00:00
ff52cc78dc
Update TODO
2023-03-15 17:30:14 +00:00
5dbaf3c223
Apply #65 , remove printf() in Db, and make tt show login messages.
2023-03-15 13:36:49 +00:00
afc7667737
Begin prototyping Stream API.
2023-03-15 02:40:23 +00:00
ae97d8116c
Apply #64 : Registration tokens.
2023-03-14 00:37:24 +00:00
62cd1cdc98
Misc changes.
2023-03-12 03:37:57 +00:00