OpenSolaris_b135/pkgdefs/common_files/i.netconfig

#!/bin/sh
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License").  You may not use this file except in compliance
# with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
#ident	"%Z%%M%	%I%	%E% SMI"
#
# Copyright (c) 1994,1999 by Sun Microsystems, Inc.
#

#
# Write a sed script to enable the use of RPC and NFS over IPv6 and
# remove the various comments that were in /etc/netconfig when the
# the respective entries were disabled.
#
write_sed_script() {
cat > /tmp/netconfig.scr.$$ << EOF
/^# The following two entries starting with udp6 and tcp6 are meant to be $/d
/^# used for IPv6. If you have Ipv6 enabled on your machine then you can $/d
/^# uncomment these two lines to enable RPC and NFS use Ipv6 stack. Consult$/d
/^# uncomment these two lines to enable the use of RPC and NFS over IPv6.$/d
/^# your network administrator before uncommenting. $/d
/^# Consult your network administrator before uncommenting. $/d
/^#udp6[ 	]*tpi_clts[ 	]*v[ 	]*inet6[ 	]*udp[ 	]*\/dev\/udp6[ 	]*-/s/#//
/^#tcp6[ 	]*tpi_cots_ord[ 	]*v[ 	]*inet6[ 	]*tcp[ 	]*\/dev\/tcp6[ 	]*-/s/#//
EOF
}

while read src dest
do
	if [ ! -f $dest ] ; then
		cp $src $dest
	else
		grep 'switch.so' $dest > /dev/null 2>&1
		if [ $? = 0 ] ; then
			cp $src $dest
		fi
		grep 'If you have Ipv6 enabled on your' $dest > /dev/null 2>&1
		if [ $? = 0 ] ; then
			write_sed_script
			sed -f /tmp/netconfig.scr.$$ $dest > /tmp/netconfig.$$
			cp /tmp/netconfig.$$ $dest
			rm -f /tmp/netconfig.$$ /tmp/netconfig.scr.$$
		fi
		grep 'inet6' $dest > /dev/null 2>&1
		if [ $? != 0 ] ; then
			grep '^#' $dest >/tmp/netconfig.$$
			grep 'inet6' $src >>/tmp/netconfig.$$
			grep '^[^#]' $dest >>/tmp/netconfig.$$
			cp /tmp/netconfig.$$ $dest
			rm -f /tmp/netconfig.$$
		fi
	fi
done

exit 0