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
Joachim Bauch
18c1874333
Merge pull request #55 from strukturag/mcu-messages-session
...
Send MCU messages through the session.
2020-10-21 14:38:03 +02:00
Joachim Bauch
e6f6f0a846
Check combining while building pending messages instead of while sending out.
2020-10-21 14:34:53 +02:00
Joachim Bauch
dd327a841e
Send MCU messages through the session.
...
This helps with clients disconnecting / resuming while MCU responses
are being sent to them. With the change, the messages are stored in
the session and sent out when clients resume their session.
2020-10-21 14:19:57 +02:00
Joachim Bauch
644d9a1737
Include load in stats response.
2020-10-15 13:27:08 +02:00
Joachim Bauch
7d690d049f
Merge pull request #53 from strukturag/reload-improvements
...
Minor reload improvements
2020-10-14 16:18:44 +02:00
Joachim Bauch
52e5978b19
Handle old-style MCU configuration with type but no url.
...
In the past this disabled the MCU but now was triggering an error due to an
invalid (empty) URL. Keep old behaviour and disable MCU again.
2020-10-07 15:00:35 +02:00
Joachim Bauch
5797111033
Log what backends are added/changed/removed on reload.
2020-10-06 16:37:35 +02:00
Joachim Bauch
cd4d930835
Update reload tests
...
- Add test that reloads without changes.
- Add test that removes backend from shared host.
2020-10-06 16:37:33 +02:00
Joachim Bauch
aa0191ef7e
Don't allow reload with old-style backend configurations.
2020-10-06 16:36:53 +02:00
Joachim Bauch
f7ed6addb7
Always load backends in the order they are configured.
2020-10-06 16:36:49 +02:00
Joachim Bauch
bef54339e3
Merge pull request #52 from hosting-de-labs/feature/reload-backendconfigs
...
Feature: Reload Backends on SIGHUP
2020-10-06 15:37:59 +02:00
Joachim Bauch
67e66c0e5a
Log something when proxy publisher/subscriber is deleted.
2020-09-24 12:43:27 +02:00
Joachim Bauch
76f327b919
Log session id when creating publish/subscriber.
2020-09-16 16:51:11 +02:00
Joachim Bauch
7e3a7af9a3
Use dedicated (shorter) timeout for proxy requests.
...
This will prevent the overall MCU timeout to expire on the first proxy
request if that takes too long. With the shorter proxy timeout, the other
proxy servers will be retried if the first request timed out.
2020-09-16 10:13:09 +02:00
Joachim Bauch
612b1d7217
Mark session as used on resume.
2020-09-16 10:11:52 +02:00
Joachim Bauch
d437dbbc0e
Mark session as used when connection is closed to prevent from timing out too early.
2020-09-16 10:08:46 +02:00
Joachim Bauch
80194c4e1d
Don't perform request to proxy if context is already done.
2020-09-16 09:23:36 +02:00
Joachim Bauch
7bd9ee07b8
Merge pull request #50 from SuperSandro2000/patch-1
...
Remove duplicated argument
2020-09-09 16:31:42 +02:00
Joachim Bauch
767d283600
Handle case where etcd cluster is not available during startup.
2020-09-09 14:42:18 +02:00
Joachim Bauch
adce45162e
Default to proxy url type "static" if none is configured.
2020-09-07 17:07:48 +02:00
Joachim Bauch
198117a8d0
Fix commented default value of "urltype".
2020-09-07 17:06:40 +02:00
Joachim Bauch
dbcbad8b99
Add changelog.
2020-09-07 09:46:45 +02:00
Joachim Bauch
a9b6b44b14
Update syntax to match other commented values.
2020-09-07 09:44:39 +02:00
Joachim Bauch
5206490fef
Change log message if session was resumed.
2020-09-07 09:12:32 +02:00
Joachim Bauch
1e11eac284
proxy: Check complete session id when resuming.
2020-09-07 09:10:33 +02:00
Joachim Bauch
bde0301637
proxy: Generate random session hash keys.
...
This is to ensure that session ids are only valid until the proxy is restarted.
2020-09-07 09:01:34 +02:00
Joachim Bauch
73903315a9
Handle "bye" proxy messages.
2020-09-07 08:56:17 +02:00
Joachim Bauch
b6a0597fb7
"curl" and "python3" are no longer required to build the server.
...
Since #29 the continent map is included in the repository and doesn't get
downloaded on each build.
2020-09-01 13:47:56 +02:00
Joachim Bauch
34de2b9b58
Merge pull request #47 from strukturag/proxy-list-etcd
...
Add support for fetching proxy URLs from etcd cluster.
2020-09-01 12:48:46 +02:00
Joachim Bauch
c4d2bbe21f
Merge pull request #48 from strukturag/geoip-overrides
...
Add option to override GeoIP lookups (e.g. for local addresses).
2020-09-01 12:46:18 +02:00
Joachim Bauch
64991a0a0e
Add option to override GeoIP lookups (e.g. for local addresses).
2020-09-01 12:41:00 +02:00
Joachim Bauch
dcf533b8f1
Add support for fetching proxy URLs from etcd cluster.
2020-08-31 17:24:04 +02:00
Joachim Bauch
744b514e9f
Support multiple token key formats in proxy configurations.
2020-08-31 17:23:47 +02:00
Joachim Bauch
18bfb0daa1
Update logging flags.
...
Timestamp already enabled by etcd logger, so only add filename.
2020-08-31 15:51:53 +02:00
Joachim Bauch
804e558e96
Switch to builtin "context" package now that we can assume Go 1.7
2020-08-31 13:58:28 +02:00
Joachim Bauch
b7d5f2a639
Merge pull request #44 from strukturag/proxy-tokens-etcd
...
Add support for fetching proxy tokens from etcd cluster.
2020-08-31 13:47:36 +02:00
Joachim Bauch
28241f5f87
Merge pull request #46 from strukturag/reload-proxy-list
...
Reload list of proxy URLs on SIGHUP.
2020-08-31 13:44:46 +02:00
Joachim Bauch
116188c3e3
Reload list of proxy URLs on SIGHUP.
2020-08-31 13:07:03 +02:00