Thu, 04 Oct 2012 20:30:05 +0200
Correct out of date build configuration, porting to Solaris 11 network
link infrastructure and new libpcap logic. This additionally allows for
device drivers in subdirectories of /dev. Correct packaged nmap
personalities and signatures to work out of the box. Finally, hack
arpd logic to properly close sockets and quit on TERM by repeating
signaling in the run command script. Sadly, all this fails to correct
the run time behaviour of honeyd which fails to bind to the IP layer.
1 #!@l_prefix@/bin/openpkg rc
2 ##
3 ## rc.arpd -- Run-Commands
4 ##
6 %config
7 arpd_enable="$openpkg_rc_def"
8 arpd_log_prolog="true"
9 arpd_log_epilog="true"
10 arpd_log_numfiles="10"
11 arpd_log_minsize="1M"
12 arpd_log_complevel="9"
13 arpd_ip_network="192.168.100.0/24"
14 arpd_if=""
16 %common
17 arpd_pidfile="@l_prefix@/var/arpd/arpd.pid"
18 arpd_signal () {
19 [ -f $arpd_pidfile ] && kill -$1 `cat $arpd_pidfile`
20 }
22 %status -u @l_susr@ -o
23 arpd_usable="unknown"
24 arpd_active="no"
25 rcService arpd enable yes && \
26 arpd_signal 0 && arpd_active="yes"
27 echo "arpd_enable=\"$arpd_enable\""
28 echo "arpd_usable=\"$arpd_usable\""
29 echo "arpd_active=\"$arpd_active\""
31 %start -u @l_susr@
32 rcService arpd enable yes || exit 0
33 rcService arpd active yes && exit 0
34 if [ ".$arpd_if" != . ]; then
35 arpd_interface="-i $arpd_if"
36 fi
37 @l_prefix@/sbin/arpd \
38 $arpd_interface \
39 $arpd_ip_network \
40 >/dev/null 2>&1
42 %stop -u @l_susr@
43 rcService arpd enable yes || exit 0
44 rcService arpd active no && exit 0
45 arpd_signal TERM
46 rcService arpd active no && exit 0
47 arpd_signal TERM
48 rcService arpd active no && exit 0
49 rm -f $arpd_pidfile
51 %restart -u @l_susr@
52 rcService arpd enable yes || exit 0
53 rcService arpd active no && exit 0
54 rc arpd start
55 sleep 2
56 rc arpd stop
58 %reload -u @l_susr@
59 rcService arpd enable yes || exit 0
60 rcService arpd active no && exit 0
61 arpd_signal HUP
63 %daily -u @l_susr@
64 rcService arpd enable yes || exit 0
65 shtool rotate -f \
66 -n ${arpd_log_numfiles} -s ${arpd_log_minsize} -d \
67 -z ${arpd_log_complevel} -o @l_susr@ -g @l_rgrp@ -m 644 \
68 -P "${arpd_log_prolog}" \
69 -E "${arpd_log_epilog}; rc arpd restart" \
70 @l_prefix@/var/arpd/arpd.log