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