Commit Graph

893 Commits

Author SHA1 Message Date
Jordan Bancino 5dbaf3c223 Apply #65, remove printf() in Db, and make tt show login messages. 2023-03-15 13:36:49 +00:00
Jordan Bancino afc7667737 Begin prototyping Stream API. 2023-03-15 02:40:23 +00:00
Jordan Bancino ae97d8116c Apply #64: Registration tokens. 2023-03-14 00:37:24 +00:00
Jordan Bancino 76bfa120ee Fix CPU pin if clients don't shutdown() their socket properly.
If we haven't read any bytes yet, then we try a few times a few ms apart
to see if we get anything. If not, treat it as an EOF. Otherwise, read
bytes until we get an EOF or EAGAIN. EAGAIN after a consistent read of
bytes is treaded as an EOF immediately.
2023-03-12 15:08:50 +00:00
Jordan Bancino 62cd1cdc98 Misc changes. 2023-03-12 03:37:57 +00:00
Jordan Bancino 7fa982a16f Fix bug in Uia 2023-03-12 03:36:40 +00:00
Jordan Bancino aba1ef9251 Add some more documentation. 2023-03-12 03:36:19 +00:00
Jordan Bancino b4a394c44b Move send-patch and td to section one of the manual.
I think they fit there better.
2023-03-10 23:02:09 +00:00
Jordan Bancino 64add9c9ab Fix unused variable warning. 2023-03-10 20:12:25 +00:00
Jordan Bancino 3037f12907 Add tt and http-debug-server tools. 2023-03-10 18:48:52 +00:00
Jordan Bancino 2d9b706f38 Fix I/O in JsonConsumeWhitespace() and UtilStreamCopy().
These functions previously operated on the assumption that fgetc() would
block; however it will not block on HttpServer streams because those are
non-blocking. They now check error conditions properly before failing
prematurely.
2023-03-10 18:46:03 +00:00
Jordan Bancino fd12dee62e Make sure a newline is printed after JSON object is pretty-printed. 2023-03-10 04:30:56 +00:00
Jordan Bancino 8ead9cc93a Apply #63, make some general bug fixes. 2023-03-10 03:24:04 +00:00
Jordan Bancino 3af2d3d12b Format code, update TODO items. 2023-03-09 03:35:40 +00:00
Jordan Bancino 7344d4fa46 Apparently some shells interpret the - in a string as an argument delimiter??? 2023-03-09 02:49:14 +00:00
Jordan Bancino ca053a12b1 Break out main() into Main.c, fix some compile warnings on Cygwin. 2023-03-09 02:46:04 +00:00
Jordan Bancino 9a1300ff2e Make sure input is initialized. 2023-03-09 02:22:13 +00:00
Jordan Bancino c32c3abfd6 Update TODO 2023-03-09 00:10:32 +00:00
Jordan Bancino 012c334ee5 Make send-patch use json instead of jq. 2023-03-09 00:06:15 +00:00
Jordan Bancino 20ebeb9c32 Switch tp from using jq to json; format td 2023-03-08 22:47:40 +00:00
Jordan Bancino 76413f834e Make json use ^ for removing fields, instead of !
Room IDs start with '!', we want to be able to access these.
2023-03-08 22:47:07 +00:00
Jordan Bancino efdf168085 Allow encoding user-provided strings. 2023-03-08 20:31:49 +00:00
Jordan Bancino 50e599f1cd Implement a mostly-functional query language for JSON. 2023-03-08 19:49:06 +00:00
Jordan Bancino 7b22fb02a2 Implement pretty-printing option in Json.
Telodendria itself doesn't use it, but the json CLI tool does.
2023-03-08 17:15:43 +00:00
Jordan Bancino cb8c4fceb5 Begin working on JSON CLI tool.
This is a similar situation to the HTTP CLI tool: since we have the
Json API anyway, we might as well have a little command line tool to
replace jq.
2023-03-08 04:06:43 +00:00
Jordan Bancino 19e89110cd Bump version number to v0.3.0 2023-03-08 03:46:38 +00:00
Jordan Bancino 1a169d1a2e Fix usage message. 2023-03-08 03:31:34 +00:00
Jordan Bancino 8d75d8a023 Add simple HTTP CLI tool that uses the HttpClient API.
You might be asking why I would just write a simple curl replacement
when curl does the job just fine. Well, the most immediate reason is
to test the HttpClient API, but since Telodendria's goal is to not
be dependent on any third-party code if at all possible, it makes
sense to have a simple HTTP client to use not only for testing
Telodendria, but also for configuring it. When we move the
configuration to the database, we'll ship a script that uses this
tool to allow admins to easily submit API requests.

Do not be concerned that HttpClient does not support TLS yet. TLS
support is necessary for federation to work, so it is coming
eventually.
2023-03-08 03:30:36 +00:00
Jordan Bancino 7e144ae488 Clean up a few bugs in HttpClient and Uri 2023-03-08 02:53:47 +00:00
Jordan Bancino 3e42da279c Make improvements to HttpClient, add Uri 2023-03-08 01:54:33 +00:00
Jordan Bancino 313f0e2e73 Add HttpClient API 2023-03-07 23:10:06 +00:00
Jordan Bancino fc8fbc9a70 I forgot to set the date in the changelog. 2023-03-07 00:51:16 +00:00
Jordan Bancino 7e41251f07 Update README 2023-03-07 00:50:59 +00:00
Jordan Bancino cfba96edee Prepare for v0.2.0 release. 2023-03-07 00:44:53 +00:00
Jordan Bancino 04bf8ca1a1 Document Uia API. 2023-03-07 00:28:52 +00:00
Jordan Bancino 17734c90e8 This is unnecessary. 2023-03-06 23:54:55 +00:00
Jordan Bancino 154e5b82df Looks like CVS is being weird with Mdocdate strings. 2023-03-06 23:51:55 +00:00
Jordan Bancino 7750963c29 Something weird is going on here. 2023-03-06 23:49:30 +00:00
Jordan Bancino eae8fc5c79 Update Matrix documentation. 2023-03-06 22:49:21 +00:00
Jordan Bancino f2c2888c87 Document DbList() and DbListFree() 2023-03-06 22:29:46 +00:00
Jordan Bancino f1e565ef7b Update Json man page. 2023-03-06 22:21:56 +00:00
Jordan Bancino 0ac21d430a Document User API 2023-03-06 22:09:57 +00:00
Jordan Bancino e73cea64b7 Apply modified #60 2023-03-04 21:43:41 +00:00
Jordan Bancino c8c4c705a5 Convert proposals to man pages. 2023-03-04 20:26:16 +00:00
Jordan Bancino 8c2ed1c8f1 Apply #59 2023-03-04 15:34:44 +00:00
Jordan Bancino 0cbdb5f615 Multi-stage flows should theoretically work now. 2023-03-04 01:53:33 +00:00
Jordan Bancino e4ec250d8f Apply modified #57: Implement logout all. 2023-03-03 22:49:37 +00:00
Jordan Bancino 97990c5009 Get some more of my thoughts in the TODO file. 2023-03-03 18:56:36 +00:00
Jordan Bancino 5d590df83d Remove DB_MIN_CACHE because that's dumb.
You should be able to totally disable the cache if you so please. This
should ensure Telodendria uses less memory on constrained systems.
2023-03-03 14:26:10 +00:00
Jordan Bancino 1770789333 Fix leak in DbList() 2023-03-03 03:11:49 +00:00