diff options
Diffstat (limited to 'net-misc/chrome-remote-desktop/files')
3 files changed, 92 insertions, 0 deletions
diff --git a/net-misc/chrome-remote-desktop/files/chrome-remote-desktop-44.0.2403.44-always-sudo.patch b/net-misc/chrome-remote-desktop/files/chrome-remote-desktop-44.0.2403.44-always-sudo.patch new file mode 100644 index 000000000000..d303e5e753f9 --- /dev/null +++ b/net-misc/chrome-remote-desktop/files/chrome-remote-desktop-44.0.2403.44-always-sudo.patch @@ -0,0 +1,20 @@ +https://bugs.gentoo.org/541708 + +just use `sudo` for everything + +--- a/opt/google/chrome-remote-desktop/chrome-remote-desktop ++++ b/opt/google/chrome-remote-desktop/chrome-remote-desktop +@@ -1092,12 +1092,7 @@ + logging.info("Group '%s' not found." % CHROME_REMOTING_GROUP_NAME) + + command = [SCRIPT_PATH, '--add-user-as-root', user] +- if os.getenv("DISPLAY"): +- # TODO(rickyz): Add a Polkit policy that includes a more friendly message +- # about what this command does. +- command = ["/usr/bin/pkexec"] + command +- else: +- command = ["/usr/bin/sudo", "-k", "--"] + command ++ command = ["/usr/bin/sudo", "-k", "--"] + command + + # Run with an empty environment out of paranoia, though if an attacker + # controls the environment this script is run under, we're already screwed diff --git a/net-misc/chrome-remote-desktop/files/chrome-remote-desktop.conf.d b/net-misc/chrome-remote-desktop/files/chrome-remote-desktop.conf.d new file mode 100644 index 000000000000..aa3d8919c87f --- /dev/null +++ b/net-misc/chrome-remote-desktop/files/chrome-remote-desktop.conf.d @@ -0,0 +1,7 @@ +# /etc/conf.d/chrome-remote-desktop: config file for /etc/init.d/chrome-remote-desktop + +# List of users to start Chrome Remote Desktop for. +CHROME_REMOTING_USERS='' + +# Options to pass to chrome-remote-desktop. Only the -s option is interesting. +#OPTIONS='-s 1600x1200 -s 3840x1600' diff --git a/net-misc/chrome-remote-desktop/files/chrome-remote-desktop.rc b/net-misc/chrome-remote-desktop/files/chrome-remote-desktop.rc new file mode 100644 index 000000000000..272923ce6afb --- /dev/null +++ b/net-misc/chrome-remote-desktop/files/chrome-remote-desktop.rc @@ -0,0 +1,65 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_started_commands="checkconfig reload" + +CRD=/opt/google/chrome-remote-desktop/chrome-remote-desktop + +depend() { + need net + use logger +} + +checkconfig() { + local ret=0 + if [ -z "${CHROME_REMOTING_USERS}" ] ; then + eerror "You must set CHROME_REMOTING_USERS in /etc/conf.d/${SVCNAME} first" + ret=1 + else + local user + for user in ${CHROME_REMOTING_USERS} ; do + if ! id "${user}" >/dev/null ; then + eerror "Invalid user found in CHROME_REMOTING_USERS: ${user}" + ret=1 + fi + done + fi + return ${ret} +} + +for_users() { + local user ret msg log + msg=$1; shift + + for user in ${CHROME_REMOTING_USERS} ; do + ebegin "${msg} ${SVCNAME} for ${user}" + + # We need to background the app as it won't fork until the network + # (including DNS) is available. + start-stop-daemon \ + -b \ + -u "${user}" \ + -x "${CRD}" \ + -- \ + ${OPTIONS} \ + "$@" + eend $? + : $(( ret |= $? )) + done + + return ${ret} +} + +start() { + checkconfig || return + for_users Starting --start +} + +stop() { + for_users Stopping --stop +} + +reload() { + for_users Reloading --reload +} |