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