Commit Graph

458 Commits

Author SHA1 Message Date
Jordan Bancino c5bce0b14f Apply #43 with modifications. 2023-01-09 19:22:09 +00:00
Jordan Bancino 1421c478fd Fix bug where malformed requests cause Db locks that are never unlocked. 2023-01-09 19:16:12 +00:00
Jordan Bancino a7ab3e757a Apply #43 2023-01-09 18:20:19 +00:00
Jordan Bancino 02884b6bdb Fix typo. 2023-01-09 18:01:32 +00:00
Jordan Bancino a09e15f6bc Don't output server response. 2023-01-09 18:00:14 +00:00
Jordan Bancino cdb26b5223 Make Telodendria Bot retry fetching if it failed. 2023-01-09 17:56:24 +00:00
Jordan Bancino 90a74c3b0a Don't accept connections if the connection queue is full. 2023-01-09 17:44:12 +00:00
Jordan Bancino 1d9ed5dcbf Fix invalid read in HttpParamDecode(). 2023-01-09 15:48:56 +00:00
Jordan Bancino 9358264add Fix some invalid write errors. 2023-01-09 15:18:59 +00:00
Jordan Bancino 80ff232af9 Update TODO 2023-01-08 04:39:01 +00:00
Jordan Bancino 30c3690287 Renamed String.h to Str.h because Windows is dumb. 2023-01-08 04:38:06 +00:00
Jordan Bancino 148706b517 Use spaces instead of tabs. Tabs don't work over SSH? 2023-01-07 19:22:38 +00:00
Jordan Bancino 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
Jordan Bancino 56105c8a61 Fix logic error 2023-01-07 18:24:16 +00:00
Jordan Bancino f365f94389 Define User struct. 2023-01-07 16:15:11 +00:00
Jordan Bancino 08b36c071c Begin prototyping User.h 2023-01-07 15:51:56 +00:00
Jordan Bancino 0f661f435f Whoops, forgot to update the header. 2023-01-07 04:40:12 +00:00
Jordan Bancino 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
Jordan Bancino 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
Jordan Bancino 0c807d0f22 Cross an item of TODO 2023-01-07 00:42:11 +00:00
Jordan Bancino 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
Jordan Bancino 7cd9fe8bd7 Fix log output by changing __FILE__ 2023-01-06 23:00:18 +00:00
Jordan Bancino ea1828e95e Fix warning in RouteRegister.c 2023-01-06 21:54:33 +00:00
Jordan Bancino 7bda319f39 Format code 2023-01-06 21:18:44 +00:00
Jordan Bancino c63715c2e7 Update TODO 2023-01-06 21:17:55 +00:00
Jordan Bancino c48d666899 Add note on documenting patches. 2023-01-06 19:54:44 +00:00
Jordan Bancino 1282371680 Fix "bad pointer" warnings. 2023-01-06 18:50:31 +00:00
Jordan Bancino fe57f07fee Add onion location. We're on Tor now. 2023-01-04 01:07:48 +00:00
Jordan Bancino b753d58171 Apply #41 2023-01-03 13:01:22 +00:00
Jordan Bancino 6960743e43 Apply #40 2023-01-03 04:01:03 +00:00
Jordan Bancino 8e2399e648 Fix bug on some platforms that use unsigned characters. 2023-01-02 18:22:04 +00:00
Jordan Bancino d969f4d053 Fix visual bugs in MemoryHexDump() 2023-01-02 04:12:12 +00:00
Jordan Bancino 5c5aab71d8 Fix bug in UserInteractiveAuth() 2023-01-02 03:56:27 +00:00
Jordan Bancino e9aebab221 Move hex dump logic to Memory API. 2023-01-01 22:10:23 +00:00
Jordan Bancino 69862a1e6e Use -ansi in compiler flags. I think this more well supported. 2023-01-01 21:16:20 +00:00
Jordan Bancino d9d88eb028 Periodically purge old user interactive auth sessions.
Keeping them around is going to take up a lot of storage. If it takes more
than a half hour for a client to complete the auth, make him start over.
2022-12-28 15:52:19 +00:00
Jordan Bancino fbd7bf5944 Fix memory leak in DbDelete() 2022-12-28 15:44:21 +00:00
Jordan Bancino 1a43ea6470 Fix bugs in Cron 2022-12-26 16:28:58 +00:00
Jordan Bancino 3c8d89a52e Update copyright year 2022-12-26 15:52:52 +00:00
Jordan Bancino c9e42ff813 Break out UserInteractiveAuth into its own header.
We'll need this because user interactive auth will get complicated and
messy very soon.
2022-12-26 15:48:21 +00:00
Jordan Bancino dbecb28395 Update changelog 2022-12-24 23:41:50 +00:00
Jordan Bancino 4f48f9a5cc Document Cron 2022-12-24 23:07:46 +00:00
Jordan Bancino c18a9a96e6 Add job scheduler.
This will be used for expiring sessions and tokens, among other things that
need to happen periodically.
2022-12-24 21:49:37 +00:00
Jordan Bancino be2e267064 Turns out I don't need to do that. 2022-12-24 01:31:22 +00:00
Jordan Bancino 61e9cdbea3 Check INT_WIDTH and LONG_WIDTH... stupid GNU libc. 2022-12-24 01:00:36 +00:00
Jordan Bancino eeabe93e3f Revert using _POSIX_C_SOURCE.
It didn't fix the issue.
2022-12-24 00:51:49 +00:00
Jordan Bancino 2d1bfd8b74 Define _POSIX_C_SOURCE again. 2022-12-23 22:53:48 +00:00
Jordan Bancino 25dcff06a8 Fix type issues. 2022-12-19 23:25:37 +00:00
Jordan Bancino 72bfa34bcd Fix overflow on some platforms 2022-12-19 22:25:49 +00:00
Jordan Bancino b8027e1aaf Fix compiler warning on some platforms. 2022-12-19 22:21:24 +00:00