Joachim Bauch
a05acc9cb4
Include available features in header of backend requests to Nextcloud.
...
The header "X-Spreed-Signaling-Features" will contain a comma-separated list
of feature flags.
2021-11-03 15:24:27 +01:00
Joachim Bauch
2f8e7f9f66
Return available features in header of backend responses.
...
The header "X-Spreed-Signaling-Features" will contain a comma-separated list
of feature flags.
2021-11-03 15:24:27 +01:00
Joachim Bauch
70b37364d3
Support separate permissions for publishing audio / video.
...
Clients with permission "publish-media" can publish any audio/video. Other
clients need to have "publish-audio" and/or "publish-video" to publish the
corresponding media types. For this the SDP in the offer is parsed to check
what will be sent.
2021-11-03 15:24:25 +01:00
Joachim Bauch
3b26003b12
Merge pull request #167 from strukturag/rtt-logging
...
Reduce RTT logging
2021-11-03 15:02:09 +01:00
Joachim Bauch
782503a141
Don't log RTT of proxy clients.
2021-11-03 14:56:51 +01:00
Joachim Bauch
42dc476033
Only log RTT of connections to proxy if larger than 500ms.
2021-11-03 14:56:25 +01:00
Joachim Bauch
31294aee1d
Merge pull request #166 from strukturag/dependabot/github_actions/actions/checkout-2.4.0
...
Bump actions/checkout from 2.3.5 to 2.4.0
2021-11-03 08:27:19 +01:00
Joachim Bauch
fb12b359e0
Merge pull request #163 from strukturag/dependabot/github_actions/actions/checkout-2.3.5
...
Bump actions/checkout from 2.3.4 to 2.3.5
2021-10-19 13:33:02 +02:00
Joachim Bauch
628abe470e
Merge pull request #159 from strukturag/subscribe-internal-clients
...
Internal clients always may subscribe all streams.
2021-10-19 13:32:28 +02:00
Joachim Bauch
fdf43a7787
Merge pull request #160 from strukturag/migrate-jwt
...
deps: Migrate to "github.com/golang-jwt/jwt".
2021-10-11 15:20:23 +02:00
Joachim Bauch
e09022c78d
deps: Migrate to "github.com/golang-jwt/jwt".
...
The previous "gopkg.in/dgrijalva/jwt-go.v3" is no longer maintained.
2021-10-11 14:02:57 +02:00
Joachim Bauch
1190856414
Merge pull request #158 from strukturag/dependabot/go_modules/github.com/nats-io/nats.go-1.13.0
...
Bump github.com/nats-io/nats.go from 1.12.3 to 1.13.0
2021-10-11 13:45:48 +02:00
Joachim Bauch
c51276596b
Internal clients always may subscribe all streams.
...
Follow-up to #133 .
2021-10-11 13:44:54 +02:00
Joachim Bauch
aeb7834ff7
Merge pull request #133 from strukturag/check-subscribe-call
...
Only allow subscribing if both users are in the same room and call.
2021-09-23 13:38:37 +02:00
Joachim Bauch
a663dd43f9
Add option to allow subscribing of any streams (disabled by default).
2021-09-23 09:05:49 +02:00
Joachim Bauch
b398591447
Only allow subscribing if both users are in the same room and call.
...
Previously it was possible to subscribe any stream if the session id of the
publisher was known.
2021-09-23 09:05:25 +02:00
Joachim Bauch
7a6f9577fe
Merge pull request #154 from strukturag/dependabot/go_modules/github.com/nats-io/nats.go-1.12.3
...
Bump github.com/nats-io/nats.go from 1.12.1 to 1.12.3
2021-09-22 08:55:32 +02:00
Joachim Bauch
4530b91434
Merge pull request #153 from strukturag/ci-go-1.17
...
CI: Also test with Golang 1.17
2021-09-14 14:03:18 +02:00
Joachim Bauch
93a4bf1949
CI: Also test with Golang 1.17
2021-09-14 13:58:13 +02:00
Joachim Bauch
6d4c8bba20
Merge pull request #150 from strukturag/dependabot/go_modules/github.com/nats-io/nats.go-1.12.1
...
Bump github.com/nats-io/nats.go from 1.11.0 to 1.12.1
2021-09-13 09:12:33 +02:00
Joachim Bauch
c0603d6b4d
Merge pull request #144 from strukturag/dependabot/go_modules/github.com/prometheus/client_golang-1.11.0
...
Bump github.com/prometheus/client_golang from 1.10.0 to 1.11.0
2021-08-11 08:58:55 +02:00
Joachim Bauch
29cd282691
Merge pull request #99 from strukturag/prometheus-metrics
...
Add prometheus metrics
2021-08-10 10:08:50 +02:00
Joachim Bauch
4c77ae04ef
Close publishers/subscribers if proxy session is closed.
2021-08-10 09:24:59 +02:00
Joachim Bauch
6841d1495f
Fixup: don't decrement virtual sessions twice.
2021-08-10 08:50:41 +02:00
Joachim Bauch
ce1b3fc6e2
Add more metrics on rooms / sessions / backends.
2021-08-10 08:50:41 +02:00
Joachim Bauch
5d431e5612
Lint prometheus stats.
2021-08-10 08:50:40 +02:00
Joachim Bauch
70f9f7ea91
Also track subscriber streams by type.
2021-08-10 08:50:40 +02:00
Joachim Bauch
f758f8a5e7
Expose publisher streams by type through metrics.
2021-08-10 08:50:39 +02:00
Joachim Bauch
c01caa94e6
Add prometheus metrics.
2021-08-10 08:50:39 +02:00
Joachim Bauch
300edddc5a
Add github.com/prometheus/client_golang v1.10.0
2021-08-10 08:50:35 +02:00
Joachim Bauch
dfad9307ce
Merge pull request #143 from strukturag/override-country-continent-mapping
...
Support continent mapping overrides.
2021-08-10 08:49:36 +02:00
Joachim Bauch
7bf6fa903b
Support continent mapping overrides.
...
This can be used for example to route all users on continent A to proxies
on continent B. Useful if no proxy exists on continent A and the global
selection chooses a non-ideal proxy.
2021-08-06 16:00:54 +02:00
Joachim Bauch
ffb79c747c
Add method "IsValidContinent".
2021-08-06 15:41:18 +02:00
Joachim Bauch
2ac58a3360
Merge pull request #140 from strukturag/stop-publishers-without-permissions
...
Stop publishers if session is no longer allowed to publish.
2021-08-05 12:21:10 +02:00
Joachim Bauch
ed1c834a29
Stop publishers if session is no longer allowed to publish.
2021-08-05 12:15:26 +02:00
Joachim Bauch
64faa1c499
Merge pull request #138 from strukturag/dependabot/go_modules/github.com/google/uuid-1.3.0
...
Bump github.com/google/uuid from 1.2.0 to 1.3.0
2021-07-14 08:34:57 +02:00
Joachim Bauch
425b52c2c3
Merge pull request #134 from strukturag/body-on-redirect
...
Only include body in 307/308 redirects if going to same host.
2021-07-13 08:52:00 +02:00
Joachim Bauch
66bcf2468d
Simplify request creation when getting capabilities.
2021-07-07 12:35:53 +02:00
Joachim Bauch
dc713ea8e8
Only include body in 307/308 redirects if going to same host.
2021-07-07 12:35:53 +02:00
Joachim Bauch
b422b4d379
Merge pull request #131 from strukturag/dependabot/github_actions/coverallsapp/github-action-1.1.3
...
Bump coverallsapp/github-action from 1.1.2 to 1.1.3
2021-07-07 11:33:33 +02:00
Joachim Bauch
1820816160
Merge pull request #132 from strukturag/force-https
...
Force HTTPS for backend connections in old-style configurations.
2021-07-07 11:03:32 +02:00
Joachim Bauch
ec71f29fee
Force HTTPS for backend connections in old-style configurations.
...
Prevents clients from sending a HTTP auth URL to trigger an insecure
connection from the signaling server to Nextcloud.
2021-07-07 09:16:59 +02:00
Joachim Bauch
ed8c2752cb
Merge pull request #129 from morph027/multiarch-easyjson
...
adjust easyjson for multiarch builds
2021-07-05 08:30:41 +02:00
Joachim Bauch
2662d49017
Update changelog for 0.3.0
2021-07-01 09:24:52 +02:00
Joachim Bauch
e40e86f32c
Merge pull request #104 from strukturag/stream-selection-api
...
Add API to select a simulcast substream / temporal layer.
2021-07-01 08:54:11 +02:00
Joachim Bauch
b091db000e
Merge pull request #121 from strukturag/initial-virtual-flags
...
Notify new clients about flags of virtual sessions
2021-06-08 13:51:23 +02:00
Joachim Bauch
8a87a0d602
Add feature flag "simulcast".
2021-06-08 13:49:09 +02:00
Joachim Bauch
0a8ce3bda3
Add API to select a simulcast substream / temporal layer.
2021-06-08 13:49:08 +02:00
Joachim Bauch
9d2ad0f243
Notify new clients about current flags of virtual sessions.
2021-06-08 13:46:25 +02:00
Joachim Bauch
4d991725c3
Add method to get pending messages from testclient.
2021-06-08 13:45:58 +02:00
Joachim Bauch
6886bb9b53
Merge pull request #119 from strukturag/check-capabilities-v4api
...
Fetch capabilities to check if "v3" signaling API of Talk should be used.
2021-06-08 10:33:21 +02:00
Joachim Bauch
2bbc0a4d3c
Fetch capabilities to check if "v3" signaling API of Talk should be used.
2021-06-08 10:23:27 +02:00
Joachim Bauch
60b11b1ba9
Don't start test until receiving goroutine is ready.
2021-06-08 09:44:53 +02:00
Joachim Bauch
6c72d3f2bc
Merge pull request #116 from strukturag/dependabot/go_modules/github.com/nats-io/nats-server/v2-2.2.6
...
Bump github.com/nats-io/nats-server/v2 from 2.2.1 to 2.2.6
2021-06-08 09:38:43 +02:00
Joachim Bauch
35d3bf84e6
Merge pull request #115 from strukturag/test-improvements
...
Various test improvements
2021-06-08 09:27:05 +02:00
Joachim Bauch
7618bc683c
Ignore room NATS messages that were sent before the room was joined.
...
Can happen mostly during tests (e.g. TestClientTakeoverRoomSession)
where the new client could receive the "leave" event that was sent
before it joined the room (but got delivered after joining).
2021-06-08 09:20:18 +02:00
Joachim Bauch
2628735431
Send close message when explicitly closing client.
2021-06-07 17:14:31 +02:00
Joachim Bauch
9a473b9bf1
Wait for close message to be processed in test client before closing.
2021-06-07 17:14:31 +02:00
Joachim Bauch
447fa9a279
Add "String" methods to ClientMessage/ServerMessage.
2021-06-07 16:53:26 +02:00
Joachim Bauch
c8886d03c9
Simplify loopback NATS client.
...
Only use one goroutine per client instead of one per subscription.
This ensures that (like with the "real" client), all messages are
processed in order across different subscriptions.
2021-06-07 16:53:26 +02:00
Joachim Bauch
fe95626f3b
Support closing clients from message processor.
2021-06-07 15:15:50 +02:00
Joachim Bauch
618e7b085e
Fix potential race condition when closing message channel.
2021-06-07 15:14:51 +02:00
Joachim Bauch
8bf4fb5675
Merge pull request #120 from strukturag/notify-multiple-waiters
...
Support multiple waiters for the same key.
2021-06-07 14:51:12 +02:00
Joachim Bauch
60a88b327b
Support multiple waiters for the same key.
2021-06-07 14:36:52 +02:00
Joachim Bauch
7bdff5ddef
Use subtests for testing with different values.
2021-06-07 10:44:25 +02:00
Joachim Bauch
04d315b0a4
Wait for any messages to be processed before stopping Hub in tests.
2021-06-07 10:37:56 +02:00
Joachim Bauch
3f19882612
No need to close NATS receiver channel.
...
Will be garbage collected once the room is removed and is not needed to
wakeup the reader (which is terminated in a "select" loop from the close
channel).
2021-06-07 10:29:50 +02:00
Joachim Bauch
2f4414561e
No need to include trailing newline in log messages.
2021-06-04 16:42:17 +02:00
Joachim Bauch
9a921a6572
Merge pull request #111 from strukturag/async-client-processing
...
Make client message processing asynchronous.
2021-06-04 16:27:03 +02:00
Joachim Bauch
0b2df54343
Send hello response through session.
2021-06-04 15:46:22 +02:00
Joachim Bauch
6e54d8f4f4
Attempt to fix flaky tests.
2021-06-04 15:46:21 +02:00
Joachim Bauch
21f3f506d1
Send more responses through the session to handle disconnected / resuming clients.
2021-06-04 15:40:43 +02:00
Joachim Bauch
15d5c93b0b
Support session resumption while a room is being joined.
...
If a client resumed a session while a (slow) backend request to join a room
was still active, the response could get lost.
2021-06-04 15:40:42 +02:00
Joachim Bauch
b8b46264c1
Create messagechan for proxy clients.
2021-06-04 15:40:42 +02:00
Joachim Bauch
2b02a2f929
Make client message processing asynchronous.
...
This helps in detecting clients that disconnect while a backend request for
them is still active (e.g. joining a room).
2021-06-04 15:40:39 +02:00
Joachim Bauch
8f3db6da80
Merge pull request #105 from strukturag/nats-tests
...
Add tests for regular NATS client.
2021-06-04 15:39:44 +02:00
Joachim Bauch
1687c80122
Add more tests.
2021-06-04 15:30:55 +02:00
Joachim Bauch
762d1512c4
Remove unused "Request" method from NATS client.
2021-06-04 15:16:16 +02:00
Joachim Bauch
0d1c546355
Use buffered channel to receive read error.
2021-06-04 15:13:34 +02:00
Joachim Bauch
c91b0de254
Add tests for regular NATS client.
2021-06-04 15:13:33 +02:00
Joachim Bauch
6fb57c7823
Merge pull request #114 from strukturag/janus-remove-nats
...
Remove NATS notifications for Janus publishers
2021-06-04 15:03:50 +02:00
Joachim Bauch
9b83993d48
Assume one Janus server is only used by one signaling server / -proxy.
...
With that, we can notify publisher events locally instead of through NATS
and can remove code that looks up publisher rooms by their ids on Janus.
2021-06-04 14:52:23 +02:00
Joachim Bauch
d7bd809c54
Add class no notify named waiters.
2021-06-04 14:26:03 +02:00
Joachim Bauch
f38ebdc518
Merge pull request #113 from strukturag/serialize-turn-credentials
...
Don't include TURN credentials in log message.
2021-06-01 08:30:10 +02:00
Joachim Bauch
5ed89af1eb
Don't include TURN credentials in log message.
2021-06-01 08:24:48 +02:00
Joachim Bauch
dcc32bd682
Merge pull request #112 from strukturag/ci-codeql
...
CI: Add CodeQL Analysis.
2021-05-31 17:13:16 +02:00
Joachim Bauch
ca8ce625e4
CI: Add CodeQL Analysis.
2021-05-31 17:05:08 +02:00
Joachim Bauch
9919e5a7e6
Merge pull request #110 from strukturag/dependabot/github_actions/actions/cache-2.1.6
...
Bump actions/cache from 2.1.5 to 2.1.6
2021-05-31 12:30:27 +02:00
Joachim Bauch
52c1514978
Always use auth userid in ping requests.
...
Fixes issue introduced in 3a2adffab6 where some
ping requests were not evaluated correctly if a userid was given in the room
session data.
2021-05-19 16:24:15 +02:00
Joachim Bauch
da5890a1c7
Merge pull request #108 from strukturag/dependabot/github_actions/actions/checkout-2.3.4
...
Bump actions/checkout from 2 to 2.3.4
2021-05-12 08:27:22 +02:00
Joachim Bauch
327597f768
Merge pull request #107 from strukturag/dependabot/github_actions/golangci/golangci-lint-action-2.5.2
...
Bump golangci/golangci-lint-action from 2 to 2.5.2
2021-05-12 08:27:03 +02:00
Joachim Bauch
87b8e3bfd2
Merge pull request #106 from strukturag/dependabot/github_actions/actions/cache-2.1.5
...
Bump actions/cache from 2 to 2.1.5
2021-05-12 08:26:47 +02:00
Joachim Bauch
d432b0c1a9
Merge pull request #103 from strukturag/dependabot/github_actions/jandelgado/gcov2lcov-action-v1.0.8
...
Bump jandelgado/gcov2lcov-action from v1.0.2 to v1.0.8
2021-04-27 10:47:25 +02:00
Joachim Bauch
58cf21b63f
Merge pull request #102 from strukturag/dependabot/github_actions/coverallsapp/github-action-v1.1.2
...
Bump coverallsapp/github-action from v1.1.1 to v1.1.2
2021-04-27 10:46:38 +02:00
Joachim Bauch
e143ada50d
Merge pull request #101 from strukturag/dependabot-actions
...
dependabot: check github actions for updates.
2021-04-27 09:05:12 +02:00
Joachim Bauch
1d12bfb107
dependabot: check github actions for updates.
2021-04-27 09:01:07 +02:00
Joachim Bauch
5d87df4b8e
Return error if unknown hello session was received while waiting for joined events.
2021-04-27 08:48:36 +02:00
Joachim Bauch
9cf796640c
Don't require certain order of own/other "joined" events.
2021-04-27 08:39:19 +02:00
Joachim Bauch
73acd90f2b
Merge pull request #32 from strukturag/ci-golang-lint
...
CI: Also run golangci-lint
2021-04-26 17:36:42 +02:00
Joachim Bauch
929ac80b86
CI: Also run golangci-lint
2021-04-26 17:32:43 +02:00