1558 Commits

Author SHA1 Message Date
Juliusz Chroboczek e09b135cd2 Run gofmt. 2025-03-21 15:15:41 +01:00
TechnologyClassroom 400d821d1b Fix typo and remove trailing whitespace. 2025-03-13 17:58:35 -04: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
K900 d129fd54ac Validate the right username
3ad12b6 added username validation, but only validated the username
provided as part of the join event. When joining with an external
token, the username needs to be loaded from the token instead.

This broke in two ways:
- in the default UI, the username would be passed in as "" with token auth,
  which failed validation even if the token was valid
- you could pass in a valid username in the join event, and then pass in
  an invalid one in the token, and that would be accepted and used,
  presumably allowing for the same shenanigans 3ad12b6 sought to prevent

Move username validation to the end, where we know what the right username is.
2025-02-09 11:56:37 +03: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
Juliusz Chroboczek 3ad12b6d58 Minimal restrictions on usernames.
For now, we only reject usernames that might lead to path traversal.
Thanks to Stefan Vinck of Radically Open Security.
2025-01-17 12:21:32 +01:00
Juliusz Chroboczek 7f93a49680 Forbid backslashes in group names.
We used to only forbid them under Windows.
2025-01-17 12:17:31 +01:00
Juliusz Chroboczek 410764618e Improve hashing benchmarks. 2025-01-17 12:01:37 +01:00
Juliusz Chroboczek 007009381b Avoid path traversal in disk writer.
Thanks to Stefan Vinck of Radically Open Security.
2025-01-17 11:32:37 +01:00
Juliusz Chroboczek 3e60248e54 Constant-time comparison for cleartext passwords.
Thanks to Stefan Vinck of Radically Open Security.
2025-01-17 11:09:59 +01:00
Juliusz Chroboczek c465157eb5 Update fontawesome to 6.7.2. 2025-01-12 00:31:15 +01:00
Juliusz Chroboczek 35590381e4 Update CHANGES. 2025-01-12 00:25:26 +01:00
Juliusz Chroboczek 3dfcac7ee0 Add TestPayloadTypesDistinct. 2025-01-07 17:12:40 +01:00
Juliusz Chroboczek 9b6ebba6c9 Fix typo in PCMA content-type. 2025-01-07 17:11:46 +01:00
Juliusz Chroboczek 7ae11a8e54 More precise typing in TransferredFile.event. 2025-01-05 23:36:11 +01:00
Juliusz Chroboczek b077ae786f Add some documentation to galene.js. 2025-01-05 23:30:16 +01:00
Juliusz Chroboczek b537a9299d Fix tsconfig to ignore node types. 2025-01-04 01:13:49 +01:00
Sacha Chua d44178c3cb Don't unmute until camera/microphone are enabled 2025-01-03 18:24:14 -05:00
Juliusz Chroboczek be0c008929 Fix typo in README.
Thanks to Baptiste Daroussin.
2025-01-02 12:12:33 +01:00
Juliusz Chroboczek f990f7056a Update CHANGES for 0.96. 2025-01-01 21:32:28 +01:00
jjsa 90f2892187 Style the invite dialog. 2025-01-01 21:31:34 +01:00
Juliusz Chroboczek a0c7ca165f Update dependencies. 2024-12-30 22:56:26 +01:00
Juliusz Chroboczek e8b12d3729 Fix client-side selective clearChat.
We were correctly clearing the chat on the server side, but
we were leaving stray entries in the client.

Thanks to J.-J. Sarton.
2024-12-24 01:06:10 +01:00
Juliusz Chroboczek 2c56143ba0 Fix description of wildcard-user in README.
Thanks to J.-J. Sarton.
2024-12-24 00:58:30 +01:00
Juliusz Chroboczek 21e63dcc97 Display warning on ICE failures. 2024-12-19 23:07:58 +01:00
Juliusz Chroboczek 553bf9a59e Update pion/webrtc to v3.3.5.
This fixes an issue with negotiation of RTCP feedback.
2024-12-17 17:33:29 +01:00
Juliusz Chroboczek 2e93d9a735 Update gitignore. 2024-12-16 19:29:10 +01:00