1
Fork 0
mirror of https://github.com/jech/galene.git synced 2024-11-09 18:25:58 +01:00
Commit graph

118 commits

Author SHA1 Message Date
Juliusz Chroboczek
90e2de0b2d Add configuration option publicServer. 2023-07-10 23:59:24 +02:00
Juliusz Chroboczek
69445d67f5 Change default video codec to VP9. 2023-07-09 16:33:39 +02:00
Juliusz Chroboczek
8f1bc93cca Protect against clients with an empty id. 2023-04-28 16:51:17 +02:00
Juliusz Chroboczek
031590b4e9 Rename 'allow-tokens' to 'unrestricted-tokens'. 2023-04-10 14:42:01 +02: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
c58064d923 Move token handling into the separate module.
Tokens are now an interface, and all the token logic is encapsulated
in the token module.
2023-04-03 22:58:38 +02:00
Juliusz Chroboczek
f75b964a6b Distinguish tokens with empty sub from no sub
We now distinguish between tokens that specify an empty username
(sub="") and tokens that don't specify sub.  The latter are
considered invalid for now.
2023-01-14 23:19:51 +01:00
Juliusz Chroboczek
1eb7716766 Simplify group expiration. 2022-10-23 16:04:10 +02:00
Juliusz Chroboczek
16e2888d56 Add new configuration directive proxyURL.
The strategy of computing the base URL from the request doesn't
necessarily work if we're behind a reverse proxy.  proxyURL
can be set in cases where our guess is incorrect.

Thanks to Dianne Skoll.
2022-10-21 13:28:11 +02:00
Juliusz Chroboczek
249c1c1132 Don't notify clients when description is unchanged.
When we fixed the handling of autolocked groups, we introduced
a bug where we spuriously notify clients even when the description
didn't change.
2022-10-07 03:02:35 +02:00
Juliusz Chroboczek
62517844a5 Ensure autolocked groups are locked on creation.
We used to autolock groups when the last user left, but not
when creating a group that was not in memory yet.  Ensure that
groups are autolocked in all cases.

Thanks to Michael Ströder.
2022-09-22 17:32:55 +02:00
Juliusz Chroboczek
b20cb0e523 Simplify the interface to autoLockKick.
This just removes a minor optimisation.
2022-09-22 17:21:49 +02:00
Juliusz Chroboczek
bf142c41a0 Fix status generation for remote groups. 2022-09-16 20:45:54 +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
6bdcd504a7 Make GetPermission a method of Group. 2022-09-08 20:55:35 +02:00
Juliusz Chroboczek
b55e531aa5 Encode group location in the status.json file. 2022-09-01 15:38:29 +02:00
Juliusz Chroboczek
4bc873a574 Publish websocket endpoint in group status. 2022-09-01 14:55:52 +02:00
Juliusz Chroboczek
7d01f0339b Avoid re-reading descriptions
We used to avoid re-reading descriptions when joining a group,
but we used to re-read them when updating the list of groups.
2022-07-12 20:06:34 +02:00
Juliusz Chroboczek
fd228b09c2 Fix checking for username when token is present. 2022-04-29 01:36:02 +02:00
Juliusz Chroboczek
fc9f28fd68 Minor cleanups. 2022-04-23 18:43:01 +02:00
Juliusz Chroboczek
fd09564c05 Remove H.264 Baseline profile.
Some devices only support the Constrained Baseline profile.
2022-03-22 01:03:56 +01: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
a9c9581465 Implement authPortal. 2022-02-19 23:58:31 +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
1d583e5367 Don't verify token issuer.
This makes it possible to use token authentication without
an authentication server.
2022-02-18 19:21:02 +01:00
Juliusz Chroboczek
03811db37d Implement token authentication. 2022-02-18 13:35:17 +01:00
Juliusz Chroboczek
24187430e8 Rename client status to data, add group data.
We now distinguish between status, which is maintained by the server,
and data, which is provided by the client.  In addition to client data,
we now support group data.
2022-01-29 23:28:08 +01:00
Juliusz Chroboczek
e8fbfcb9ba Avoid overflow in bitrate computation. 2022-01-25 20:11:28 +01:00
Juliusz Chroboczek
6fbdf0eab2 Use the new MIME type for AV1.
Chromium 91 and later uses "AV1" instead of "AV1X".  Simulcast is
still broken.
2022-01-04 13:09:07 +01:00
Juliusz Chroboczek
3e52ac1253 Fix typo in GetConfiguration. 2021-10-31 22:43:01 +01:00
Juliusz Chroboczek
028ed7df6d Parse config file in group.Update.
This makes for better error messages.
2021-10-30 19:31:34 +02:00
Juliusz Chroboczek
c7c3c9c6b0 Export group status in .status.json. 2021-10-30 19:12:06 +02:00
Juliusz Chroboczek
5e39c3a2a7 Move -redirect into the configuration file. 2021-10-30 18:54:39 +02:00
Juliusz Chroboczek
c0b30c8557 Move administrator password to data/config.json. 2021-10-30 18:54:39 +02:00
Juliusz Chroboczek
019f365981 Remove accessors for group description fields.
Consult the description directly.
2021-10-30 18:34:35 +02:00
Juliusz Chroboczek
8c21ede9d2 Don't allow group names to start with a period. 2021-10-28 20:01:11 +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
c860fb96a3 Move server shutdown into group.go. 2021-09-11 15:42:14 +02:00
Juliusz Chroboczek
184bd30077 Protect against nil dereference in group.Get. 2021-09-11 15:14:13 +02:00
Juliusz Chroboczek
f683675ab4 Use a dedicated error value for anonymous users. 2021-09-09 22:26:08 +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
0d0a745aa3 Fix typo in KickError.Error. 2021-08-24 00:04:30 +02:00
Juliusz Chroboczek
475e36d884 Pass description to descriptionChanged.
Thanks to Jeroen van Veen.
2021-08-23 20:45:04 +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
06f2ecec16 Update the list of public groups when expiring.
Thanks to Jeroen van Veen for suggesting the feature.
2021-08-22 16:36:18 +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