]> git.pld-linux.org Git - packages/xinetd.git/blob - xinetd.inet.sh
- check ipv6 properly
[packages/xinetd.git] / xinetd.inet.sh
1 # proces name
2 PROCESS_NAME=xinetd
3
4 # inet server config
5 CONFIG_FILE=/etc/xinetd.conf
6 CONFIG_FILE_UMASK=027
7
8 # inet server daemon executable file name
9 . /etc/rc.d/init.d/functions
10 . /etc/sysconfig/network
11
12 if is_yes "$IPV6_NETWORKING" && [ -x /usr/sbin/xinetd-ipv6 ]; then                                            
13     INETDAEMON="/usr/sbin/xinetd-ipv6"
14 else
15     INETDAEMON="/usr/sbin/xinetd"
16 fi
17
18 # addytional inet server daemon argumments
19 INETDAEMON_ARGS=
20
21 PREAMBLE="# This file is autogenerated!"
22
23 parse_one_service()
24 {
25         ERROR_CODE=0
26
27         [ "${SERVICE_NAME:-not}" = "not" ]      && ERROR_CODE=11
28         [ "${PROTOCOL:-not}" = "not" ]          && ERROR_CODE=12
29         [ "${PORT:-not}" = "not" ]              && ERROR_CODE=13
30         [ "${USER:-not}" = "not" ]              && ERROR_CODE=14
31         [ "${SERVER:-not}" = "not" ]            && ERROR_CODE=15
32         [ "${FLAGS:-not}" = "not" ]             && ERROR_CODE=16
33         [ "${DAEMON:-not}" = "not" ]            && ERROR_CODE=17
34         [ "${SOCK_TYPE:-not}" = "not" ]         && ERROR_CODE=18
35
36         if [ ! $ERROR_CODE -eq 0 ] ; then
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
67         echo "service $SERVICE_NAME"
68         echo "{"
69         if [ "${SERVICE_TYPE:-n}" != "n" ]; then
70                 for i in $SERVICE_TYPE ; do
71                         if [ "$i" = "RPC" ] ; then
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"
81         echo "  port            = $PORT"
82         echo "  user            = $USER"
83         [ "${GROUP:-n}" = "n" ] || echo "       group           = $GROUP"
84         if [ "$SERVER" = "tcpd" ] ; then
85                 SERVER="$DAEMON"
86         else
87                 DAEMONARGS="$DAEMON $DAEMONARGS"
88                 XFLAGS="$XFLAGS NAMEINARGS "
89         fi
90         echo "  server          = $SERVER"
91
92         [ "${DAEMONARGS:-n}" = "n" ] || echo "  server_args     = $DAEMONARGS"
93
94         for i in $FLAGS ; do
95                 if [ "$i" = "wait" ]; then
96                         echo "  wait            = yes"
97                 elif [ "$i" = "nowait" ]; then
98                         echo "  wait            = no"
99                         [ "${MAX_CONNECTIONS:-n}" = "n" ] || echo "     instances       = $MAX_CONNECTIONS"
100                         [ "${MAX_CONNECTIONS_PER_SOURCE:-n}" = "n" ] || echo "  per_source      = $MAX_CONNECTIONS_PER_SOURCE"
101                 else
102                         XFLAGS="$XFLAGS $i"
103                 fi
104         done
105         [ "${XFLAGS:-n}" = "n" ]        || echo "       flags           =$XFLAGS"
106
107         [ "${INTERFACE:-n}" = "n" ]     || echo "       bind            = $INTERFACE"
108         [ "${NICE:-n}" = "n" ]          || echo "       nice            = $NICE"
109         [ "${INITGROUPS:-n}" = "n" ]    || echo "       groups          = $INITGROUPS"
110         [ "${LOG_TYPE:-n}" = "n" ]      || echo "       log_type        = $LOG_TYPE"
111         [ "${LOG_SUCCESS:-n}" = "n" ]   || echo "       log_on_success  = $LOG_SUCCESS"
112         [ "${LOG_FAILURE:-n}" = "n" ]   || echo "       log_on_failure  = $LOG_FAILURE"
113         [ "${ENV:-n}" = "n" ]           || echo "       env             = $ENV"
114         [ "${PASSENV:-n}" = "n" ]       || echo "       passenv         = $PASSENV"
115         [ "${MAX_LOAD:-n}" = "n" ]      || echo "       max_load        = $MAX_LOAD"
116         [ "${ACCESS_TIMES:-n}" = "n" ]  || echo "       access_times    = $ACCESS_TIMES"
117         [ "${REDIRECT:-n}" = "n" ]      || echo "       redirect        = $REDIRECT"
118         [ "${BANNER:-n}" = "n" ]        || echo "       banner          = $BANNER"
119         [ "${BANNER_SUCCESS:-n}" = "n" ]        || echo "       banner_success  = $BANNER_SUCCESS"
120         [ "${BANNER_FAILURE:-n}" = "n" ]        || echo "       banner_fail     = $BANNER_FAILURE"
121         [ "${CONNECTIONS_PER_SECOND:-n}" = "n" ]        || echo "       cps             = $CONNECTIONS_PER_SECOND"
122         echo "}"
123
124         unset i XFLAGS XSERVICE_TYPE
125         return 0
126 }
127
128 status_rc_inetd()
129 {
130         status $INETDAEMON
131 }
132
133 reload_config()
134 {
135         killall -USR2 $INETDAEMON
136 }
This page took 0.097693 seconds and 4 git commands to generate.