From 4fec28784a1673e2514e4549e4cf2d0b00977c7e Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 7 Aug 2023 21:56:54 +0200 Subject: [PATCH] #3592 missed from 058f8f229d514848fabfc77de72da7d7cf7a490a the dbus-proxy feature had already been removed as part of the removal of the rpc subsystem, this just removes the command line switch --- docs/Usage/Security.md | 2 +- fs/etc/xpra/conf.d/60_server.conf.in | 5 ----- fs/share/man/man1/xpra.1 | 3 --- setup.py | 1 - .../unit/server/mixins/server_mixins_option_test_util.py | 1 - xpra/client/gui/ui_client_base.py | 2 +- xpra/scripts/config.py | 3 --- xpra/scripts/main.py | 4 ++-- xpra/scripts/parsing.py | 4 ---- xpra/scripts/server.py | 2 +- xpra/server/mixins/controlcommands.py | 2 +- 11 files changed, 6 insertions(+), 23 deletions(-) diff --git a/docs/Usage/Security.md b/docs/Usage/Security.md index 65a997c73c..fccde65549 100644 --- a/docs/Usage/Security.md +++ b/docs/Usage/Security.md @@ -68,7 +68,7 @@ There are obvious privacy concerns here and it may be desirable to turn off the "_D-Bus is a message bus system, a simple way for applications to talk to one another_. _In addition to interprocess communication, D-Bus helps coordinate process lifecycle_." This makes `dbus` both a very useful desktop environment component and a wide attack target. -The limited `--dbus-proxy` calls can safely be turned off and the `--dbus-control` channel should be turned off if unused. +The `--dbus-control` channel should be turned off if unused. ### Hardware Access Any subsystem that accesses hardware directly is an inherent security risk. diff --git a/fs/etc/xpra/conf.d/60_server.conf.in b/fs/etc/xpra/conf.d/60_server.conf.in index b3c16eee9b..7ac0311b32 100644 --- a/fs/etc/xpra/conf.d/60_server.conf.in +++ b/fs/etc/xpra/conf.d/60_server.conf.in @@ -73,11 +73,6 @@ dbus-launch = dbus-launch --sh-syntax --close-stderr #dbus-control = no dbus-control = %(dbus_control)s -# Forward client dbus rpc requests: -# (requires client configuration) -#dbus-proxy = no -dbus-proxy = %(dbus_proxy)s - # A wrapper for executing all sub-commands: # exec-wrapper = vglrun -- # exec-wrapper = vglrun -d :1 -- diff --git a/fs/share/man/man1/xpra.1 b/fs/share/man/man1/xpra.1 index ad35b46923..95e05baac1 100644 --- a/fs/share/man/man1/xpra.1 +++ b/fs/share/man/man1/xpra.1 @@ -691,9 +691,6 @@ Start the session within a dbus-launch context, you can specify the dbus launch command to use, or turn it off completely. Some features may not be available without a dbus context. .TP -\fB--dbus-proxy\fP=\fIyes\fP|\fIno\fP -Allows the client to forward dbus calls to the server. -.TP \fB--dbus-control\fP=\fIyes\fP|\fIno\fP Start a dbus server which can be used to interact with the server process. diff --git a/setup.py b/setup.py index 10e0c749c5..fd50735a7f 100755 --- a/setup.py +++ b/setup.py @@ -1070,7 +1070,6 @@ def pretty_cmd(cmd): "source" : source, 'mdns' : bstr(mdns), 'notifications' : bstr(OSX or WIN32 or dbus_ENABLED), - 'dbus_proxy' : bstr(not OSX and not WIN32 and dbus_ENABLED), 'pdf_printer' : pdf, 'postscript_printer' : postscript, 'webcam' : ["no", "auto"][webcam], diff --git a/tests/unittests/unit/server/mixins/server_mixins_option_test_util.py b/tests/unittests/unit/server/mixins/server_mixins_option_test_util.py index dcde2e2d90..d7a439dfff 100755 --- a/tests/unittests/unit/server/mixins/server_mixins_option_test_util.py +++ b/tests/unittests/unit/server/mixins/server_mixins_option_test_util.py @@ -35,7 +35,6 @@ if not WIN32: OPTIONS += [ "mmap", - "dbus-proxy", ] diff --git a/xpra/client/gui/ui_client_base.py b/xpra/client/gui/ui_client_base.py index 95ec152dc5..2406dabf69 100644 --- a/xpra/client/gui/ui_client_base.py +++ b/xpra/client/gui/ui_client_base.py @@ -602,7 +602,7 @@ def _process_setting_change(self, packet : PacketType): #FIXME: this should update the limits? pass elif setting in ( - "bell", "randr", "cursors", "notifications", "dbus-proxy", "clipboard", + "bell", "randr", "cursors", "notifications", "clipboard", "clipboard-direction", "session_name", "sharing", "sharing-toggle", "lock", "lock-toggle", "start-new-commands", "client-shutdown", "webcam", diff --git a/xpra/scripts/config.py b/xpra/scripts/config.py index 89eea4b973..774060a034 100755 --- a/xpra/scripts/config.py +++ b/xpra/scripts/config.py @@ -617,7 +617,6 @@ def may_create_user_config(xpra_conf_filename:str=DEFAULT_XPRA_CONF_FILENAME): "reconnect" : bool, "tray" : bool, "pulseaudio" : bool, - "dbus-proxy" : bool, "mmap-group" : str, "readonly" : bool, "keyboard-sync" : bool, @@ -748,7 +747,6 @@ def may_create_user_config(xpra_conf_filename:str=DEFAULT_XPRA_CONF_FILENAME): "open-command", "open-files", "printing", "open-url", "headerbar", "challenge-handlers", - "dbus-proxy", "remote-logging", "lpadmin", "lpinfo", "debug", @@ -1046,7 +1044,6 @@ def get_defaults(): "reconnect" : True, "tray" : True, "pulseaudio" : DEFAULT_PULSEAUDIO, - "dbus-proxy" : not OSX and not WIN32, "mmap" : "yes", "mmap-group" : "auto", "video" : True, diff --git a/xpra/scripts/main.py b/xpra/scripts/main.py index 1318dcc834..8f9c699747 100755 --- a/xpra/scripts/main.py +++ b/xpra/scripts/main.py @@ -1757,7 +1757,7 @@ def impcheck(*modules): mixin_features.webcam = bo(opts.webcam) and impcheck("codecs") mixin_features.clipboard = b(opts.clipboard) and impcheck("clipboard") mixin_features.notifications = opts.notifications and impcheck("notifications") - mixin_features.dbus = opts.dbus_proxy and impcheck("dbus") + mixin_features.dbus = impcheck("dbus") mixin_features.mmap = b(opts.mmap) mixin_features.logging = b(opts.remote_logging) mixin_features.tray = b(opts.tray) @@ -3918,7 +3918,7 @@ def run_showconfig(options, args) -> int: #these options don't make sense on win32 or osx: HIDDEN += ["socket-dirs", "socket-dir", "wm-name", "pulseaudio-command", "pulseaudio", "xvfb", "input-method", - "socket-permissions", "dbus-proxy", "xsettings", + "socket-permissions", "xsettings", "exit-with-children", "start-new-commands", "start", "start-child", "start-after-connect", "start-child-after-connect", diff --git a/xpra/scripts/parsing.py b/xpra/scripts/parsing.py index 10c3485c44..8184dd8349 100755 --- a/xpra/scripts/parsing.py +++ b/xpra/scripts/parsing.py @@ -1230,11 +1230,7 @@ def dcsv(v): group.add_option("--mdns", action="store", metavar="yes|no", dest="mdns", default=defaults.mdns, help="Publish the session information via mDNS. Default: %s." % enabled_str(defaults.mdns)) - legacy_bool_parse("dbus-proxy") legacy_bool_parse("dbus-control") - group.add_option("--dbus-proxy", action="store", metavar="yes|no", - dest="dbus_proxy", default=defaults.dbus_proxy, - help="Forward dbus calls from the client. Default: %s." % enabled_str(defaults.dbus_proxy)) group.add_option("--dbus-control", action="store", metavar="yes|no", dest="dbus_control", default=defaults.dbus_control, help="Allows the server to be controlled via its dbus interface." diff --git a/xpra/scripts/server.py b/xpra/scripts/server.py index 0f275431e1..bec8a5d348 100644 --- a/xpra/scripts/server.py +++ b/xpra/scripts/server.py @@ -291,7 +291,7 @@ def impcheck(*modules): server_features.mmap = b(opts.mmap) server_features.input_devices = not opts.readonly and impcheck("keyboard") server_features.commands = envbool("XPRA_RUN_COMMANDS", True) - server_features.dbus = opts.dbus_proxy and impcheck("dbus", "server.dbus") + server_features.dbus = impcheck("dbus", "server.dbus") server_features.encoding = impcheck("codecs") server_features.logging = b(opts.remote_logging) #server_features.network_state = ?? diff --git a/xpra/server/mixins/controlcommands.py b/xpra/server/mixins/controlcommands.py index d781c03086..a338321c00 100644 --- a/xpra/server/mixins/controlcommands.py +++ b/xpra/server/mixins/controlcommands.py @@ -20,7 +20,7 @@ log = Logger("command") TOGGLE_FEATURES = ( - "bell", "randr", "cursors", "notifications", "dbus-proxy", "clipboard", + "bell", "randr", "cursors", "notifications", "clipboard", "start-new-commands", "client-shutdown", "webcam", )