aboutsummaryrefslogtreecommitdiffstats
path: root/www/fcgiwrap
diff options
context:
space:
mode:
authormat <mat@FreeBSD.org>2016-10-17 20:03:08 +0800
committermat <mat@FreeBSD.org>2016-10-17 20:03:08 +0800
commitc81397e6a5dd4dbd571b958f6618ea2504b5aaa5 (patch)
treea6eb0afb59fcb841e91eb31adb56c7aec4dcb1ef /www/fcgiwrap
parentb037489a60b4d003bd8bc8b8857cba37a3563b80 (diff)
downloadfreebsd-ports-gnome-c81397e6a5dd4dbd571b958f6618ea2504b5aaa5.tar.gz
freebsd-ports-gnome-c81397e6a5dd4dbd571b958f6618ea2504b5aaa5.tar.zst
freebsd-ports-gnome-c81397e6a5dd4dbd571b958f6618ea2504b5aaa5.zip
Add changing the owner/group/mode for the socket.
PR: 213385 Submitted by: mat Approved by: maintainer Sponsored by: Absolight
Diffstat (limited to 'www/fcgiwrap')
-rw-r--r--www/fcgiwrap/Makefile2
-rw-r--r--www/fcgiwrap/files/fcgiwrap.in32
2 files changed, 33 insertions, 1 deletions
diff --git a/www/fcgiwrap/Makefile b/www/fcgiwrap/Makefile
index 15f50719530d..f5980cd27a23 100644
--- a/www/fcgiwrap/Makefile
+++ b/www/fcgiwrap/Makefile
@@ -2,7 +2,7 @@
PORTNAME= fcgiwrap
PORTVERSION= 1.1.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= www
MASTER_SITES= http://www.skysmurf.nl/comp/FreeBSD/distfiles/
diff --git a/www/fcgiwrap/files/fcgiwrap.in b/www/fcgiwrap/files/fcgiwrap.in
index 9c36b4c4bb24..4de8902c9850 100644
--- a/www/fcgiwrap/files/fcgiwrap.in
+++ b/www/fcgiwrap/files/fcgiwrap.in
@@ -19,6 +19,9 @@
# - tcp6:[ipv6_addr]:port (for ipv6)
# fcgiwrap_flags=
# Use fcgiwrap_user to run fcgiwrap as user
+# Use fcgiwrap_socket_mode to change the mode of the socket
+# Use fcgiwrap_socket_owner to change the owner of the socket
+# Use fcgiwrap_socket_group to change the group of the socket
# fcgiwrap rc.d script supports multiple profiles (a-la rc.d/nginx)
# When profiles are specified, the non-profile specific parameters become defaults.
@@ -29,10 +32,12 @@
# fcgiwrap_enable="YES"
# fcgiwrap_profiles="myserver myotherserver"
# fcgiwrap_flags="-c 4"
+# fcgiwrap_socket_owner="www"
# fcgiwrap_myserver_socket="unix:/var/run/fcgiwrap.myserver.socket"
# fcgiwrap_myserver_user="myuser"
# fcgiwrap_myotherserver_socket="unix:/var/run/fcgiwrap.myotherserver.socket"
# fcgiwrap_myotherserver_user="myotheruser"
+# fcgiwrap_myserver_socket_mode="0775"
# fcgiwrap_myotherserver_flags="" # No flags for this profile.
. /etc/rc.subr
@@ -62,6 +67,26 @@ fcgiwrap_precmd() {
install -d -o root -g wheel -m 1777 /var/run/fcgiwrap
}
+fcgiwrap_postcmd() {
+ # This is only for unix sockets
+ case "${fcgiwrap_socket}" in
+ unix:*)
+ ;;
+ *)
+ return
+ ;;
+ esac
+ if [ -n "${fcgiwrap_socket_mode}" ]; then
+ chmod ${fcgiwrap_socket_mode} ${fcgiwrap_socket#unix:}
+ fi
+ if [ -n "${fcgiwrap_socket_owner}" ]; then
+ chown ${fcgiwrap_socket_owner} ${fcgiwrap_socket#unix:}
+ fi
+ if [ -n "${fcgiwrap_socket_group}" ]; then
+ chgrp ${fcgiwrap_socket_group} ${fcgiwrap_socket#unix:}
+ fi
+}
+
fcgiwrap_cleansocket() {
# Workaround the fact that fcgiwrap doesn't cleanup his socket at stopping
case ${fcgiwrap_socket} in
@@ -78,6 +103,7 @@ pidfile="${pidprefix}.pid" # May be a different path if profiles are in use
procname="%%PREFIX%%/sbin/${name}"
command="/usr/sbin/daemon"
start_precmd="fcgiwrap_precmd"
+start_postcmd="fcgiwrap_postcmd"
stop_postcmd="fcgiwrap_cleansocket"
load_rc_config $name
@@ -86,6 +112,9 @@ load_rc_config $name
fcgiwrap_enable=${fcgiwrap_enable:-"NO"}
fcgiwrap_user=${fcgiwrap_user:-"root"}
fcgiwrap_socket=${fcgiwrap_socket:-"unix:/var/run/fcgiwrap/fcgiwrap.sock"}
+fcgiwrap_socket_mode=${fcgiwrap_socket_mode:-"0755"}
+fcgiwrap_socket_owner=${fcgiwrap_socket_owner:-"root"}
+fcgiwrap_socket_group=${fcgiwrap_socket_group:-"wheel"}
# This handles profile specific vars.
if [ -n "$2" ]; then
@@ -96,6 +125,9 @@ if [ -n "$2" ]; then
eval fcgiwrap_fib="\${fcgiwrap_${profile}_fib:-${fcgiwrap_fib}}"
eval fcgiwrap_user="\${fcgiwrap_${profile}_user:-${fcgiwrap_user}}"
eval fcgiwrap_socket="\${fcgiwrap_${profile}_socket:?}"
+ eval fcgiwrap_socket_mode="\${fcgiwrap_${profile}_socket_mode:-${fcgiwrap_socket_mode}}"
+ eval fcgiwrap_socket_owner="\${fcgiwrap_${profile}_socket_owner:-${fcgiwrap_socket_owner}}"
+ eval fcgiwrap_socket_group="\${fcgiwrap_${profile}_socket_group:-${fcgiwrap_socket_group}}"
eval fcgiwrap_flags="\${fcgiwrap_${profile}_flags:-${fcgiwrap_flags}}"
else
echo "$0: extra argument ignored"