import of openssh-5.8p1
[openssh.git] / contrib / hpux / egd.rc
1 #!/sbin/sh
2
3 #
4 # egd.rc: EGD start-up and shutdown script
5 #
6
7 # Allowed exit values:
8 #       0 = success; causes "OK" to show up in checklist.
9 #       1 = failure; causes "FAIL" to show up in checklist.
10 #       2 = skip; causes "N/A" to show up in the checklist.
11 #           Use this value if execution of this script is overridden
12 #           by the use of a control variable, or if this script is not
13 #           appropriate to execute for some other reason.
14 #       3 = reboot; causes the system to be rebooted after execution.
15
16 # Input and output:
17 #       stdin is redirected from /dev/null
18 #
19 #       stdout and stderr are redirected to the /etc/rc.log file
20 #       during checklist mode, or to the console in raw mode.
21
22 umask 022
23
24 PATH=/usr/sbin:/usr/bin:/sbin
25 export PATH
26
27 WHAT='EGD (entropy gathering daemon)'
28 WHAT_PATH=/opt/perl/bin/egd.pl
29 WHAT_CONFIG=/etc/rc.config.d/egd
30 WHAT_LOG=/etc/opt/egd/egd.log
31
32 # NOTE: If your script executes in run state 0 or state 1, then /usr might
33 #       not be available.  Do not attempt to access commands or files in
34 #       /usr unless your script executes in run state 2 or greater.  Other
35 #       file systems typically not mounted until run state 2 include /var
36 #       and /opt.
37
38 rval=0
39
40 # Check the exit value of a command run by this script.  If non-zero, the
41 # exit code is echoed to the log file and the return value of this script
42 # is set to indicate failure.
43
44 set_return() {
45         x=$?
46         if [ $x -ne 0 ]; then
47                 echo "EXIT CODE: $x"
48                 rval=1  # script FAILed
49         fi
50 }
51
52 case $1 in
53 'start_msg')
54         echo "Starting $WHAT"
55         ;;
56
57 'stop_msg')
58         echo "Stopping $WHAT"
59         ;;
60
61 'start')
62         if [ -f $WHAT_CONFIG ] ; then
63                 . $WHAT_CONFIG
64         else
65                 echo "ERROR: $WHAT_CONFIG defaults file MISSING"
66         fi
67         
68
69         if [ "$EGD_START" -eq 1 -a -x $WHAT_PATH ]; then
70                 EGD_LOG=${EGD_LOG:-$WHAT_LOG}
71                 su egd -c "nohup $WHAT_PATH $EGD_ARGS >$EGD_LOG 2>&1" &&
72                         echo $WHAT started
73                 set_return
74         else
75                 rval=2
76         fi
77         ;;
78
79 'stop')
80         pid=`ps -fuegd | awk '$1 == "egd" { print $2 }'`
81         if [ "X$pid" != "X" ]; then
82                 if kill "$pid"; then
83                         echo "$WHAT stopped"
84                 else
85                         rval=1
86                         echo "Unable to stop $WHAT"
87                 fi
88         fi
89         set_return
90         ;;
91
92 *)
93         echo "usage: $0 {start|stop|start_msg|stop_msg}"
94         rval=1
95         ;;
96 esac
97
98 exit $rval