Commit graph

731 commits

Author SHA1 Message Date
5fef788053 Begin documenting User API 2023-02-12 02:31:14 +00:00
2443c91bba Fix bug in HashMap that would allow iterating over deleted values. 2023-02-11 00:15:49 +00:00
27c4713e5d I actually decided I don't like this. 2023-02-11 00:07:18 +00:00
71a0181a6a Break out static options into an environment variable.
This allows users to turn off static compilation if the compiler or linker
throws a fit about it. Looking at you, Glibc. And PCC doesn't seem to like
static compilation either; it generates a binary that just segfaults
immediately on executation.
2023-02-05 14:46:20 +00:00
8b8873103d Handle standard library quirks of non-conforming systems and compilers. 2023-02-05 14:20:12 +00:00
dc972385ea Don't shadow variables. 2023-02-05 14:19:07 +00:00
e1efac41fa Fix admin endpoint to be /_telodendria/admin instead of /admin.
This is how Synapse and Dendrite do it. It makes sense to me.
2023-02-04 00:24:17 +00:00
a4ec6cf6c7 Apply #45 2023-02-04 00:21:36 +00:00
5b77236e82 Fix -v option 2023-01-17 21:38:39 +00:00
e0f7c133d1 Add a non-JSON landing page. This is the basis for other HTML pages. 2023-01-17 20:29:16 +00:00
4e742d5179 Define project timeline a little more. 2023-01-17 19:05:26 +00:00
70fd61cd23 Bring change log up to date-ish.
Next release I'll try to stay on top of this more.
2023-01-17 17:39:31 +00:00
056804810f Fix man page links on website. 2023-01-17 13:53:31 +00:00
b0b2f11158 Refactor endpoint authentication flow.
Instead of one MatrixAuthenticate() function, we'll do
MatrixGetAccessToken(), and then UserAuthenticate(). This allows us to
give different error messages depending on what the user provided and what
the server state is.
2023-01-17 01:36:22 +00:00
1e02971a7e Implement login route. 2023-01-17 00:02:50 +00:00
cc95c10f44 Move client well-known generation to MatrixClientWellKnown() function.
We'll be using this for client login.
2023-01-16 22:02:08 +00:00
121682c006 Implement user login. 2023-01-16 21:17:44 +00:00
bd88c01c26 Don't read the timestamp after it's freed. 2023-01-16 03:57:01 +00:00
c0309c1ea8 Fix memory leak when log timestamp is not set in the config. 2023-01-16 03:21:59 +00:00
9186cdb13d Verbose formatting on the terminal, because why not? 2023-01-10 01:21:35 +00:00
a4364dbb68 Fix use after free. 2023-01-10 00:38:47 +00:00
599fa1a740 Document MemoryHexDump() and DbExists() 2023-01-09 21:39:59 +00:00
b8ce4c9239 Lock database in DbExists() to prevent race conditions. 2023-01-09 19:25:49 +00:00
c5bce0b14f Apply #43 with modifications. 2023-01-09 19:22:09 +00:00
1421c478fd Fix bug where malformed requests cause Db locks that are never unlocked. 2023-01-09 19:16:12 +00:00
a7ab3e757a Apply #43 2023-01-09 18:20:19 +00:00
02884b6bdb Fix typo. 2023-01-09 18:01:32 +00:00
a09e15f6bc Don't output server response. 2023-01-09 18:00:14 +00:00
cdb26b5223 Make Telodendria Bot retry fetching if it failed. 2023-01-09 17:56:24 +00:00
90a74c3b0a Don't accept connections if the connection queue is full. 2023-01-09 17:44:12 +00:00
1d9ed5dcbf Fix invalid read in HttpParamDecode(). 2023-01-09 15:48:56 +00:00
9358264add Fix some invalid write errors. 2023-01-09 15:18:59 +00:00
80ff232af9 Update TODO 2023-01-08 04:39:01 +00:00
30c3690287 Renamed String.h to Str.h because Windows is dumb. 2023-01-08 04:38:06 +00:00
148706b517 Use spaces instead of tabs. Tabs don't work over SSH? 2023-01-07 19:22:38 +00:00
472a6ccbf7 Clean up build output on terminals.
If we're not writing out to a terminal, then echo each file out as it is
being compiled. Otherwise, if we are on a terminal, overwrite the previous
line.
2023-01-07 19:14:15 +00:00
56105c8a61 Fix logic error 2023-01-07 18:24:16 +00:00
f365f94389 Define User struct. 2023-01-07 16:15:11 +00:00
08b36c071c Begin prototyping User.h 2023-01-07 15:51:56 +00:00
0f661f435f Whoops, forgot to update the header. 2023-01-07 04:40:12 +00:00
0a29aa7f5a Move string related functions to a new String API.
I think we have accumulated enough string functions that they should
have their own API. This shortens the function names a bit too.
2023-01-07 04:33:32 +00:00
2ce09f8632 Convert UtilStringConcat() into a varargs function.
This allows us to concatenate an arbitrary amount of strings without
having to maintain a bunch of pointers or leak memory when nesting calls.
2023-01-07 03:17:06 +00:00
0c807d0f22 Cross an item of TODO 2023-01-07 00:42:11 +00:00
8323eb38c9 Make UtilRandomString() more secure.
Two ways this is more secure:

1. The seed is only generated once, not every time the function is called.
2. All threads share the same seed, which means timing attacks aren't
   possible.

Because we are using a mutex, performance may suffer slightly.
2023-01-07 00:18:44 +00:00
7cd9fe8bd7 Fix log output by changing __FILE__ 2023-01-06 23:00:18 +00:00
ea1828e95e Fix warning in RouteRegister.c 2023-01-06 21:54:33 +00:00
7bda319f39 Format code 2023-01-06 21:18:44 +00:00
c63715c2e7 Update TODO 2023-01-06 21:17:55 +00:00
c48d666899 Add note on documenting patches. 2023-01-06 19:54:44 +00:00
1282371680 Fix "bad pointer" warnings. 2023-01-06 18:50:31 +00:00