Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Jul 2006 23:44:38 +0900 (JST)
From:      Yoshisato YANAGISAWA <yanagisawa@csg.is.titech.ac.jp>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/101024: Maintainer Update: mail/dkimproxy rc.d scripts will log messages
Message-ID:  <200607291444.k6TEiclS014117@frodo.csg.is.titech.ac.jp>
Resent-Message-ID: <200607291450.k6TEoAkn006192@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         101024
>Category:       ports
>Synopsis:       Maintainer Update: mail/dkimproxy rc.d scripts will log messages
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jul 29 14:50:10 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Yoshisato YANAGISAWA
>Release:        FreeBSD 6.1-RELEASE-p1 i386
>Organization:
Tokyo Institute of Technology.
>Environment:
System: FreeBSD frodo.csg.is.titech.ac.jp 6.1-RELEASE-p1 FreeBSD 6.1-RELEASE-p1 #90: Fri Jun 2 20:33:54 JST 2006 yanagisawa@frodo.csg.is.titech.ac.jp:/usr/obj/usr/src/sys/FRODO i386


	
>Description:
	rc.d scripts are changed:
	- to log all messages at start-up time of a daemon,
	- to show error messages when some error occurs at that time,
	- and to checks $dkfilter_{in,out}_user exist or not.
>How-To-Repeat:
	n/a
>Fix:

	Use following patch to apply changes.

diff -ruN dkimproxy.bak/files/dkimproxy_in.in dkimproxy/files/dkimproxy_in.in
--- dkimproxy.bak/files/dkimproxy_in.in	Sat Jul 29 23:31:47 2006
+++ dkimproxy/files/dkimproxy_in.in	Sat Jul 29 23:26:24 2006
@@ -34,11 +34,27 @@
 		echo "${name} already running?"
 		exit 1
 	fi
+	if pw user show "${dkimproxy_in_user}" > /dev/null 2>&1; then else
+		echo "dkimproxy_in_user: ${dkimproxy_in_user} not found"
+		exit 1
+	fi
+	echo "Starting ${name}"
+	logger -t ${name} "Starting ${name}"
 	touch ${dkimproxy_in_pidfile}
 	chown ${dkimproxy_in_user} ${dkimproxy_in_pidfile}
-	su -m ${dkimproxy_in_user} -c "daemon -cf -p ${dkimproxy_in_pidfile} \
-		%%PREFIX%%/bin/dkimproxy.in ${dkimproxy_in_flags}"
-	echo "Starting ${name}"
+	logfile=`mktemp /tmp/${name}.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`
+	su -m ${dkimproxy_in_user} -c "daemon -c -p ${dkimproxy_in_pidfile} \
+		%%PREFIX%%/bin/dkimproxy.in ${dkimproxy_in_flags}" \
+		> /dev/null 2> ${logfile}
+	sleep 1 # XXX: wait until dkimproxy start.
+	logger -t ${name} "`cat ${logfile}`"
+	err=`grep Error ${logfile}`
+	if [ "${err}" ]; then
+		echo "Failed to start ${name}."
+		echo "${err}"
+		rm -f ${dkimproxy_in_pidfile}
+	fi
+	rm -f ${logfile}
 }
 
 dkimproxy_in_stop()
@@ -47,9 +63,10 @@
 		echo "${name} not running?"
 		exit 1
 	fi
+	echo "Stopping ${name}"
+	logger -t ${name} "Stopping ${name}"
 	kill `cat ${dkimproxy_in_pidfile}`
 	rm -f ${dkimproxy_in_pidfile}
-	echo "Stopping ${name}"
 }
 
 load_rc_config $name
diff -ruN dkimproxy.bak/files/dkimproxy_out.in dkimproxy/files/dkimproxy_out.in
--- dkimproxy.bak/files/dkimproxy_out.in	Sat Jul 29 23:31:47 2006
+++ dkimproxy/files/dkimproxy_out.in	Sat Jul 29 23:26:32 2006
@@ -13,7 +13,7 @@
 # dkimproxy_out_enable="YES"
 #
 # Before you enable dkimproxy.out, you also need to make your domainkey to
-# set it to DNS and configurate dkimproxy_flags.
+# set it to DNS and configurate dkimproxy_out_flags.
 #
 
 . %%RC_SUBR%%
@@ -39,11 +39,27 @@
 		echo "${name} already running?"
 		exit 1
 	fi 
+	if pw user show "${dkimproxy_out_user}" > /dev/null 2>&1; then else
+		echo "dkimproxy_out_user: ${dkimproxy_out_user} not found"
+		exit 1
+	fi
+	echo "Starting ${name}"
+	logger -t ${name} "Starting ${name}"
 	touch ${dkimproxy_out_pidfile}
 	chown ${dkimproxy_out_user} ${dkimproxy_out_pidfile}
-	su -m ${dkimproxy_out_user} -c "daemon -cf -p ${dkimproxy_out_pidfile} \
-		%%PREFIX%%/bin/dkimproxy.out ${dkimproxy_out_flags}"
-	echo "Starting ${name}."
+	logfile=`mktemp /tmp/${name}.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`
+	su -m ${dkimproxy_out_user} -c "daemon -c -p ${dkimproxy_out_pidfile} \
+		%%PREFIX%%/bin/dkimproxy.out ${dkimproxy_out_flags}" \
+		> /dev/null 2> ${logfile}
+	sleep 1 # XXX: wait until dkimproxy start.
+	logger -t ${name} "`cat ${logfile}`"
+	err=`grep Error ${logfile}`
+	if [ "${err}" ]; then
+		echo "Failed to start ${name}."
+		echo "${err}"
+		rm -f ${dkimproxy_out_pidfile}
+	fi
+	rm -f ${logfile}
 }
 
 dkimproxy_out_stop()
@@ -52,9 +68,10 @@
 		echo "${name} not running?"
 		exit 1
 	fi
+	echo "Stopping ${name}"
+	logger -t ${name} "Stopping ${name}"
 	kill `cat ${dkimproxy_out_pidfile}`
 	rm -f ${dkimproxy_out_pidfile}
-	echo "Stopping ${name}"
 }
 
 load_rc_config $name
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607291444.k6TEiclS014117>