Commit Graph
100 Commits
Author SHA1 Message Date
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
Joachim Bauch 4298c082eb Merge pull request #100 from strukturag/lint-fixes
Fix various issues found by golangci-lint.
2021-04-26 17:32:16 +02:00
Joachim Bauch c8e4bfe007 Fix various issues found by golangci-lint. 2021-04-26 17:25:52 +02:00
Joachim Bauch e849dc8cbd Add coverage status badge. 2021-04-23 15:53:09 +02:00
Joachim Bauch 16c4cc14bf Merge pull request #34 from strukturag/ci-coverage
CI: Show coverage report.
2021-04-23 15:48:23 +02:00
Joachim Bauch a07d7e1305 Update flag name. 2021-04-23 15:36:11 +02:00
Joachim Bauch 0f12ec33f8 Pin version. 2021-04-23 15:36:11 +02:00
Joachim Bauch ba4e05ab68 CI: Show coverage report. 2021-04-23 15:36:09 +02:00
Joachim Bauch 0c53f10fd7 No need to manually close rooms in testing, will be done by hub on client disconnects. 2021-04-23 15:26:05 +02:00
Joachim Bauch 8052df4ef5 Wait for clients to be terminated before destroying hub in tests.
This should help with the flaky test failures on CI.
2021-04-23 15:12:09 +02:00
Joachim Bauch a5faca00cd Pass backend when fetching room for managing virtual sessions.
The internal room id is different depending on the backend.
2021-04-23 14:39:42 +02:00
Joachim Bauch d21ace3114 python3 is no longer needed for building since #29 has been merged. 2021-04-23 10:16:26 +02:00
Joachim Bauch cbeffdc8ed Don't include bin and vendor folders in Docker build context. 2021-04-23 10:14:10 +02:00
Joachim Bauch 3b8b6fbda6 Merge pull request #82 from schleiftier/master
fix(docs): update config example for Apache proxy config
2021-04-23 10:03:27 +02:00
Joachim Bauch f89584845b Merge pull request #76 from strukturag/bandwidth-proxy
Support defining maximum bandwidths at diferent levels.
2021-04-23 09:54:56 +02:00
Joachim Bauch 1ceb806c20 Support defining maximum bandwidths at diferent levels.
- Individually for each backend.
- For the proxy client (i.e. signaling server using cluster of proxies).
- For the proxy server / MCU.

The smallest bandwidth configured will be used, e.g. if a backend has a
larger limit than the MCU assigned for the stream, the limit of the MCU
server will be used.
2021-04-23 09:18:05 +02:00
Joachim Bauch e8012d99d0 Remove log entries about changed flags. 2021-04-22 14:23:06 +02:00
Joachim Bauch 3a2adffab6 Get userid from room session data if present. 2021-04-22 14:18:35 +02:00
Joachim Bauch 047e6655a1 Remove unnecessary assignments. 2021-04-21 14:12:11 +02:00
Joachim Bauch 0dd2e8a086 Remove remaining virtual sessions if client session is closed.
Previously any virtual sessions that have not been explicitly closed were
not removed from the backend if the client session was closed / expired.
2021-04-21 14:05:45 +02:00
Joachim Bauch d772e10fec Fix typo in JSON option. 2021-04-21 13:48:34 +02:00
Joachim Bauch 048b3b2f7d Merge pull request #96 from strukturag/cache-easyjson
make: Cache easyjson results.
2021-04-14 15:17:35 +02:00
Joachim Bauch b95a538e87 make: Cache easyjson results. 2021-04-14 15:11:39 +02:00
Joachim Bauch b6f20b20f2 Update to go.etcd.io/etcd 3.4.15 2021-04-14 15:00:39 +02:00
Joachim Bauch bccf2d5afd Remove deprecated github.com/gorilla/context 2021-04-14 14:23:53 +02:00
Joachim Bauch b32ef67692 Merge pull request #95 from strukturag/dependabot/go_modules/github.com/gorilla/websocket-1.4.2
Bump github.com/gorilla/websocket from 1.2.0 to 1.4.2
2021-04-14 14:21:36 +02:00
Joachim Bauch 2b4997ebfc Merge pull request #94 from strukturag/dependabot/go_modules/github.com/google/uuid-1.2.0
Bump github.com/google/uuid from 1.1.2 to 1.2.0
2021-04-14 11:08:55 +02:00
Joachim Bauch 8ad0396a93 Run "go mod tidy". 2021-04-14 11:00:31 +02:00
Joachim Bauch 09411714d0 Merge pull request #93 from strukturag/dependabot
Add dependabot integration.
2021-04-13 17:20:39 +02:00
Joachim Bauch 0cc37d88e6 Add dependabot integration. 2021-04-13 17:13:21 +02:00
Joachim Bauch fe4c02130c Merge pull request #91 from strukturag/update-maxminddb-golang
Update maxminddb-golang to 1.8.0
2021-04-13 17:05:15 +02:00
Joachim Bauch b29b98f320 Update maxminddb-golang to 1.8.0 2021-04-13 16:51:55 +02:00
Joachim Bauch e306ee6baf Merge pull request #92 from strukturag/update-nats.go
Update nats.go to 1.10.0
2021-04-13 16:51:25 +02:00
Joachim Bauch 9b0c4fab00 Update nats.go to 1.10.0 2021-04-13 16:47:28 +02:00
Joachim Bauch 2c126354a6 Merge pull request #90 from strukturag/remove-golang-x-net-context
Remove unnecessary dependency golang.org/x/net
2021-04-13 16:39:30 +02:00
Joachim Bauch 57deed0ce2 Remove unnecessary dependency golang.org/x/net 2021-04-13 16:35:32 +02:00
Joachim Bauch 7ee108c863 Merge pull request #89 from strukturag/update-gorilla-mux
Update gorilla/mux to 1.8.0
2021-04-13 16:34:33 +02:00
Joachim Bauch 87568ca891 Update gorilla/mux to 1.8.0 2021-04-13 16:22:30 +02:00
Joachim Bauch 2436d93aa2 Merge pull request #88 from strukturag/go-mod
Switch dependency tracking to Go modules.
2021-04-09 16:42:30 +02:00
Joachim Bauch 067af00d45 CI: Also test with golang 1.16 2021-04-09 16:35:10 +02:00
Joachim Bauch 8ba2e0ad64 Switch dependency tracking to Go modules.
With that bump minimum required version to Go 1.13.
2021-04-09 16:15:00 +02:00
Joachim Bauch eecb7d61dd Revert "CI: Also test with golang 1.16"
Needs changes to build steps first.

This reverts commit d8da0f43e3.
2021-04-08 15:36:38 +02:00
Joachim Bauch d8da0f43e3 CI: Also test with golang 1.16 2021-04-08 15:33:08 +02:00
Joachim Bauch 43f0b1d598 Merge pull request #83 from strukturag/legacy-ptype
Stop using legacy ptype "listener".
2021-02-24 10:06:02 +01:00
Joachim Bauch 45b543d594 Stop using legacy ptype "listener". 2021-02-24 08:49:10 +01:00
Joachim Bauch 61000f5f69 Merge pull request #75 from strukturag/multiple-godeps
make: Only build "godeps" binary once.
2021-01-21 14:27:30 +01:00
Joachim Bauch 865798f920 make: Only build "godeps" binary once. 2021-01-21 14:23:09 +01:00
Joachim Bauch 043691d703 Merge pull request #72 from strukturag/align-for-atomic
Align 64-bit members that are accessed atomically.
2021-01-21 13:38:16 +01:00
Joachim Bauch b89e017ae4 Merge pull request #67 from strukturag/limit-sessions
Support limiting number of sessions per backend.
2021-01-07 09:39:35 +01:00
Joachim Bauch f801fc8537 Include "meta" field in client OCS response (follow-up to #74). 2021-01-07 09:32:57 +01:00
Joachim Bauch fd96d4e506 Merge pull request #74 from loelkes/master
Make the response from the client auth backend OCS compliant
2021-01-07 09:26:46 +01:00
Joachim Bauch fa9446efc4 Don't generate easyjson files concurrently. 2021-01-07 09:20:16 +01:00
Joachim Bauch 464a683e53 Merge pull request #73 from strukturag/parallel-make
Update make targets to support parallel building.
2021-01-05 09:14:55 +01:00
Joachim Bauch 245e538fae CI: Enable parallel builds. 2021-01-05 09:11:20 +01:00
Joachim Bauch d2af40d229 Update make targets to support parallel building. 2021-01-05 09:11:19 +01:00
Joachim Bauch af04cc956d Add missing lock when accessing internal sessions map. 2021-01-05 09:10:24 +01:00
Joachim Bauch 82c20ba930 Align 64-bit members that are accessed atomically. 2021-01-05 08:37:09 +01:00
Joachim Bauch 97a6049154 Merge pull request #69 from morph027/crosscompile
Adjust godeps for multiarch builds
2020-12-22 00:35:22 +01:00
Joachim Bauch a3e34143c5 Support limiting number of sessions per backend. 2020-12-17 14:56:45 +01:00
Joachim Bauch b62beb2d31 Don't wrap Error object twice. 2020-12-17 14:32:27 +01:00
Joachim Bauch 64cccab641 Log all non-websocket close errors. 2020-12-16 15:29:22 +01:00
Joachim Bauch 559f1e28ae Optionally disable certificate validation for proxy connections. 2020-12-16 15:17:44 +01:00
Joachim Bauch 4427953a69 Merge pull request #65 from strukturag/proxy-ping
Send ping to proxy regularly to detect broken connection.
2020-12-11 16:11:35 +01:00
Joachim Bauch 9ad4a0c021 Update read deadline before reading. 2020-12-11 16:01:49 +01:00
Joachim Bauch d2b7fafde5 Send ping to proxy regularly to detect broken connection. 2020-12-11 15:58:35 +01:00
Joachim Bauch 823be4ed43 Update changelog for 0.2.0 2020-12-08 14:00:05 +01:00
Joachim Bauch b949aed820 Merge pull request #62 from strukturag/ignore-default-ports
Canonicalize all URLs before comparisons / lookups.
2020-11-30 11:48:47 +01:00
Joachim Bauch d9210b8b1f Canonicalize all URLs before comparisons / lookups.
Otherwise urls like "https://server:443/foo/" will fail to find entries for
"https://server/foo/" and vice versa.
2020-11-30 11:43:43 +01:00
Joachim Bauch 34b0b9045b Merge pull request #61 from strukturag/virtual-sessions
Add support for virtual sessions
2020-11-30 11:27:49 +01:00
Joachim Bauch 5188c159c5 Update virtual sessions for SIP support in Talk. 2020-11-30 11:21:52 +01:00
Joachim Bauch b6ce723a8b Make sure the backend URL always points to the signaling controller. 2020-11-30 11:21:52 +01:00
Joachim Bauch 669ec5c1af Support "internal" messages to create/update/remove virtual sessions. 2020-11-30 11:21:51 +01:00
Joachim Bauch dc0e927c09 Merge pull request #60 from stweil/master
README: Add missing information for creating group
2020-11-26 12:34:43 +01:00
Joachim Bauch 9206a56113 Merge pull request #56 from strukturag/proxy-client-cleanup
Fix proxy client cleanup
2020-10-30 08:41:32 +01:00
Joachim Bauch 4cd33707c4 Merge pull request #57 from SystemKeeper/patch-1
Add '--full-trickle' to janus command
2020-10-29 08:22:23 +01:00
Joachim Bauch 2119993606 Use publisher/subscriber ids that stay the same across reconnections.
Otherwise it could happen that objects were kept in maps (e.g. on the
proxy server) if they reconnected to the WebRTC gateway during their
lifetime. This resulted in incorrect load calculations.
2020-10-26 09:51:33 +01:00
Joachim Bauch 7681e26fbb Use publisher/subscriber objects as map keys. 2020-10-26 09:34:11 +01:00