diff options
author | mat <mat@FreeBSD.org> | 2016-10-17 20:03:08 +0800 |
---|---|---|
committer | mat <mat@FreeBSD.org> | 2016-10-17 20:03:08 +0800 |
commit | c81397e6a5dd4dbd571b958f6618ea2504b5aaa5 (patch) | |
tree | a6eb0afb59fcb841e91eb31adb56c7aec4dcb1ef /www/fcgiwrap | |
parent | b037489a60b4d003bd8bc8b8857cba37a3563b80 (diff) | |
download | freebsd-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/Makefile | 2 | ||||
-rw-r--r-- | www/fcgiwrap/files/fcgiwrap.in | 32 |
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" |