1
Fork 0
Commit Graph

26 Commits

Author SHA1 Message Date
Juliusz Chroboczek 1315084185 Implement message permission and shutup command. 2024-05-08 16:24:32 +02:00
Juliusz Chroboczek d887a216f0 Rework configuration file format.
The "users" entry is now a dictionary mapping user names to
passwords and permissions.  In order to allow for wildcards,
there is a new type of password, the wildcard password, and
an extra array called "fallback-users".

The field "allow-anonymous" no longer exists, this is now
the default behaviour.  The field "allow-subgroups" has been
renamed to "auto-subgroups".

We provide backwards compatibility for group definition files,
but not for the config.json file, where the old "admin" array
is simply ignored.
2024-04-09 22:49:03 +02:00
Juliusz Chroboczek 89f947df1f Rework handling of authorisation errors.
We'd sometimes return "Internal server error" on authentication
failures.  This should be gone now.
2024-03-03 13:43:50 +01:00
Juliusz Chroboczek 29e006037c Allow proxyURL to contain a path.
We now support or reasonable values for proxyURL, such as "http:"
or "/galene".
2024-02-24 12:46:30 +01:00
Juliusz Chroboczek 3a6551c733 Implement "allow-tokens". 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
Juliusz Chroboczek aa53b78b2c Distinguish between no username and empty username. 2023-04-03 22:58:38 +02:00
Juliusz Chroboczek a1c1345719 Server-side support for protocol 2.
The "time" field of messages is now a string in RFC 3339 format,
and there is a new "error" field in messages.
2023-04-03 22:58:38 +02:00
Juliusz Chroboczek 74a1243947 Fix TestPermissions.
This was broken when we moved GetPermission to Group.
Thanks to kiufta.
2022-09-09 14:14:24 +02:00
Juliusz Chroboczek b55e531aa5 Encode group location in the status.json file. 2022-09-01 15:38:29 +02:00
Juliusz Chroboczek de3a016f4d Set the username in the server when using tokens.
This avoids the need to pass the username in the URL without
requiring the client to parse tokens.
2022-02-20 15:33:11 +01:00
Juliusz Chroboczek a86fb08f6c Replace ClientPermissions with a list of strings.
Now that we support external auth, the permissions list is
open-ended.  Make it a list for simplicity.
2022-02-19 23:44:57 +01:00
Juliusz Chroboczek 019f365981 Remove accessors for group description fields.
Consult the description directly.
2021-10-30 18:34:35 +02:00
Juliusz Chroboczek 869eb9b839 Move password checking into group.go.
It used to be delegated to clients.
2021-10-27 04:15:44 +02:00
Juliusz Chroboczek 5beb13b21a Early paranoia in group name validation.
We will fail malicious paths in openDescriptionFile, but it
doesn't harm to be paranoid early.
2021-08-24 00:31:46 +02:00
Juliusz Chroboczek 2d1763a743 Remove obsolete test.
It's no longer easy to test group expiration.
2021-08-23 18:14:38 +02:00
Juliusz Chroboczek 816b7a54df Restrict negotiation of downstream codecs, allow multiple profiles.
We now restrict the allowable codecs in the downstream direction,
which leads to a clean failure instead of a silent track.  We also
allow multiple profiles for a single codec.
2021-08-02 18:08:37 +02:00
Juliusz Chroboczek f26cf32abb Fix group_test.go. 2021-07-31 23:38:19 +02:00
Antonin Décimo f89270e874 Fix typos. 2021-06-09 15:20:17 +02:00
Juliusz Chroboczek e24488ac62 Fix broken test. 2021-05-08 16:09:22 +02:00
Juliusz Chroboczek 189dfb4abe Export and document group.Description.
This is useful for people writing administrative interfaces.
2021-04-22 17:58:30 +02:00
Juliusz Chroboczek aaaaae5588 Add unit test for groups. 2021-02-14 20:14:12 +01:00
Juliusz Chroboczek 105515d56e Add unit test for chat history. 2021-02-14 19:44:19 +01:00
Juliusz Chroboczek c4e26b65b7 Tighten user check.
Don't allow a user with a wildcard password entry to use the same
username as a user with a specific entry even at the same privilege
level.
2021-02-06 23:32:42 +01:00
Juliusz Chroboczek c178c28b60 Add test for description marshalling/unmarshalling. 2020-11-29 17:00:12 +01:00
Juliusz Chroboczek 90ba4814c8 Discard old history entries. 2020-10-08 14:41:33 +02:00
Renamed from rtpconn/webclient_test.go (Browse further)