]>
Commit | Line | Data |
---|---|---|
8e08ea27 JR |
1 | # proces name |
2 | PROCESS_NAME=xinetd | |
3 | ||
4 | # inet server config | |
1b911a05 | 5 | CONFIG_FILE=/etc/xinetd.conf |
8e08ea27 JR |
6 | CONFIG_FILE_UMASK=027 |
7 | ||
8 | # inet server daemon executable file name | |
3b9d4bb1 AM |
9 | . /etc/rc.d/init.d/functions |
10 | . /etc/sysconfig/network | |
21726c55 | 11 | |
eeef9cdf | 12 | INETDAEMON="/usr/sbin/xinetd" |
8e08ea27 JR |
13 | |
14 | # addytional inet server daemon argumments | |
15 | INETDAEMON_ARGS= | |
16 | ||
9e9a4870 | 17 | PREAMBLE="# This file is autogenerated from /etc/sysconfig/rc-inetd!" |
8e08ea27 JR |
18 | |
19 | parse_one_service() | |
20 | { | |
21 | ERROR_CODE=0 | |
22 | ||
23 | [ "${SERVICE_NAME:-not}" = "not" ] && ERROR_CODE=11 | |
24 | [ "${PROTOCOL:-not}" = "not" ] && ERROR_CODE=12 | |
5622cecc JB |
25 | if [ "${RPCNAME:-not}" = "not" ]; then |
26 | [ "${PORT:-not}" = "not" ] && ERROR_CODE=13 | |
27 | fi | |
1310709d AM |
28 | if [ -z "${REDIRECT}" ]; then |
29 | [ "${SERVER:-not}" = "not" ] && ERROR_CODE=15 | |
30 | [ "${DAEMON:-not}" = "not" ] && ERROR_CODE=17 | |
31 | fi | |
8e08ea27 | 32 | [ "${USER:-not}" = "not" ] && ERROR_CODE=14 |
8e08ea27 | 33 | [ "${FLAGS:-not}" = "not" ] && ERROR_CODE=16 |
8e08ea27 JR |
34 | [ "${SOCK_TYPE:-not}" = "not" ] && ERROR_CODE=18 |
35 | ||
aa5a8982 | 36 | if [ ! $ERROR_CODE -eq 0 ]; then |
8e08ea27 JR |
37 | echo "ERROR: Parse error." |
38 | case "$ERROR_CODE" in | |
39 | 11) | |
40 | echo "SERVICE_NAME not defined in /etc/sysconfig/rc-inetd/$CURRENT_SERVICE." | |
41 | ;; | |
42 | 12) | |
43 | echo "PROTOCOL not defined in /etc/sysconfig/rc-inetd/$CURRENT_SERVICE." | |
44 | ;; | |
45 | 13) | |
46 | echo "PORT not defined in /etc/sysconfig/rc-inetd/$CURRENT_SERVICE." | |
47 | ;; | |
48 | 14) | |
49 | echo "USER not defined in /etc/sysconfig/rc-inetd/$CURRENT_SERVICE." | |
50 | ;; | |
51 | 15) | |
52 | echo "SERVER not defined in /etc/sysconfig/rc-inetd/$CURRENT_SERVICE." | |
53 | ;; | |
54 | 16) | |
55 | echo "FLAGS not defined in /etc/sysconfig/rc-inetd/$CURRENT_SERVICE." | |
56 | ;; | |
57 | 17) | |
58 | echo "DAEMON not defined in /etc/sysconfig/rc-inetd/$CURRENT_SERVICE." | |
59 | ;; | |
60 | 18) | |
61 | echo "SOCK_TYPE not defined in /etc/sysconfig/rc-inetd/$CURRENT_SERVICE." | |
62 | ;; | |
63 | esac | |
64 | return $ERROR_CODE | |
65 | fi | |
66 | ||
54f94173 | 67 | echo "service $SERVICE_NAME" |
68 | echo "{" | |
8e08ea27 | 69 | if [ "${SERVICE_TYPE:-n}" != "n" ]; then |
aa5a8982 TP |
70 | for i in $SERVICE_TYPE; do |
71 | if [ "$i" = "RPC" ]; then | |
8e08ea27 JR |
72 | [ "${RPCVERSION:-n}" = "n" ] || echo " rpc_version = $RPCVERSION" |
73 | [ "${RPCNUMBER:-n}" = "n" ] || echo " rpc_number = $RPCNUMBER" | |
74 | fi | |
75 | XSERVICE_TYPE="$XSERVICE_TYPE $i" | |
76 | done | |
77 | fi | |
78 | [ "${XSERVICE_TYPE:-n}" = "n" ] || echo " type =$XSERVICE_TYPE" | |
79 | echo " socket_type = $SOCK_TYPE" | |
80 | echo " protocol = $PROTOCOL" | |
5622cecc JB |
81 | if [ "${PORT:-not}" != "not" ]; then |
82 | echo " port = $PORT" | |
83 | fi | |
8e08ea27 JR |
84 | echo " user = $USER" |
85 | [ "${GROUP:-n}" = "n" ] || echo " group = $GROUP" | |
aa5a8982 | 86 | if [ "$SERVER" = "tcpd" ]; then |
fb534866 | 87 | SERVER="$DAEMON" |
1310709d | 88 | elif [ -z "$REDIRECT" ]; then |
fb534866 ER |
89 | DAEMONARGS="$DAEMON $DAEMONARGS" |
90 | XFLAGS="$XFLAGS NAMEINARGS " | |
91 | fi | |
1310709d AM |
92 | if [ "${SERVER:-not}" != "not" ]; then |
93 | echo " server = $SERVER" | |
94 | [ "${DAEMONARGS:-n}" = "n" ] || echo " server_args = $DAEMONARGS" | |
95 | fi | |
8e08ea27 | 96 | |
3f715919 ER |
97 | for i in $FLAGS; do |
98 | case "$i" in | |
99 | wait) | |
8e08ea27 | 100 | echo " wait = yes" |
3f715919 ER |
101 | ;; |
102 | nowait) | |
8e08ea27 JR |
103 | echo " wait = no" |
104 | [ "${MAX_CONNECTIONS:-n}" = "n" ] || echo " instances = $MAX_CONNECTIONS" | |
105 | [ "${MAX_CONNECTIONS_PER_SOURCE:-n}" = "n" ] || echo " per_source = $MAX_CONNECTIONS_PER_SOURCE" | |
aa5a8982 | 106 | ;; |
3f715919 | 107 | *) |
8e08ea27 | 108 | XFLAGS="$XFLAGS $i" |
3f715919 ER |
109 | ;; |
110 | esac | |
8e08ea27 | 111 | done |
0c43fb48 JR |
112 | if [ "${FAMILY:-not}" != "not" ]; then |
113 | XFLAGS="$XFLAGS $FAMILY" | |
114 | fi | |
1310709d | 115 | [ "${XFLAGS:-n}" = "n" ] || echo " flags = $XFLAGS" |
8e08ea27 JR |
116 | |
117 | [ "${INTERFACE:-n}" = "n" ] || echo " bind = $INTERFACE" | |
118 | [ "${NICE:-n}" = "n" ] || echo " nice = $NICE" | |
119 | [ "${INITGROUPS:-n}" = "n" ] || echo " groups = $INITGROUPS" | |
120 | [ "${LOG_TYPE:-n}" = "n" ] || echo " log_type = $LOG_TYPE" | |
121 | [ "${LOG_SUCCESS:-n}" = "n" ] || echo " log_on_success = $LOG_SUCCESS" | |
122 | [ "${LOG_FAILURE:-n}" = "n" ] || echo " log_on_failure = $LOG_FAILURE" | |
123 | [ "${ENV:-n}" = "n" ] || echo " env = $ENV" | |
124 | [ "${PASSENV:-n}" = "n" ] || echo " passenv = $PASSENV" | |
125 | [ "${MAX_LOAD:-n}" = "n" ] || echo " max_load = $MAX_LOAD" | |
126 | [ "${ACCESS_TIMES:-n}" = "n" ] || echo " access_times = $ACCESS_TIMES" | |
127 | [ "${REDIRECT:-n}" = "n" ] || echo " redirect = $REDIRECT" | |
128 | [ "${BANNER:-n}" = "n" ] || echo " banner = $BANNER" | |
129 | [ "${BANNER_SUCCESS:-n}" = "n" ] || echo " banner_success = $BANNER_SUCCESS" | |
130 | [ "${BANNER_FAILURE:-n}" = "n" ] || echo " banner_fail = $BANNER_FAILURE" | |
131 | [ "${CONNECTIONS_PER_SECOND:-n}" = "n" ] || echo " cps = $CONNECTIONS_PER_SECOND" | |
132 | echo "}" | |
133 | ||
134 | unset i XFLAGS XSERVICE_TYPE | |
135 | return 0 | |
136 | } | |
137 | ||
138 | status_rc_inetd() | |
139 | { | |
140 | status $INETDAEMON | |
141 | } | |
142 | ||
143 | reload_config() | |
144 | { | |
863c3d41 | 145 | killall -USR2 $INETDAEMON |
8e08ea27 | 146 | } |