diff options
author | Robert Adam <dev@robert-adam.de> | 2022-02-06 21:24:49 +0300 |
---|---|---|
committer | Robert Adam <dev@robert-adam.de> | 2022-03-16 10:23:38 +0300 |
commit | b3dd3d3f790647ca4859c3d9f52e6a264ab49d89 (patch) | |
tree | f8a78f70f7fc3286c1e090e30ceb8002252c762a /scripts | |
parent | 2dab6a2c029ace8b92aadaddb24d8bd9f16c50fd (diff) |
CHANGE(server): Remove gRPC implementation
The gRPC implementation never left the experimental state and never
reached a properly stable state to the point where we would feel good
about enabling it by default. In addition to that, there has been no
further attempts at finding and fixing the encountered issues in the
implementation (except #3947 but that was discontinued).
As such we had an essentially unmaintained piece of code in our server
implementation that was known to be buggy and that nobody wanted to fix.
In addition to that the implementation itself could not be considered
very clean or elegant and therefore only represented a few smelly
corners in our code base.
For this reason, we decided to remove the gRPC support entirely from
Mumble (for now).
What we hope to gain by that is:
- Prevent people from building unstable server versions and then coming
to us complaining that it crashed/misbehaved
- Removing (essentially) dead code
- Reduce the RPC implementation complexity
That last piece is crucial: By removing gRPC support we reduce the
amount of supported RPC frameworks to only one (ignoring DBus for now).
Our future plans include a refactoring of how RPC is being handled and
implemented and only having to worry about maintaining compatibility
with one RPC system is much easier than having to worry about two (with
(slightly) different APIs).
Once the RPC implementation has been rewritten, more RPC backends may be
reintroduced and in that process we might investigate adding a proper
gRPC implementation to the code (that then hopefully is more stable than
the current one).
Fixes #4567
Fixes #4197
Fixes #3496
Fixes #3429
Fixes #3265
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/murmur.ini | 16 | ||||
-rw-r--r-- | scripts/vcpkg/get_mumble_dependencies.ps1 | 1 | ||||
-rwxr-xr-x | scripts/vcpkg/get_mumble_dependencies.sh | 1 |
3 files changed, 0 insertions, 18 deletions
diff --git a/scripts/murmur.ini b/scripts/murmur.ini index 5b65dab9f..b727946e6 100644 --- a/scripts/murmur.ini +++ b/scripts/murmur.ini @@ -79,22 +79,6 @@ ice="tcp -h 127.0.0.1 -p 6502" ;icesecretread= icesecretwrite= -; If you want to expose Murmur's experimental gRPC API, you -; need to specify an address to bind on. -; Note: not all builds of Murmur support gRPC. If gRPC is not -; available, Murmur will warn you in its log output. -;grpc="127.0.0.1:50051" -; Specifying both a certificate and key file below will cause gRPC to use -; secured, TLS connections. -; When using secured connections you need to also set the list of authorized -; clients. grpcauthorized is a space delimited list of SHA256 fingerprints -; for authorized client certificates. -; Get this from the command line: -; openssl x509 -in cert.pem -SHA256 -noout -fingerprint -;grpccert="" -;grpckey="" -;grpcauthorized="" - ; Specifies the file Murmur should log to. By default, Murmur ; logs to the file 'murmur.log'. If you leave this field blank ; on Unix-like systems, Murmur will force itself into foreground diff --git a/scripts/vcpkg/get_mumble_dependencies.ps1 b/scripts/vcpkg/get_mumble_dependencies.ps1 index 5da53014a..77d21332e 100644 --- a/scripts/vcpkg/get_mumble_dependencies.ps1 +++ b/scripts/vcpkg/get_mumble_dependencies.ps1 @@ -10,7 +10,6 @@ $mumble_deps = "qt5-base", "qt5-svg", "qt5-tools", "qt5-translations", - "grpc", "boost-accumulators", "poco", "libvorbis", diff --git a/scripts/vcpkg/get_mumble_dependencies.sh b/scripts/vcpkg/get_mumble_dependencies.sh index 3c08599be..69e30f020 100755 --- a/scripts/vcpkg/get_mumble_dependencies.sh +++ b/scripts/vcpkg/get_mumble_dependencies.sh @@ -45,7 +45,6 @@ mumble_deps='qt5-base, qt5-svg, qt5-tools, qt5-translations, - grpc, boost-accumulators, poco, libvorbis, |