svn commit: r494743 - in head/net-p2p/deluge-cli: . files

Ruslan Makhmatkhanov rm at FreeBSD.org
Tue Mar 5 21:13:34 UTC 2019


Author: rm
Date: Tue Mar  5 21:13:32 2019
New Revision: 494743
URL: https://svnweb.freebsd.org/changeset/ports/494743

Log:
  net-p2p/deluge-cli: correct deluge_web rc-script
  
  From the PR:
  The rc.d script for deluge_web outright disrespects a user's home directory and
  instead tries to execute against hardcoded /home/${deluge_web_user} paths. This
  is invalid and dangerous behavior. When running as a user, the user's home
  directory must be respected. The attached patch fixes this behavior as a break-fix.
  
  PR:		234902
  Submitted by:	Phillip R. Jaenke <prj at rootwyrm.com>

Modified:
  head/net-p2p/deluge-cli/Makefile
  head/net-p2p/deluge-cli/files/deluge_web.in

Modified: head/net-p2p/deluge-cli/Makefile
==============================================================================
--- head/net-p2p/deluge-cli/Makefile	Tue Mar  5 21:05:28 2019	(r494742)
+++ head/net-p2p/deluge-cli/Makefile	Tue Mar  5 21:13:32 2019	(r494743)
@@ -3,7 +3,7 @@
 PORTNAME=	deluge
 DISTVERSIONPREFIX=	${PORTNAME}-
 DISTVERSION=	1.3.15
-PORTREVISION=	7
+PORTREVISION=	8
 CATEGORIES=	net-p2p python
 PKGNAMESUFFIX=	-cli
 

Modified: head/net-p2p/deluge-cli/files/deluge_web.in
==============================================================================
--- head/net-p2p/deluge-cli/files/deluge_web.in	Tue Mar  5 21:05:28 2019	(r494742)
+++ head/net-p2p/deluge-cli/files/deluge_web.in	Tue Mar  5 21:13:32 2019	(r494743)
@@ -39,11 +39,16 @@ command_interpreter=%%PYTHON_CMD%%
 start_precmd=${name}_prestart
 stop_postcmd=${name}_poststop
 
+
 deluge_web_prestart()
 {
 	if [ "$deluge_web_user" = 'asjklasdfjklasdf' ]; then
 		err 1 "You must set deluge_web_user to a real, unprivileged user"
 	fi
+	deluge_web_home=$(pw user show ${deluge_web_user} | cut -d : -f 9)
+	if [ -z ${deluge_web_home} ]; then
+		err 1 "deluge_web_user does not have a valid home directory."
+	fi
 
 	if [ ! -d "/var/run/${name}" ]; then
 		if [ -e "/var/run/${name}" ]; then
@@ -52,14 +57,13 @@ deluge_web_prestart()
 		mkdir -p /var/run/${name}
 	fi
 
-	if [ ! -d "/home/${deluge_web_user}/.python-eggs" ]; then
-		mkdir -p /home/${deluge_web_user}/.python-eggs
-	fi
+	if [ ! -d "${deluge_web_home}/.python-eggs" ]; then
+		mkdir ${deluge_web_home}/.python-eggs
+		chown -R $deluge_web_user ${deluge_web_home}/.python-eggs
 
 	chmod 0755 /var/run/${name}
 	chown -R $deluge_web_user /var/run/${name}
-	chown -R $deluge_web_user /home/${deluge_web_user}/.python-eggs
-	export PYTHON_EGG_CACHE="/home/${deluge_web_user}/.python-eggs"
+	export PYTHON_EGG_CACHE="${deluge_web_home}/.python-eggs"
 }
 
 deluge_web_poststop()
@@ -72,7 +76,7 @@ load_rc_config $name
 
 : ${deluge_web_enable:="NO"}
 : ${deluge_web_user:="asjklasdfjklasdf"}
-: ${deluge_web_confdir:="/home/${deluge_web_user}/.config/deluge"}
+: ${deluge_web_confdir:="${deluge_web_home}/.config/deluge"}
 : ${deluge_web_loglevel:="error"}
 : ${deluge_web_logfile:="/var/tmp/${name}.log"}
 


More information about the svn-ports-all mailing list