xref: /onnv-gate/usr/src/cmd/ypcmd/multi.sh (revision 0:68f95e015346)
1*0Sstevel@tonic-gate#!/bin/sh
2*0Sstevel@tonic-gate#
3*0Sstevel@tonic-gate# CDDL HEADER START
4*0Sstevel@tonic-gate#
5*0Sstevel@tonic-gate# The contents of this file are subject to the terms of the
6*0Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only
7*0Sstevel@tonic-gate# (the "License").  You may not use this file except in compliance
8*0Sstevel@tonic-gate# with the License.
9*0Sstevel@tonic-gate#
10*0Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11*0Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
12*0Sstevel@tonic-gate# See the License for the specific language governing permissions
13*0Sstevel@tonic-gate# and limitations under the License.
14*0Sstevel@tonic-gate#
15*0Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
16*0Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17*0Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
18*0Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
19*0Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
20*0Sstevel@tonic-gate#
21*0Sstevel@tonic-gate# CDDL HEADER END
22*0Sstevel@tonic-gate#
23*0Sstevel@tonic-gate#
24*0Sstevel@tonic-gate#ident	"%Z%%M%	%I%	%E% SMI"
25*0Sstevel@tonic-gate#
26*0Sstevel@tonic-gate# Copyright (c) 1996, by Sun Microsystems, Inc.
27*0Sstevel@tonic-gate# All rights reserved.
28*0Sstevel@tonic-gate#
29*0Sstevel@tonic-gate# Script to examine hosts file and make "magic" entries for
30*0Sstevel@tonic-gate# those hosts that have multiple IP addresses.
31*0Sstevel@tonic-gate#
32*0Sstevel@tonic-gate#
33*0Sstevel@tonic-gate
34*0Sstevel@tonic-gateMAKEDBM=/usr/sbin/makedbm
35*0Sstevel@tonic-gateSTDHOSTS=/usr/lib/netsvc/yp/stdhosts
36*0Sstevel@tonic-gateMULTIAWK=/usr/lib/netsvc/yp/multi.awk
37*0Sstevel@tonic-gateMAP="hosts.byname"
38*0Sstevel@tonic-gate
39*0Sstevel@tonic-gateUSAGE="Usage: multi [-b] [-l] [-s] [-n] [hosts file]
40*0Sstevel@tonic-gateWhere:
41*0Sstevel@tonic-gate	-b	Add YP_INTERDOMAIN flag to hosts map
42*0Sstevel@tonic-gate	-l	Convert keys to lower case before creating map
43*0Sstevel@tonic-gate	-s	Add YP_SECURE flag to hosts map
44*0Sstevel@tonic-gate	-n	Add IPv6 and IPv4 host addresses to ipnodes map
45*0Sstevel@tonic-gate
46*0Sstevel@tonic-gate	hosts file defaults to /etc/hosts"
47*0Sstevel@tonic-gate
48*0Sstevel@tonic-gatewhile getopts blsn c
49*0Sstevel@tonic-gatedo
50*0Sstevel@tonic-gate    case $c in
51*0Sstevel@tonic-gate	b)	BFLAG=-b;;
52*0Sstevel@tonic-gate	l)	LFLAG=-l;;
53*0Sstevel@tonic-gate	s)	SFLAG=-s;;
54*0Sstevel@tonic-gate	n)	NFLAG=-n;;
55*0Sstevel@tonic-gate	\?)	echo "$USAGE"
56*0Sstevel@tonic-gate		exit 2;;
57*0Sstevel@tonic-gate    esac
58*0Sstevel@tonic-gatedone
59*0Sstevel@tonic-gate
60*0Sstevel@tonic-gateif [ "$NFLAG" = "-n" ]
61*0Sstevel@tonic-gatethen
62*0Sstevel@tonic-gate	MAP="ipnodes.byname"
63*0Sstevel@tonic-gatefi
64*0Sstevel@tonic-gate
65*0Sstevel@tonic-gateshift `expr $OPTIND - 1`
66*0Sstevel@tonic-gate
67*0Sstevel@tonic-gateif [ "$1" ]
68*0Sstevel@tonic-gatethen
69*0Sstevel@tonic-gate    HOSTS=$1
70*0Sstevel@tonic-gateelif [ "$NFLAG" = "-n" ]
71*0Sstevel@tonic-gatethen
72*0Sstevel@tonic-gate    HOSTS=/etc/inet/ipnodes
73*0Sstevel@tonic-gateelse
74*0Sstevel@tonic-gate    HOSTS=/etc/hosts
75*0Sstevel@tonic-gatefi
76*0Sstevel@tonic-gate
77*0Sstevel@tonic-gateif [ "$HOSTS" = "-" ]
78*0Sstevel@tonic-gatethen
79*0Sstevel@tonic-gate    unset HOSTS
80*0Sstevel@tonic-gatefi
81*0Sstevel@tonic-gate
82*0Sstevel@tonic-gatecd /var/yp/`domainname` && \
83*0Sstevel@tonic-gate    sed -e '/^[ 	]*$/d' -e '/^#/d' -e 's/#.*$//' $HOSTS | \
84*0Sstevel@tonic-gate    $STDHOSTS $NFLAG | \
85*0Sstevel@tonic-gate    $MULTIAWK - | \
86*0Sstevel@tonic-gate    $MAKEDBM $BFLAG $LFLAG $SFLAG - $MAP
87