22 Commits

Author SHA1 Message Date
Storm Dragon 9a9742e066 Version 2026.07.08 release. First public tagged version. 2026-07-08 22:38:29 -04:00
Storm Dragon 965347cad4 Checkpoint audio-only Skald fork work 2026-05-18 13:06:57 -04:00
Storm Dragon bda0e548d3 Rebrand project as Skald 2026-05-17 22:16:08 -04:00
Juliusz Chroboczek 23575ea122 Fix caching of stateful tokens after an addition. 2025-08-18 13:00:22 +02:00
Juliusz Chroboczek b78b2c040d Implement global tokens. 2025-08-12 18:13:14 +02:00
Juliusz Chroboczek 630a316baf Remove special treatment of "" in stateful.List. 2025-08-12 17:35:21 +02:00
Juliusz Chroboczek a217b7bbc4 Hierarchical tokens. 2025-08-01 15:07:34 +02:00
Juliusz Chroboczek 54b4759300 Omit token expiration if not provided.
A token with empty expiration is useless anyway.
2024-10-25 17:49:00 +02:00
Juliusz Chroboczek 1315084185 Implement message permission and shutup command. 2024-05-08 16:24:32 +02:00
Juliusz Chroboczek 53481fde5e Protect against empty expires field in Expire. 2024-05-02 18:48:51 +02:00
Juliusz Chroboczek 2f5c21d161 Implement accessors for stateful tokens. 2024-05-01 22:39:48 +02:00
Juliusz Chroboczek e8ea707904 Split token.Get into method and function. 2024-05-01 19:29:30 +02:00
Juliusz Chroboczek 8a94f4a716 Export getStateful, simplify interface.
We used to return nil, nil if the token didn't exist.
We now return os.ErrNotExist.
2024-05-01 19:25:26 +02:00
Juliusz Chroboczek 3409f5a27f Replace uses of os.IsExist and os.IsNotExist with errors.Is.
The former don't properly unwrap errors.
2024-04-14 13:34:32 +02:00
Juliusz Chroboczek 68887f13d5 Rename tokens.Edit to Extend. 2024-04-14 13:21:55 +02:00
Juliusz Chroboczek 5aff224e62 Complete token.stateful.Clone. 2023-07-09 11:52:13 +02:00
Juliusz Chroboczek e73aaa31d7 Remove tokens.Del.
It was unused.
2023-07-09 11:51:18 +02:00
Juliusz Chroboczek 0de0199742 Resynchronise with disk when editing tokens.
We used to assume that the in-memory representation is in sync
when editing a stateful token.  That is usually the case, since
editing requires knowing the token to edit, but resynchronising
here is the right thing to do.
2023-05-19 15:08:05 +02:00
Juliusz Chroboczek 3c0dbf5e9b Reliably return an error from token.Parse.
We would sometimes return nil cast to an interface with no error,
which would cause the server to crash with a null dereference.
2023-05-14 21:14:59 +02:00
Juliusz Chroboczek 8775ce6406 Keep track of issuer and creation date in tokens. 2023-04-08 21:13:35 +02:00
Juliusz Chroboczek adf273f9ea Expire expired tokens.
We now remove a token a week after it has expired.
2023-04-04 01:22:05 +02:00
Juliusz Chroboczek a6314a7384 Implement stateful tokens.
Stateful tokens look just like cryptographic tokens to the client.
Unlike cryptographic tokens, they are stored in a file and are
revokable and editable.
2023-04-04 00:59:54 +02:00