x11-apps/radeon-profile-daemon: Secured socket permissions.
authorLars Wendler <polynomial-c@gentoo.org>
Fri, 10 May 2019 09:59:27 +0000 (11:59 +0200)
committerLars Wendler <polynomial-c@gentoo.org>
Fri, 10 May 2019 10:01:14 +0000 (12:01 +0200)
Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
x11-apps/radeon-profile-daemon/files/radeon-profile-daemon-20190309-secure_socket.patch [new file with mode: 0644]
x11-apps/radeon-profile-daemon/files/radeon-profile-daemon.initd
x11-apps/radeon-profile-daemon/radeon-profile-daemon-20190309-r2.ebuild [new file with mode: 0644]
x11-apps/radeon-profile-daemon/radeon-profile-daemon-99999999.ebuild

diff --git a/x11-apps/radeon-profile-daemon/files/radeon-profile-daemon-20190309-secure_socket.patch b/x11-apps/radeon-profile-daemon/files/radeon-profile-daemon-20190309-secure_socket.patch
new file mode 100644 (file)
index 0000000..5d7132b
--- /dev/null
@@ -0,0 +1,26 @@
+From 8e75c8678b874c6813e590634943166daa98124b Mon Sep 17 00:00:00 2001
+From: Lars Wendler <polynomial-c@gentoo.org>
+Date: Fri, 10 May 2019 11:01:21 +0200
+Subject: [PATCH] Don't make the socket world writable
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ radeon-profile-daemon/rpdthread.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/radeon-profile-daemon/rpdthread.cpp b/radeon-profile-daemon/rpdthread.cpp
+index 4cf0ac0..137d5b2 100644
+--- a/radeon-profile-daemon/rpdthread.cpp
++++ b/radeon-profile-daemon/rpdthread.cpp
+@@ -47,7 +47,7 @@ void rpdThread::createServer()
+     QLocalServer::removeServer(serverName);
+     daemonServer.listen(serverName);
+-    QFile::setPermissions("/tmp/" + serverName, QFile("/tmp/" + serverName).permissions() | QFile::WriteOther | QFile::ReadOther);
++    QFile::setPermissions("/tmp/" + serverName, QFile("/tmp/" + serverName).permissions() | QFile::WriteGroup | QFile::ReadGroup);
+ }
+ void rpdThread::closeConnection()
+-- 
+2.21.0
+
index e4e7afb04c5cc149c8f253728520040cc5c2c3a0..f8ec517967042b084adf23ae15b699596ca979f6 100644 (file)
@@ -7,3 +7,7 @@ description="Daemon for radeon-profile GUI"
 command="/usr/sbin/radeon-profile-daemon"
 command_background="true"
 pidfile="/run/${SVCNAME}.pid"
+
+start_post() {
+       chgrp video /tmp/radeon-profile-daemon-server
+}
diff --git a/x11-apps/radeon-profile-daemon/radeon-profile-daemon-20190309-r2.ebuild b/x11-apps/radeon-profile-daemon/radeon-profile-daemon-20190309-r2.ebuild
new file mode 100644 (file)
index 0000000..924760f
--- /dev/null
@@ -0,0 +1,60 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit qmake-utils systemd
+
+DESCRIPTION="Daemon for radeon-profile GUI"
+HOMEPAGE="https://github.com/marazmista/radeon-profile-daemon"
+if [[ "${PV}" == 99999999 ]] ; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/marazmista/radeon-profile-daemon.git"
+else
+       SRC_URI="https://github.com/marazmista/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
+fi
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE=""
+
+RDEPEND="
+       dev-qt/qtcore:5
+       dev-qt/qtnetwork:5
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${P}/${PN}"
+
+PATCHES=(
+       "${FILESDIR}/${P}-secure_socket.patch"
+)
+
+src_prepare() {
+       eapply -p2 "${PATCHES[@]}"
+       eapply_user
+
+       sed \
+               -e '/^bin\.path/s@/bin@/sbin@' \
+               -e "/^service\.path/s@=.*\$@= $(systemd_get_systemunitdir)@" \
+               -i radeon-profile-daemon.pro || die
+       sed \
+               -e '/^ExecStart/s@/bin/@/sbin/@' \
+               -i extra/${PN}.service || die
+}
+
+src_configure() {
+       eqmake5
+}
+
+src_install() {
+       emake INSTALL_ROOT="${D}" install
+
+       newinitd "${FILESDIR}"/${PN}.initd ${PN}
+}
+
+pkg_postinst() {
+       elog "Users need to be in the \"video\" group if they want to change"
+       elog "video card settings via ${PN}"
+}
index ca74330cfd3ce74ef3ef1800751e749ce090a75f..924760fc909964368641ee778db7311c778447b0 100644 (file)
@@ -27,8 +27,14 @@ DEPEND="${RDEPEND}"
 
 S="${WORKDIR}/${P}/${PN}"
 
+PATCHES=(
+       "${FILESDIR}/${P}-secure_socket.patch"
+)
+
 src_prepare() {
-       default
+       eapply -p2 "${PATCHES[@]}"
+       eapply_user
+
        sed \
                -e '/^bin\.path/s@/bin@/sbin@' \
                -e "/^service\.path/s@=.*\$@= $(systemd_get_systemunitdir)@" \
@@ -47,3 +53,8 @@ src_install() {
 
        newinitd "${FILESDIR}"/${PN}.initd ${PN}
 }
+
+pkg_postinst() {
+       elog "Users need to be in the \"video\" group if they want to change"
+       elog "video card settings via ${PN}"
+}