Joachim Bauch
0338e9db42
Document hello version 2.0 authentication.
2022-08-03 16:33:48 +02:00
Joachim Bauch
9c159dc4f8
Add feature flag for hello version 2.0
2022-08-03 16:33:47 +02:00
Joachim Bauch
156bc360ff
Add hello version "2.0" that authenticates connections using a JWT.
2022-08-03 16:33:45 +02:00
Joachim Bauch
88e4c5f2c3
Merge pull request #310 from strukturag/golang-1.19
...
CI: Also test with Golang 1.19
2022-08-03 16:32:35 +02:00
Joachim Bauch
b14392b367
CI: Fix condition to run tarball tests.
2022-08-03 16:26:06 +02:00
Joachim Bauch
aa96695cc1
CI: Also test with Golang 1.19
2022-08-03 16:24:23 +02:00
Joachim Bauch
82e3b62c34
Merge pull request #306 from strukturag/dependabot/go_modules/google.golang.org/protobuf-1.28.1
...
Bump google.golang.org/protobuf from 1.28.0 to 1.28.1
2022-07-29 09:13:16 +02:00
Joachim Bauch
6e25490401
Merge pull request #308 from strukturag/dependabot/github_actions/actions/download-artifact-3
...
Bump actions/download-artifact from 2 to 3
2022-07-28 22:32:44 +02:00
Joachim Bauch
58d5a7c3d8
Merge pull request #307 from strukturag/dependabot/github_actions/actions/upload-artifact-3
...
Bump actions/upload-artifact from 2 to 3
2022-07-28 22:32:13 +02:00
Joachim Bauch
fee5d22afb
docs: Pin markdown to 3.3.7
2022-07-28 09:38:58 +02:00
Joachim Bauch
417a77aeae
Merge pull request #305 from strukturag/docs-pin-dependencies
...
docs: update and pin dependencies
2022-07-28 09:34:08 +02:00
Joachim Bauch
556ff5230d
docs: Pin jinja2 to 3.1.2
2022-07-28 09:24:37 +02:00
Joachim Bauch
485991033d
docs: Update and pin mkdocs to 1.3.1.
2022-07-28 09:24:28 +02:00
Joachim Bauch
474987662a
docs: Sort requirements.
2022-07-28 09:09:06 +02:00
Joachim Bauch
cded46e5cf
Merge pull request #300 from strukturag/tarball-vendored-dependencies
...
make: Include vendored dependencies in tarball.
2022-07-28 08:20:19 +02:00
Joachim Bauch
75ae615d80
CI: Test if vendored tarball works.
2022-07-27 17:28:18 +02:00
Joachim Bauch
3ae23f0336
make: Include vendored dependencies in tarball.
2022-07-27 17:28:18 +02:00
Joachim Bauch
57b74e57a8
Merge pull request #303 from strukturag/dependabot/pip/docs/sphinx-5.1.1
...
Bump sphinx from 5.0.2 to 5.1.1 in /docs
2022-07-27 17:16:49 +02:00
Joachim Bauch
def519b9cf
Merge pull request #302 from strukturag/fix-markdown
...
Fix RTD builds
2022-07-27 16:54:34 +02:00
Joachim Bauch
e40940c25b
docs: Pin version of markdown to < 3.4.0
2022-07-27 16:52:11 +02:00
Joachim Bauch
a9280f1b43
Merge pull request #301 from strukturag/sdp-v3
...
Update to github.com/pion/sdp v3.0.5
2022-07-27 16:25:49 +02:00
Joachim Bauch
e54fcf9559
Update to github.com/pion/sdp v3.0.5
2022-07-27 16:18:45 +02:00
Joachim Bauch
dcc583736a
Merge pull request #297 from strukturag/dependabot/go_modules/google.golang.org/grpc-1.48.0
...
Bump google.golang.org/grpc from 1.47.0 to 1.48.0
2022-07-25 15:01:12 +02:00
Joachim Bauch
51fb410c28
Merge pull request #296 from strukturag/clustered-session-limit
...
Implement per-backend session limit for clusters.
2022-07-13 12:04:49 +02:00
Joachim Bauch
deaa17acc5
Implement per-backend session limit for clusters.
2022-07-13 11:52:20 +02:00
Joachim Bauch
12a8fa98d0
Merge pull request #295 from strukturag/virtualsessions-tests
...
Add tests for virtual sessions.
2022-07-12 15:21:29 +02:00
Joachim Bauch
706a876fc3
Send initial user flags to internal sessions asynchronously.
2022-07-12 14:16:33 +02:00
Joachim Bauch
532587eb9f
Don't log message as string twice in case of errors.
2022-07-12 13:31:40 +02:00
Joachim Bauch
f0eb80b6fd
Add tests for virtual sessions.
2022-07-12 12:10:01 +02:00
Joachim Bauch
faf7544f2d
Add methods to get recipient of control/message messages.
2022-07-12 12:10:00 +02:00
Joachim Bauch
4f84d3ad0d
Fix accessing sender when checking received control messages.
2022-07-12 11:55:51 +02:00
Joachim Bauch
7d9970713d
Add methods to send internal messages.
2022-07-12 11:55:26 +02:00
Joachim Bauch
e101e74672
Fix sending messages to virtual sessions on different servers.
2022-07-12 11:54:41 +02:00
Joachim Bauch
6173a350a1
Add method to get virtual sessions of a client session.
2022-07-12 11:11:52 +02:00
Joachim Bauch
8ea6072de5
Set userid / userdata when removing virtual session in backend.
2022-07-12 11:11:19 +02:00
Joachim Bauch
d2036fcbd6
Add unexpected messages to ignore list instead of returning error.
2022-07-12 10:10:15 +02:00
Joachim Bauch
d1c5d785c8
Fix deadlock if virtual session leaves room.
2022-07-12 10:09:22 +02:00
Joachim Bauch
5fc61b15b6
Add more "String()" methods to help with debugging.
2022-07-12 10:07:23 +02:00
Joachim Bauch
13d2795b00
Merge pull request #294 from strukturag/synchronous-roomsession-disconnect
...
Disconnect sessions with the same room session id synchronously.
2022-07-11 10:53:05 +02:00
Joachim Bauch
95d5e50705
Disconnect sessions with the same room session id synchronously.
...
Previously there was a difference in the events being received by other
sessions for the clustered case compared to the single-server case.
Now the events / ordering are the same for both cases.
2022-07-11 10:39:06 +02:00
Joachim Bauch
3de149c7ae
Merge pull request #293 from strukturag/fix-unsharescreen
...
Fix handling of "unshareScreen" messages and add test.
2022-07-08 17:18:15 +02:00
Joachim Bauch
66e502dc9b
Fix handling of "unshareScreen" messages and add test.
...
Also update tests for "requestoffer" / "sendoffer".
2022-07-08 17:09:22 +02:00
Joachim Bauch
4770fc8ad6
Merge pull request #292 from strukturag/more-tests
...
Add more tests
2022-07-08 16:00:12 +02:00
Joachim Bauch
608415c3ff
Track anonymous sessions not in rooms instead of clients.
...
Otherwise it would be possible for clients to reconnect to reset their
timer to join a room.
2022-07-08 15:52:32 +02:00
Joachim Bauch
ab26dfe90d
Add testcase for initial permissions in a room.
2022-07-08 15:11:50 +02:00
Joachim Bauch
545bce0082
Fix and add test for clustered disconnect of duplicate room ids.
2022-07-08 14:57:29 +02:00
Joachim Bauch
e99d843c65
Add testcase for anonymous clients needing to join new room.
2022-07-08 14:21:50 +02:00
Joachim Bauch
a1f62ffd18
Add missing lock call for timeouts in waiter methods.
2022-07-08 14:19:13 +02:00
Joachim Bauch
6e9a36a434
Merge pull request #291 from strukturag/etcd-watch-race
...
etcd: Fix race in initialized event.
2022-07-08 11:02:55 +02:00
Joachim Bauch
40e1b208c0
etcd: Fix race in initialized event.
...
It could happen that the initialized event was triggered even though the
watch was not fully created yet.
2022-07-08 10:56:36 +02:00
Joachim Bauch
0165788fe3
Merge pull request #290 from strukturag/ci-fix-slow-cpu
...
Fix issues on slow CPUs
2022-07-08 10:12:18 +02:00
Joachim Bauch
8704bc3b5b
Make sure replaced files have different modification times.
...
Depending on filesystem time resolution, the modified certificates could
have the same timestamp in tests, causing the reload to fail.
2022-07-08 10:06:15 +02:00
Joachim Bauch
75e5013dd8
Create copy of filtered messages.
...
Otherwise it can happen that the modified message is reused and sent to
another session.
2022-07-08 09:49:32 +02:00
Joachim Bauch
5296e09a2e
grpc: Always use reloadable credentials.
...
Settings the callaback functions on tls.Config seems to causes issues on
slow CPUs (e.g. GitHub actions) where old certificates might be reused.
2022-07-08 09:34:17 +02:00
Joachim Bauch
c463791e21
CI: Don't retry tests in case of failures.
...
Flaky tests should be fixed instead.
2022-07-08 08:33:57 +02:00
Joachim Bauch
a9517feebb
Merge pull request #289 from strukturag/jwt-v4
...
Update to Go module version of github.com/golang-jwt/jwt
2022-07-07 17:16:53 +02:00
Joachim Bauch
924fce6713
Stop using deprecated "jwt.StandardClaims".
2022-07-07 17:12:21 +02:00
Joachim Bauch
8a97fa7f5e
Update to Go module version of github.com/golang-jwt/jwt
2022-07-07 17:04:34 +02:00
Joachim Bauch
ce5d74bbec
Run "go mod tidy".
2022-07-07 17:03:41 +02:00
Joachim Bauch
5b3b147794
Merge pull request #276 from Tachi107/systemd-hardening
...
dist: harden systemd service unit
2022-07-07 16:34:27 +02:00
Joachim Bauch
d3f8876d25
Merge pull request #281 from strukturag/refactor-async-events
...
Clustering support
2022-07-07 16:24:15 +02:00
Joachim Bauch
042d447ab4
Merge pull request #288 from strukturag/initial-welcome
...
Send initial "welcome" message when clients connect.
2022-07-07 10:10:43 +02:00
Joachim Bauch
243411671d
Add documentation for welcome message.
2022-07-07 10:04:13 +02:00
Joachim Bauch
f7db8a38e1
Send initial "welcome" message when clients connect.
...
This can be used to detect server features before performing the
actual "hello" handshake.
2022-07-07 09:57:10 +02:00
Joachim Bauch
ad1dea2780
Only send single "incall" message with "all: true" in clustered setup.
...
Previously each instance would send one message to all users in the cluster.
2022-07-04 15:26:12 +02:00
Joachim Bauch
32a2f822e0
Merge pull request #287 from strukturag/arbitrary-capabilities
...
Support arbitrary capabilities values.
2022-07-04 15:00:41 +02:00
Joachim Bauch
ec62503bd3
Support arbitrary capabilities values.
2022-07-04 13:53:02 +02:00
Joachim Bauch
b2da4002a4
grpc: Reload certificate if file has changed and support mutual authentication.
2022-07-04 11:05:21 +02:00
Joachim Bauch
06e9ae0644
Add certificate reloader class.
2022-07-04 10:50:44 +02:00
Joachim Bauch
44bf8b74c2
grpc: Make sure DNS discovery of clients continues if initial lookup failed.
2022-07-01 11:42:49 +02:00
Joachim Bauch
15dabeee1e
grpc: Check clients for own server id asychronously.
...
The external address of the (own) GRPC server might only be reachable after
some time, so performing the check only initially could fail but will
succeed later.
2022-07-01 10:22:16 +02:00
Joachim Bauch
715b2317df
Add helper to wait with exponential backoff.
2022-07-01 10:21:49 +02:00
Joachim Bauch
24eab34da7
Allow configuring backends through etcd.
2022-06-30 11:35:36 +02:00
Joachim Bauch
01858a89f4
grpc: Enable DNS discovery for GRPC clients.
2022-06-30 11:35:35 +02:00
Joachim Bauch
20cc51c2fe
grpc: Automatically detect if a target is the current server itself.
...
This allows configuring the same list of targets for all instances without
having to setup the "own" address differently for each server.
2022-06-30 11:35:35 +02:00
Joachim Bauch
5a242b2570
readme: Add note on clustering.
2022-06-30 11:35:34 +02:00
Joachim Bauch
0e144906a4
Added tests for clustered behaviour.
2022-06-30 11:35:33 +02:00
Joachim Bauch
dcb5be956c
Implement "sendoffer" for remote sessions.
2022-06-30 11:35:33 +02:00
Joachim Bauch
36710c8aa9
Improve detection of decodable sessions that were created on a different server.
2022-06-30 11:35:32 +02:00
Joachim Bauch
25dabf910d
Allow configuring GRPC targets through etcd.
2022-06-30 11:35:32 +02:00
Joachim Bauch
b6e419f18a
Add metrics for GRPC calls.
2022-06-30 11:35:31 +02:00
Joachim Bauch
b315c09a3b
Allow configuring GRPC transport credentials.
2022-06-30 11:35:30 +02:00
Joachim Bauch
6f64ff901d
Create temporary connection to proxy used by remote publisher.
2022-06-30 11:35:30 +02:00
Joachim Bauch
2ca9fb21c4
Add SingleNotifier class.
2022-06-30 11:35:29 +02:00
Joachim Bauch
a0d3af14e0
Add initial clustering support.
2022-06-30 11:35:28 +02:00
Joachim Bauch
7b24dc1d1d
Add grpc 1.47.0 / protobuf 1.28.0
2022-06-24 13:37:38 +02:00
Joachim Bauch
ece2903413
Trigger "joined" events through async messages.
2022-06-24 13:37:37 +02:00
Joachim Bauch
0115c97946
Refactor asynchronous events to central location.
2022-06-24 13:37:35 +02:00
Joachim Bauch
ddb7ece622
Merge pull request #283 from strukturag/etcd-tests-running
...
Fix testing etcd server not starting up if etcd is running on host.
2022-06-24 13:37:11 +02:00
Joachim Bauch
a761f135a8
Fix testing etcd server not starting up if etcd is running on host.
2022-06-24 13:30:32 +02:00
Joachim Bauch
a06bc333d2
make: remove leftover easyjson bootstrap files in "clean" target
2022-06-24 13:01:03 +02:00
Joachim Bauch
af4bd51ec0
Merge pull request #282 from strukturag/refactor-etcd
...
Move common etcd code to own class.
2022-06-24 12:20:15 +02:00
Joachim Bauch
b0624be0a9
Move etcd configuration to common section.
2022-06-24 11:15:29 +02:00
Joachim Bauch
134d22bfe7
Move common etcd code to own class.
2022-06-24 11:15:29 +02:00
Joachim Bauch
28b94191b1
Merge pull request #277 from strukturag/dependabot/pip/docs/sphinx-5.0.2
...
Bump sphinx from 5.0.1 to 5.0.2 in /docs
2022-06-20 08:47:39 +02:00
Joachim Bauch
79532954da
readme: Update link to documentation.
2022-06-15 09:13:14 +02:00
Joachim Bauch
3393ffde8a
Merge pull request #275 from Tachi107/systemd-sysusers
...
dist: add systemd sysusers file
2022-06-15 08:39:27 +02:00
Joachim Bauch
da1efac59d
make: No need to run easyjson against room.go.
...
Doesn't define any JSON structs, so easyjson is no longer needed.
2022-06-14 16:50:34 +02:00
Joachim Bauch
4bedfdf780
Merge pull request #274 from strukturag/ignore-room-message-not-joined
...
Fix check for async room messages received while not joined to a room.
2022-06-14 16:44:14 +02:00
Joachim Bauch
078768f9c8
Fix check for async room messages received while not joined to a room.
2022-06-14 16:38:29 +02:00