ca053a12b1
Break out main() into Main.c, fix some compile warnings on Cygwin.
2023-03-09 02:46:04 +00:00
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
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
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
7e144ae488
Clean up a few bugs in HttpClient and Uri
2023-03-08 02:53:47 +00:00
3e42da279c
Make improvements to HttpClient, add Uri
2023-03-08 01:54:33 +00:00
313f0e2e73
Add HttpClient API
2023-03-07 23:10:06 +00:00
04bf8ca1a1
Document Uia API.
2023-03-07 00:28:52 +00:00
f1e565ef7b
Update Json man page.
2023-03-06 22:21:56 +00:00
0ac21d430a
Document User API
2023-03-06 22:09:57 +00:00
0cbdb5f615
Multi-stage flows should theoretically work now.
2023-03-04 01:53:33 +00:00
e4ec250d8f
Apply modified #57 : Implement logout all.
2023-03-03 22:49:37 +00:00
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
1770789333
Fix leak in DbList()
2023-03-03 03:11:49 +00:00
676d6f4c61
Basic formatting.
2023-03-02 22:32:47 +00:00
d899a836b6
Apply #54
2023-03-02 22:06:33 +00:00
f4838f8211
Remove non-standard use of d_type
2023-03-02 02:53:43 +00:00
d6f96757bc
Apply #52 : d_namlen is non-standard.
2023-03-01 21:39:22 +00:00
7a951c980f
Cleanup old user interactive auth sessions.
2023-03-01 19:52:44 +00:00
8c4e6aa594
Implement DbList()
2023-03-01 19:33:25 +00:00
ce6d483135
Implement static login page.
2023-03-01 19:03:42 +00:00
e7d1c0d951
Cross-platform code improvements.
2023-03-01 01:55:26 +00:00
334a711b02
Fix compile error.
2023-03-01 01:23:52 +00:00
2747660473
Add a TODO in Uia
2023-02-28 18:48:43 +00:00
63634407d4
Update TODO.txt, add stub functions in Db.
2023-02-28 18:44:02 +00:00
16c31b63d7
Begin work on static login page.
2023-02-28 17:52:09 +00:00
36169181dd
Build basic framework for creating static pages.
...
The login fallback, as well as the user-interactive authentication
fallbacks, are static HTML pages.
2023-02-28 16:51:40 +00:00
fae9eb4473
Implement password-based user interactive authentication.
2023-02-28 15:17:11 +00:00
e2806bc810
Add UserIdParse() and UserIdFree() functions.
...
The spec says that a username can be either just the localpart, or a
localpart and a server. This commit now ensures that the login endpoint
actually handles usernames properly by calling the proper parsing
functions.
2023-02-28 13:44:34 +00:00
6ce6cb4525
Implement flow handling in Uia API.
...
This commit should fix user interactive authentication for dummy flows,
but I still have to implement a few more flows, including passwords and
refresh token. I also have to fix the cleanup logic: when do we purge
UIA sessions?
2023-02-27 15:39:12 +00:00
7703405c70
Fix bugs in Json API.
2023-02-26 15:07:46 +00:00
adea499813
Add UiaFlowsFree() function, and clean up some memory issues.
2023-02-24 14:40:21 +00:00
d517b66316
Also delete refrsh token if present for device.
2023-02-24 01:06:02 +00:00
b60cac53e5
Make JsonValueString() call StrDuplicate(); refactor code to behave properly.
2023-02-24 00:17:56 +00:00
8c96fd8d7d
Begin the great StrDuplicate() refactor.
2023-02-23 23:19:23 +00:00
b99e8bd1cd
Apply modified #50 and fix some misc. bugs.
2023-02-23 15:13:39 +00:00
9e9b5c9cda
Fix a write-out-of-bounds error in Json.
2023-02-23 03:46:05 +00:00
3bbff5379f
[WIP] Replace UserInteractiveAuth with a new Uia API.
...
Uia is a lot less characters to type. Do note that this API is far from
complete and this commit breaks user interactive authentication entirely.
2023-02-19 14:58:56 +00:00
fa88fc3323
Format source code.
2023-02-17 03:23:25 +00:00
ff879e715f
Finish implementing token refresh.
...
This implementation just keeps the refresh token and only updates the
access token. The spec says that this is allowed. There's really no
reason to do this, other than the fact that it's easier.
2023-02-17 03:20:49 +00:00
4b336de171
Build out the User API a bit more.
2023-02-17 03:18:24 +00:00
46fe667988
Add HashMapGetKey() so we can free bucket keys before deleting them.
2023-02-17 03:14:43 +00:00
feb11de6b0
Fix some compile warnings. I'll get back to this eventually.
2023-02-16 18:51:10 +00:00
72405a94f6
Add JsonGet(), JsonSet(), and JsonCreate() for convenience.
2023-02-16 18:49:19 +00:00
d255ce1a21
Begin working on refresh route.
2023-02-16 17:22:59 +00:00
c78dc3bd31
Fix a memory bug in StrRandom() with RandIntN().
...
We're storing integers in this buffer, so we have to allocate enough
memory for them. An integer is usually more than one byte.
2023-02-16 13:10:09 +00:00
38438c297e
Looks like Matrix v1.6 is out.
2023-02-16 02:09:57 +00:00
85380efa3c
[ #48 ] Fix bug in MatrixGetAccessToken()
2023-02-16 01:33:46 +00:00
6a593ab8a0
[ #48 ] Add Rand API and make StrRandom() use it.
2023-02-16 00:31:13 +00:00
f7d581538d
Begin documenting Str.
2023-02-14 11:56:22 +00:00