| #!/bin/sh |
| # |
| # ypbind-domain |
| # |
| # description: This is part of former ypbind init script, which is used |
| # to fix problems with the init scripts continuing even when |
| # we are really not bound yet to a server, and then things |
| # that need NIS fail. |
| # |
| |
| # NISTIMEOUT should be a multiple of 15 since |
| # ypwhich has a hardcoded 15sec timeout |
| [ -z "$NISTIMEOUT" ] && NISTIMEOUT=45 |
| |
| logger -t ypbind $"Binding NIS service" |
| |
| timeout=$NISTIMEOUT |
| firsttime=1 |
| rpcbound=0 |
| SECONDS=0 |
| retval=0 |
| while [ $SECONDS -lt $timeout ] || [ $firsttime -eq 1 ] ; do |
| firsttime=0 |
| if /usr/sbin/rpcinfo -p | LC_ALL=C fgrep -q ypbind |
| then |
| rpcbound=1 |
| /usr/bin/ypwhich > /dev/null 2>&1 |
| retval=$? |
| if [ $retval -eq 0 ]; then |
| break; |
| fi |
| fi |
| sleep 2 |
| done |
| |
| logger -t ypbind "Binding took $SECONDS seconds" |
| |
| if [ $retval -eq 0 ]; then |
| if [ $rpcbound -eq 0 ]; then |
| logger -t ypbind \ |
| "NIS domain: `domainname`, ypbind not registered with rpcbind." |
| else |
| logger -t ypbind \ |
| "NIS domain: `domainname`, NIS server: `ypwhich 2> /dev/null`" |
| fi |
| else |
| logger -t ypbind \ |
| "NIS server for domain `domainname` is not responding." |
| logger -t ypbind \ |
| "Killing ypbind with PID $MAINPID." |
| kill -s 15 $MAINPID || : |
| logger -t ypbind \ |
| "Try increase NISTIMEOUT in /etc/sysconfig/ypbind" |
| fi |
| |
| exit $retval |
| |