mirror of
				https://github.com/PowerShell/openssh-portable.git
				synced 2025-10-31 11:34:38 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			99 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/sbin/sh
 | |
| 
 | |
| #
 | |
| # egd.rc: EGD start-up and shutdown script
 | |
| #
 | |
| 
 | |
| # Allowed exit values:
 | |
| #       0 = success; causes "OK" to show up in checklist.
 | |
| #       1 = failure; causes "FAIL" to show up in checklist.
 | |
| #       2 = skip; causes "N/A" to show up in the checklist.
 | |
| #           Use this value if execution of this script is overridden
 | |
| #           by the use of a control variable, or if this script is not
 | |
| #           appropriate to execute for some other reason.
 | |
| #       3 = reboot; causes the system to be rebooted after execution.
 | |
| 
 | |
| # Input and output:
 | |
| #       stdin is redirected from /dev/null
 | |
| #
 | |
| #       stdout and stderr are redirected to the /etc/rc.log file
 | |
| #       during checklist mode, or to the console in raw mode.
 | |
| 
 | |
| umask 022
 | |
| 
 | |
| PATH=/usr/sbin:/usr/bin:/sbin
 | |
| export PATH
 | |
| 
 | |
| WHAT='EGD (entropy gathering daemon)'
 | |
| WHAT_PATH=/opt/perl/bin/egd.pl
 | |
| WHAT_CONFIG=/etc/rc.config.d/egd
 | |
| WHAT_LOG=/etc/opt/egd/egd.log
 | |
| 
 | |
| # NOTE: If your script executes in run state 0 or state 1, then /usr might
 | |
| #       not be available.  Do not attempt to access commands or files in
 | |
| #       /usr unless your script executes in run state 2 or greater.  Other
 | |
| #       file systems typically not mounted until run state 2 include /var
 | |
| #       and /opt.
 | |
| 
 | |
| rval=0
 | |
| 
 | |
| # Check the exit value of a command run by this script.  If non-zero, the
 | |
| # exit code is echoed to the log file and the return value of this script
 | |
| # is set to indicate failure.
 | |
| 
 | |
| set_return() {
 | |
| 	x=$?
 | |
| 	if [ $x -ne 0 ]; then
 | |
| 		echo "EXIT CODE: $x"
 | |
| 		rval=1	# script FAILed
 | |
| 	fi
 | |
| }
 | |
| 
 | |
| case $1 in
 | |
| 'start_msg')
 | |
| 	echo "Starting $WHAT"
 | |
| 	;;
 | |
| 
 | |
| 'stop_msg')
 | |
| 	echo "Stopping $WHAT"
 | |
| 	;;
 | |
| 
 | |
| 'start')
 | |
| 	if [ -f $WHAT_CONFIG ] ; then
 | |
| 		. $WHAT_CONFIG
 | |
| 	else
 | |
| 		echo "ERROR: $WHAT_CONFIG defaults file MISSING"
 | |
| 	fi
 | |
| 	
 | |
| 
 | |
| 	if [ "$EGD_START" -eq 1 -a -x $WHAT_PATH ]; then
 | |
| 		EGD_LOG=${EGD_LOG:-$WHAT_LOG}
 | |
| 		su egd -c "nohup $WHAT_PATH $EGD_ARGS >$EGD_LOG 2>&1" &&
 | |
| 			echo $WHAT started
 | |
| 		set_return
 | |
| 	else
 | |
| 		rval=2
 | |
| 	fi
 | |
| 	;;
 | |
| 
 | |
| 'stop')
 | |
| 	pid=`ps -fuegd | awk '$1 == "egd" { print $2 }'`
 | |
| 	if [ "X$pid" != "X" ]; then
 | |
| 		if kill "$pid"; then
 | |
| 			echo "$WHAT stopped"
 | |
| 		else
 | |
| 			rval=1
 | |
| 			echo "Unable to stop $WHAT"
 | |
| 		fi
 | |
| 	fi
 | |
| 	set_return
 | |
| 	;;
 | |
| 
 | |
| *)
 | |
| 	echo "usage: $0 {start|stop|start_msg|stop_msg}"
 | |
| 	rval=1
 | |
| 	;;
 | |
| esac
 | |
| 
 | |
| exit $rval
 |