OpenSolaris_b135/pkgdefs/common_files/i.pkcs11confbase

#!/bin/sh
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (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
#
# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

while read src dest
do
	if [ ! -f $dest ] ; then
		cp $src $dest
	else
		#check if destination already has metaslot configuration line
		egrep '^metaslot' $dest > /dev/null 2>& 1
		if [ $? != 0 ] ; then
			#metaslot line doesn't exist, need to add it
			metaslot_config=`egrep '^metaslot' $src`

			if [ $? = 0 ] ; then
				export metaslot_config
				nawk '/^# End SUNWcsr/ \
                        		{ print ENVIRON["metaslot_config"] } \
                        		{ print } \
				' ${dest} > ${dest}.$$
				mv -f ${dest}.$$ ${dest}
			
			fi
		fi

		# Undo the old pkcs11_softtoken_extra name
		sed 's/pkcs11_softtoken_extra\.so/pkcs11_softtoken.so/' \
		 ${dest} > ${dest}.$$

		mv -f ${dest}.$$ ${dest}

		# Add pkcs11_tpm if it is not present.
		egrep 'pkcs11_tpm' $dest > /dev/null 2>& 1
		if [ $? != 0 ] ; then
			pkcs11tpm="/usr/lib/security/\$ISA/pkcs11_tpm.so"
			export pkcs11tpm
			nawk '/^# End SUNWcsr/ \
				{ print ENVIRON["pkcs11tpm"] } \
				{ print } \
				' ${dest} > ${dest}.$$
			mv -f ${dest}.$$ ${dest}
		fi
	fi
done
exit 0