Juliusz Chroboczek
122db74fb8
Use message passing for changing permissions.
...
We used to handle permission change commands by directly mutating
the permissions field from the source client's thread, which is
racy. We now use message passing.
Thanks to Vinayak Mishra.
2026-04-30 00:50:22 +02:00
Juliusz Chroboczek
e3f098e189
Use constant time comparison for WHIP tokens.
...
Thanks to Vinayak Mishra.
2026-04-30 00:18:29 +02:00
Juliusz Chroboczek
ab44a661cb
Export group.ConstantTimeCompare.
2026-04-30 00:18:16 +02:00
Juliusz Chroboczek
4683c3c126
Minor tweaks to galene.js.
2026-04-29 19:43:36 +02:00
Juliusz Chroboczek
fb546d8b96
Fix guard in parseCommand.
2026-04-29 19:43:14 +02:00
Juliusz Chroboczek
56220bb942
Update this.frameRate in filters.
...
We weren't correctly updating the framerate, which caused us to
recheck every 30 frames.
2026-04-29 19:41:02 +02:00
Juliusz Chroboczek
b0ce21defe
Use EncodeURIComponent in setChangePassword.
2026-04-29 19:40:33 +02:00
Juliusz Chroboczek
213e3e5c6d
Limit message size in keyHandler.
...
Thanks to Vinayak Mishra.
2026-04-07 17:41:24 +02:00
Juliusz Chroboczek
eea92c5ac5
Fix CORS headers for key handler.
2026-04-07 17:40:16 +02:00
Juliusz Chroboczek
c28a24aa32
Update CHANGES.
2026-04-07 15:51:20 +02:00
Juliusz Chroboczek
d76f594130
Limit the size of API requests.
...
Thanks to Vinayak Mishra.
2026-04-07 15:47:11 +02:00
Juliusz Chroboczek
2b4952fcf1
Protect websocket against oversized messages.
...
The maximum message size of 1MB is probably overkill, but SDP
can grow pretty large. Thanks to Vinayak Mishra.
2026-04-07 15:45:24 +02:00
Juliusz Chroboczek
a4c917f9ca
Fix width of invite dialog.
...
Reported by on6zq.
2026-03-14 13:23:20 +01:00
Juliusz Chroboczek
888aa9bcd1
Add congtributing section to README.
2026-03-08 13:14:04 +01:00
Juliusz Chroboczek
4cf2c9e14c
Rework include-subgroups for cryptographic tokens.
2025-11-20 18:13:09 +01:00
Juliusz Chroboczek
24ee1f6a18
Update CHANGES.
2025-11-20 17:29:03 +01:00
Juliusz Chroboczek
f9b86db9fb
Fix incorrect error message in galenectl.
2025-11-20 17:28:07 +01:00
Juliusz Chroboczek
783502be6a
Fix typo in documentation.
...
Thanks to CompuRoot.
2025-10-28 14:02:08 +01:00
Juliusz Chroboczek
efcb2c04e7
Create configuration directory if needed.
...
This would cause "galenectl initial-setup" to fail if the configuration
directory didn't exist. Thanks to CompuRoot.
2025-10-28 13:59:50 +01:00
Juliusz Chroboczek
82275d03e0
Mention curl -O as an alternative to wget.
2025-10-13 01:41:01 +02:00
Juliusz Chroboczek
fff2acf1f0
Improve logging of authorisation errors.
2025-09-17 12:08:12 +02:00
Juliusz Chroboczek
594e1c2032
Remove references to form.active.
...
HTMLFormElement does not have an "active" member.
2025-08-22 12:18:37 +02:00
Juliusz Chroboczek
7bf098a57c
Use binaryType=blob for file transfer.
...
This was the intended behaviour, but the default value changed
at some point. This should in principle allow receiving files
larger than available RAM.
2025-08-21 22:55:41 +02:00
Juliusz Chroboczek
b40dcd2fc8
More proof-reading of documentation.
2025-08-21 16:48:10 +02:00
Juliusz Chroboczek
efc153788c
Update CHANGES.
2025-08-21 15:42:12 +02:00
Juliusz Chroboczek
a631975df3
Proof-read galene.md and galene-install.md.
2025-08-21 15:36:32 +02:00
Juliusz Chroboczek
23575ea122
Fix caching of stateful tokens after an addition.
2025-08-18 13:00:22 +02:00
Juliusz Chroboczek
22af4567e9
Documentation rework.
2025-08-17 16:30:05 +02:00
Juliusz Chroboczek
5bbfd287e5
Implement galenectl show-group.
2025-08-14 17:42:06 +02:00
Juliusz Chroboczek
caaf0b168b
Add options unrestricted-tokens and auto-subgroups.
2025-08-14 17:13:22 +02:00
Juliusz Chroboczek
bde8f01b52
Implement boolOption in galenectl.
2025-08-14 16:47:33 +02:00
Juliusz Chroboczek
135630ba5c
Remove trailing whitespace in INSTALL.
2025-08-13 15:43:44 +02:00
Juliusz Chroboczek
ea5ad4a725
Improve error handling in web server.
2025-08-13 14:32:33 +02:00
Juliusz Chroboczek
e19900b45e
Protect against nil stringOption.
2025-08-12 22:53:50 +02:00
Juliusz Chroboczek
377f32bd0b
Implement global tokens in galenectl.
2025-08-12 21:31:18 +02:00
Juliusz Chroboczek
164bedc73d
Rework optional flags in galenectl.
2025-08-12 21:22:48 +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
1ebb993fab
Simplify apiHandler.
2025-08-12 16:02:04 +02:00
Juliusz Chroboczek
f5cd385530
Implement galenectl initial-setup.
2025-08-11 17:58:09 +02:00
Juliusz Chroboczek
bcd4b09a17
Fix typo in error message.
2025-08-10 18:44:28 +02:00
Juliusz Chroboczek
e6e750d06d
Improve error handling in background blur worker.
2025-08-10 16:47:16 +02:00
Juliusz Chroboczek
49dd875ad7
Improve error handling in workerSendReceive.
2025-08-10 16:24:06 +02:00
Juliusz Chroboczek
c782102567
Remove stray debugging message.
2025-08-10 16:22:28 +02:00
Juliusz Chroboczek
fcdf8bc0ad
Update CHANGES for 1.0.
2025-08-09 16:26:35 +02:00
Juliusz Chroboczek
3d1e1f35f4
Allow deleting keys in JSON templates.
2025-08-02 23:30:15 +02:00
Juliusz Chroboczek
66f70429e2
Implement JSON templates in galenectl.
...
This allows setting and updating arbitrary fields in the group and
user definitions by passing a JSON template on standard input.
2025-08-02 23:21:05 +02:00
Juliusz Chroboczek
9babc3e415
Update CHANGES.
2025-08-01 17:48:05 +02:00
Juliusz Chroboczek
abfb1e550b
Update dependencies.
2025-08-01 17:42:59 +02:00
Juliusz Chroboczek
4a15207b0a
Hierarchical tokens in galenectl.
2025-08-01 15:07:43 +02:00
Juliusz Chroboczek
a217b7bbc4
Hierarchical tokens.
2025-08-01 15:07:34 +02:00
Juliusz Chroboczek
b88e2f4d93
Implement /sharescreen.
...
Also rename /stopshare to /unsharescreen.
2025-07-30 14:18:44 +02:00
Juliusz Chroboczek
e7162642a7
Clone Group.Data and Client.Data.
...
This avoids a race condition. Thanks to git-lul.
2025-07-09 23:39:37 +02:00
Juliusz Chroboczek
78872f3f6c
Require Go 1.21.
...
This is required in order to use the maps package.
2025-07-09 23:38:26 +02:00
Juliusz Chroboczek
70d10e81b3
Fixes to documentation.
...
Thanks to the kind people on the Yunohost forums for pointing
out the issues.
2025-07-09 23:21:56 +02:00
Juliusz Chroboczek
150e4fe5e7
Update CHANGES.
2025-06-13 15:07:00 +02:00
Juliusz Chroboczek
a6410b5a68
Implement CORS for the administrative interface.
2025-06-13 15:00:16 +02:00
Juliusz Chroboczek
7204889085
Better implementation of CORS.
2025-06-13 14:26:40 +02:00
Juliusz Chroboczek
321b2686af
Update dependencies.
2025-06-13 12:16:36 +02:00
Juliusz Chroboczek
6da48f712c
Update CHANGES.
2025-05-15 19:12:41 +02:00
Juliusz Chroboczek
5cfbc0f641
Upgrade pion/turn to v4.0.2.
...
This avoids spamming the logs with per-packet messages.
2025-05-15 19:06:38 +02:00
Juliusz Chroboczek
37710a1994
Update dependencies.
2025-05-15 18:43:07 +02:00
Juliusz Chroboczek
094eb94784
Rephrase the copy operation in prose.
2025-05-04 20:44:24 +02:00
Juliusz Chroboczek
c32286c42f
Add rotate filter.
2025-04-08 15:22:56 +02:00
Juliusz Chroboczek
ea30dd3b40
Fix typo in README.
2025-04-07 14:05:07 +02:00
Juliusz Chroboczek
b0f72a0346
Fix typo in README.
...
Thanks to Guido Vanden Wyngaerd.
2025-04-06 11:44:04 +02:00
Juliusz Chroboczek
a7fbe6a2ae
Use -udp-range for both range and multiplexing.
2025-03-30 23:20:39 +02:00
Juliusz Chroboczek
c17cca15e9
Minor cleanups in galene.js.
2025-03-23 22:14:56 +01:00
Juliusz Chroboczek
3f5cdc7653
Fix typo in setMediaStatus.
...
The warning would never trigger.
2025-03-23 22:14:15 +01:00
Juliusz Chroboczek
48b9e82d3d
Fix syntax of typing in protocol.js.
2025-03-23 22:05:54 +01:00
Juliusz Chroboczek
9617c68fd6
Work around TypeScript being too smart.
2025-03-23 12:43:47 +01:00
Juliusz Chroboczek
4f215f8e3c
Update dependencies.
2025-03-22 22:39:43 +01:00
Juliusz Chroboczek
491fac6d37
Update CHANGES.
2025-03-22 20:57:40 +01:00
Juliusz Chroboczek
85c32897ad
Implement UDP muxing.
2025-03-22 20:56:03 +01:00
Juliusz Chroboczek
e09b135cd2
Run gofmt.
2025-03-21 15:15:41 +01:00
Juliusz Chroboczek
3b83044d67
Implement ICE restarts for WHIP.
2025-03-10 13:43:10 +01:00
Juliusz Chroboczek
8bfea927d3
Implement processing of trickle-ice-sdpfrag.
...
This is required for WHIP restarts.
2025-03-10 13:15:04 +01:00
Juliusz Chroboczek
9892ddbc5e
Add ETag support to WHIP server.
2025-03-08 22:45:28 +01:00
Juliusz Chroboczek
078332f73a
Check ICE ufrag and pwd in WHIP PATCH requests.
2025-03-08 22:44:55 +01:00
Juliusz Chroboczek
dcbdfebf2a
Simplify and extend parseSDPFrag.
...
We now return a list of candidates instead of using a callback. Also
return the ICE ufrag and pwd.
2025-03-08 22:18:59 +01:00
Juliusz Chroboczek
8f0850d0f0
Upgrade to Pion v4.
2025-03-08 18:41:52 +01:00
Juliusz Chroboczek
26f7ac0b21
Use empty interceptor registry.
...
This is the default in Pion v3, but not in v4. This is required
since we do our own NACK handling and congestion control.
2025-03-08 18:38:55 +01:00
Juliusz Chroboczek
d7edd802b6
Update CHANGES for 0.96.3.
2025-03-08 18:29:27 +01:00
Juliusz Chroboczek
43de0cd559
Revert "Move chat button to the left on mobile."
...
This reverts commit 6f6cce94fa .
Reason for commit: this caused the chat button to disappear on mobile.
2025-03-08 18:26:57 +01:00
Juliusz Chroboczek
bbc154b68f
Update CHANGES.
2025-03-08 18:13:14 +01:00
Juliusz Chroboczek
3dfc19a051
Allow empty usernames again.
2025-03-01 19:00:15 +01:00
Juliusz Chroboczek
377ab0efcf
Add unit test for constantTimeCompare.
2025-01-22 00:28:26 +01:00
Juliusz Chroboczek
e8538bdf3b
Add unit test for constantTimeCompare.
2025-01-22 00:28:26 +01:00
Juliusz Chroboczek
7bb70b4339
Add omitted entry to CHANGES.
2025-01-22 00:28:22 +01:00
Juliusz Chroboczek
7ef2ac1561
Update CHANGES for 0.96.2.
2025-01-22 00:01:19 +01:00
Juliusz Chroboczek
3b875702d8
Set default password hashing to bcrypt in set-password.
...
We had switched hash-password, but not set-password.
2025-01-21 23:53:22 +01:00
Juliusz Chroboczek
aebe91ddac
Fix constantTimeCompare.
2025-01-21 23:40:49 +01:00
Juliusz Chroboczek
df71f66fdf
Disable TLS 1.0 and 1.1.
...
Suggested by Stefan Vink of Radically Open Security.
2025-01-20 17:36:18 +01:00
Juliusz Chroboczek
910b60f3c4
Change default password hashing algorithm to bcrypt.
...
Now that we limit the number of concurrent password hashing
operations, it is safe to use an algorithm that uses a fait
amount of memory. We use strength 8, which is below the recommended
default, in order to keep password hashing time below 25ms.
2025-01-20 16:47:49 +01:00
Juliusz Chroboczek
7a99668c6d
Limit the number of concurrent password hashing operations.
...
This avoids running out of memory when doing too many BCrypt
operations at the same time.
2025-01-19 12:21:03 +01:00
Juliusz Chroboczek
5fa945b073
Implement background blur on Safari.
...
Safari doesn't implement filtered drawing on HTML canvas,
it silently ignores the "filter" property of Context2D.
We implement our own blurring by scaling the background down
and then back up.
2025-01-19 11:49:23 +01:00
Juliusz Chroboczek
590af61ba8
Update CHANGES for 0.96.1.
2025-01-18 16:44:33 +01:00
Juliusz Chroboczek
edd91a8f3f
Delay opening safariStream until after join.
...
Also close the stream when we leave.
2025-01-18 02:42:34 +01:00
Juliusz Chroboczek
4d6a7a9241
Update CHANGES.
2025-01-17 16:01:36 +01:00
Juliusz Chroboczek
947ce61d3c
Remove "data:" from CSP header.
...
This hasn't been needed for a long time.
2025-01-17 12:29:39 +01:00