Juliusz Chroboczek
ac1dc77b30
Reconnect when server complains about a username.
...
If a token does not specify a username, the server will request
one by failing the join message. Disconnect from the WebSocket
in that case, and display the login dialog with the password
field invisible.
2023-04-04 01:22:05 +02:00
Juliusz Chroboczek
4c9e00d874
Report username errors to client.
...
We now report ErrUsernameRequired and ErrDuplicateUsername
errors by setting the "error" field of messages.
2023-04-04 01:22:05 +02:00
Juliusz Chroboczek
8c1510023f
Implement user interface for token management.
2023-04-04 01:22:05 +02:00
Juliusz Chroboczek
8aa95f5e22
Add protocol messages for managing tokens.
2023-04-04 00:59:54 +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
59ff25310d
Don't set group if joining failed.
...
We used to set sc.group even if joining failed, which would cause
us to spuriously call the onJoined callback when we disconnected.
2023-04-03 22:57:36 +02:00
Juliusz Chroboczek
cba04e7de5
Fix typo in handling of join messages.
2023-04-03 22:33:36 +02:00
Alexandre Iooss
02e7c7e824
Add Referrer-Policy and X-Content-Type-Options headers
2023-04-01 15:32:23 +02:00
Juliusz Chroboczek
df55c1e7cc
Update dependencies.
2023-04-01 13:20:49 +02:00
Juliusz Chroboczek
e47ca20a9f
Remove spurious argument to gotConnected.
2023-03-22 18:19:04 +01:00
Juliusz Chroboczek
58ef60f974
Minor tweaks to file transfer.
...
Avoid copying data when sending, improve error handling.
2023-01-22 22:24:51 +01:00
Juliusz Chroboczek
dbeb75ee0e
Better progress indicator for file transfer.
2023-01-16 15:51:40 +01:00
Juliusz Chroboczek
645ba5fb48
Split out file transfer button handling.
...
Split out deleting of buttons during file transfer into its own
function.
2023-01-16 14:39:20 +01: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
3cd66cb17a
Update CHANGES for 0.6.2.
2023-01-11 20:20:44 +01:00
Juliusz Chroboczek
de57748043
Disable simulcast for screen sharing.
...
Simulcast doesn't seem to work well with screen sharing: only one
layer is sent, which has very low throughput since we send the low
layer first. Disable simulcast for screen sharing.
2023-01-11 19:36:33 +01:00
Juliusz Chroboczek
06a0a2c36e
Handle empty VP8 headers.
...
Only the first byte of the VP8 header is mandatory, but we
used to reject packets smaller than 4 bytes. The major part
of the fix is actually in pion/rtp.
2023-01-09 19:52:57 +01:00
Juliusz Chroboczek
afcafb9f87
Update dependencies.
2023-01-09 19:51:35 +01:00
Juliusz Chroboczek
41c7114387
Add more packetmap tests.
2023-01-06 10:51:48 +01:00
Juliusz Chroboczek
774432bd5e
Don't pass pid to addMapping.
...
addMapping assumes the piddelta is constant, so it doesn't need
the pid.
2022-12-30 20:56:50 +01:00
Juliusz Chroboczek
f0bb45e6f4
Don't update packetmap for non-increasing seqnos.
...
When using an identity packetmap, we used to update the next seqno
even when packets were not increasing. Not a big deal, we'd still
recover at the next sequential packet.
2022-12-30 19:32:16 +01:00
Juliusz Chroboczek
cc52e39ce4
Make some errors non-fatal.
...
Don't disconnect the client for some more errors.
2022-12-17 01:00:49 +01:00
Juliusz Chroboczek
056f98604a
Simplify checking for privileged user messages.
2022-12-17 00:15:07 +01:00
Juliusz Chroboczek
fae045fb61
Client-side support for protocol version 2.
...
This does not yet support the new 'need-username' error.
2022-12-16 18:38:30 +01:00
Juliusz Chroboczek
397892d906
Add forgotten time field to message typedef.
2022-12-16 17:56:41 +01:00
Juliusz Chroboczek
4cdeb1778f
Disable ulimit checking on non-Linux unices.
...
The code turned out not to port to FreeBSD. Disable the check,
and assume that FreeBSD admins read the docs.
Thanks to Amatis-51.
2022-11-12 12:26:21 +01:00
Juliusz Chroboczek
d99efe4dff
Require Go 1.17 or later.
...
Pion is unfortunately breaking Go 1.16.
2022-11-04 01:16:39 +01:00
Juliusz Chroboczek
56baddc948
Make groupAction take an arbitrary parameter.
2022-10-23 16:04:10 +02:00
Juliusz Chroboczek
1eb7716766
Simplify group expiration.
2022-10-23 16:04:10 +02:00
Juliusz Chroboczek
be0f05dac8
Fix incorrect formatting of error message.
2022-10-21 19:05:37 +02:00
Juliusz Chroboczek
10c57c7596
Don't use url.JoinPath.
...
It was introduced in Go 1.19.
2022-10-21 19:03:42 +02:00
Juliusz Chroboczek
5d220f59ee
Add section about using a reverse proxy.
2022-10-21 14:33:49 +02:00
Juliusz Chroboczek
526ec594b5
Tweak installation instructions.
2022-10-21 13:56:11 +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
31ed146a95
Fix computation of group URL in webserver.
...
We were computing the scheme incorrectly, which caused us
to compute the wrong websocket URL when -insecure is set.
Thanks to Fabien de Montgolfier.
2022-10-09 12:37:13 +02:00
Juliusz Chroboczek
6e7a5f8cc6
Update CHANGES for 0.6.1.
2022-10-07 14:38:49 +02:00
Juliusz Chroboczek
193441eceb
Update CHANGES.
2022-10-07 11:43:12 +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
8a2357de21
Only send chat history when joining.
...
When we moved the chat history to the client goroutine back in 0.6,
we started sending the history whenever the group configuration changed.
Only send it when first joining the group. Thanks to Rémi Nollet.
2022-10-07 00:22:03 +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
4f83de3335
Use status URL when checking group existence.
...
This avoids issues with redirects.
2022-09-16 20:31:46 +02:00
Juliusz Chroboczek
d2a34cc4b5
Update CHANGES.
2022-09-16 19:43:42 +02:00
Juliusz Chroboczek
1bce623080
Hide peers with no video by default.
...
Now that we have an indicator in the users list, it is reasonable
to hide audio-ony peers by default.
2022-09-16 19:43:35 +02:00
Juliusz Chroboczek
db30b052f9
Include camera indicator in users list.
2022-09-16 19:14:29 +02:00
Juliusz Chroboczek
ae782f5d00
Remove isUp parameter from setMedia.
...
It's redundant, the data is already in the stream.
2022-09-16 19:13:55 +02:00