d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck#!/sbin/sh
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck#
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck# CDDL HEADER START
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck#
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck# The contents of this file are subject to the terms of the
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck# Common Development and Distribution License (the "License").
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck# You may not use this file except in compliance with the License.
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck#
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck# or http://www.opensolaris.org/os/licensing.
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck# See the License for the specific language governing permissions
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck# and limitations under the License.
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck#
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck# When distributing Covered Code, include this CDDL HEADER in each
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck# If applicable, add the following below this CDDL HEADER, with the
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck# fields enclosed by brackets "[]" replaced with your own identifying
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck# information: Portions Copyright [yyyy] [name of copyright owner]
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck#
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck# CDDL HEADER END
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck#
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck#
1cfa752f4e24c34133009b0f6c139127a5c461deRamaswamy Tummala# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
12c67a5977f9e556df6c649fafe45fe905265710Milan Jurik# Copyright 2012 Milan Jurik. All rights reserved.
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck#
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck. /lib/svc/share/smf_include.sh
d62bc4badc1c1f1549c961cfb8b420e650e1272byz. /lib/svc/share/net_include.sh
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# FMRI constants
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyIPSEC_IKE_FMRI="svc:/network/ipsec/ike"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyIPSEC_POLICY_FMRI="svc:/network/ipsec/policy"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyIPFILTER_FMRI="svc:/network/ipfilter:default"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyNIS_CLIENT_FMRI="svc:/network/nis/client:default"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyNET_PHYS_FMRI="svc:/network/physical:default"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyNET_NWAM_FMRI="svc:/network/physical:nwam"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyNET_LOC_FMRI="svc:/network/location:default"
dd51520e127b452179a2ce4ea3bd8dee949f9afePavan Mettu - Oracle Corporation - Menlo Park United StatesNFS_MAPID_FMRI="svc:/network/nfs/mapid:default"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# Default *.conf files
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# Set appropriate config SMF property to these files when NWAM is stopped
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# and corresponding config properties in the Legacy location are emtpy
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyIPF6_DEFAULT_CONFIG_FILE=/etc/ipf/ipf6.conf
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyIPNAT_DEFAULT_CONFIG_FILE=/etc/ipf/ipnat.conf
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyIPPOOL_DEFAULT_CONFIG_FILE=/etc/ipf/ippool.conf
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyIPSEC_IKE_DEFAULT_CONFIG_FILE=/etc/inet/ike/config
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyIPSEC_POLICY_DEFAULT_CONFIG_FILE=/etc/inet/ipsecinit.conf
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# commands
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyBASENAME=/usr/bin/basename
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyCAT=/usr/bin/cat
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyCP=/usr/bin/cp
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyDOMAINNAME=/usr/bin/domainname
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyGREP=/usr/bin/grep
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyLDAPCLIENT=/usr/sbin/ldapclient
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyMKDIR=/usr/bin/mkdir
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyMKFIFO=/usr/bin/mkfifo
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyNAWK=/usr/bin/nawk
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyNWAMCFG=/usr/sbin/nwamcfg
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyRM=/usr/bin/rm
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeySVCADM=/usr/sbin/svcadm
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeySVCCFG=/usr/sbin/svccfg
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeySVCPROP=/usr/bin/svcprop
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# Path to directories
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# We don't have a writable file system so we write to /etc/svc/volatile and
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# then later copy anything interesting to /etc/nwam.
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. MaskeyVOL_NWAM_PATH=/etc/svc/volatile/nwam
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. MaskeyVOL_LEGACY_PATH=$VOL_NWAM_PATH/Legacy
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. MaskeyPERM_LEGACY_PATH=/etc/nwam/loc/Legacy
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. MaskeyNIS_BIND_PATH=/var/yp/binding
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# copy_to_legacy_loc <file>
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# Copies the file to the Legacy location directory
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey# (in /etc/svc/volatile/nwam/Legacy)
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeycopy_to_legacy_loc() {
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey $MKDIR -p $VOL_LEGACY_PATH
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -f "$1" ]; then
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey $CP -p $1 $VOL_LEGACY_PATH
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey}
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# copy_from_legacy_loc <destination file>
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey# Copies file with the same name from Legacy location
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey# (in /etc/nwam/loc/Legacy) to the given destination file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeycopy_from_legacy_loc () {
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey DEST_DIR=`/usr/bin/dirname $1`
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey SRC_FILE="$PERM_LEGACY_PATH/`$BASENAME $1`"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # Make destination directory if needed
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ ! -d "$DEST_DIR" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $MKDIR -p $DEST_DIR
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -f "$SRC_FILE" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $CP -p $SRC_FILE $DEST_DIR
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey}
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# write_loc_prop <property> <value> <file>
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# Appends to <file> a nwamcfg command to set <property> to <value> if non-empty
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeywrite_loc_prop () {
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey prop=$1
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey val=$2
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey file=$3
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$val" -a -n "$file" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey echo "set $prop=$val" >> $file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey}
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# set_smf_prop <fmri> <property name> <property value>
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyset_smf_prop () {
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCCFG -s $1 setprop $2 = astring: "$3" && return
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey}
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# get_smf_prop <fmri> <property name>
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyget_smf_prop () {
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCPROP -p $2 $1
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey}
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# Creates Legacy location from the current configuration
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeycreate_legacy_loc () {
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey CREATE_LOC_LEGACY_FILE=$VOL_NWAM_PATH/create_loc_legacy
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # Write nwamcfg commands to create Legacy location to
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # $CREATE_LOC_LEGACY_FILE as values for properties are determined
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # Note that some of the *_CONFIG_FILE variables point at copies of
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # files we've made and others indicate where those copies should be
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # if we are enabling the location.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey echo "create loc Legacy" > $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "activation-mode" "system" $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey NAMESERVICES=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey NAMESERVICES_CONFIG_FILE=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey DNS_NAMESERVICE_CONFIGSRC=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey DNS_NAMESERVICE_DOMAIN=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey DNS_NAMESERVICE_SERVERS=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey DNS_NAMESERVICE_SEARCH=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey NIS_NAMESERVICE_CONFIGSRC=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey NIS_NAMESERVICE_SERVERS=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey LDAP_NAMESERVICE_CONFIGSRC=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey LDAP_NAMESERVICE_SERVERS=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey DEFAULT_DOMAIN=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # Copy /etc/nsswitch.conf file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_to_legacy_loc /etc/nsswitch.conf
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey NAMESERVICES_CONFIG_FILE="$VOL_LEGACY_PATH/nsswitch.conf"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # Gather DNS info from resolv.conf if present.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -f /etc/resolv.conf ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey NAMESERVICES="dns,"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $GREP -i "added by dhcp" /etc/nsswitch.conf >/dev/null
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ $? -eq 0 ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey DNS_NAMESERVICE_CONFIGSRC="dhcp"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey else
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey DNS_NAMESERVICE_CONFIGSRC="manual"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey DNS_NAMESERVICE_DOMAIN=`$NAWK '$1 == "domain" {\
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey print $2 }' < /etc/resolv.conf`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey DNS_NAMESERVICE_SERVERS=`$NAWK '$1 == "nameserver" \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey { printf "%s,", $2 }' < /etc/resolv.conf`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey DNS_NAMESERVICE_SEARCH=`$NAWK '$1 == "search" \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey { printf "%s,", $2 }' < /etc/resolv.conf`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_to_legacy_loc /etc/resolv.conf
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # Gather NIS info from appropriate file if present.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if service_is_enabled $NIS_CLIENT_FMRI; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey NAMESERVICES="${NAMESERVICES}nis,"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey NIS_NAMESERVICE_CONFIGSRC="manual"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey DEFAULT_DOMAIN=`$CAT /etc/defaultdomain`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey yp_servers=`$NAWK '{ printf "%s ", $1 }' \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey < $NIS_BIND_PATH/$DEFAULT_DOMAIN/ypservers`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey for serv in $yp_servers; do
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if is_valid_addr $serv; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey addr="$serv,"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey else
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey addr=`$GREP -iw $serv /etc/inet/hosts | \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $NAWK '{ printf "%s,", $1 }'`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey NIS_NAMESERVICE_SERVERS="${NIS_NAMESERVICE_SERVERS}$addr"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey done
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # Gather LDAP info via ldapclient(1M).
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -f /var/ldap/ldap_client_file ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_to_legacy /var/ldap/ldap_client_file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey NAMESERVICES="${NAMESERVICES}ldap,"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey LDAP_NAMESERVICE_CONFIGSRC="manual"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey LDAP_NAMESERVICE_SERVERS=`$LDAPCLIENT list 2>/dev/null | \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $NAWK '$1 == "preferredServerList:" { print $2 }'`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey DEFAULT_DOMAIN=`$CAT /etc/defaultdomain`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # Now, write nwamcfg commands for nameservices
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "nameservices" $NAMESERVICES $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "nameservices-config-file" $NAMESERVICES_CONFIG_FILE \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "dns-nameservice-configsrc" $DNS_NAMESERVICE_CONFIGSRC \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "dns-nameservice-domain" $DNS_NAMESERVICE_DOMAIN \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "dns-nameservice-servers" $DNS_NAMESERVICE_SERVERS \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "dns-nameservice-search" $DNS_NAMESERVICE_SEARCH \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "nis-nameservice-configsrc" $NIS_NAMESERVICE_CONFIGSRC \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "nis-nameservice-servers" $NIS_NAMESERVICE_SERVERS \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "ldap-nameservice-configsrc" $LDAP_NAMESERVICE_CONFIGSRC\
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "ldap-nameservice-servers" $LDAP_NAMESERVICE_SERVERS \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "default-domain" $DEFAULT_DOMAIN $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
dd51520e127b452179a2ce4ea3bd8dee949f9afePavan Mettu - Oracle Corporation - Menlo Park United States # Retrieve NFSv4 domain from SMF.
dd51520e127b452179a2ce4ea3bd8dee949f9afePavan Mettu - Oracle Corporation - Menlo Park United States if service_is_enabled $NFS_MAPID_FMRI; then
dd51520e127b452179a2ce4ea3bd8dee949f9afePavan Mettu - Oracle Corporation - Menlo Park United States NFS_DOMAIN=`get_smf_prop NFS_MAPID_FMRI \
dd51520e127b452179a2ce4ea3bd8dee949f9afePavan Mettu - Oracle Corporation - Menlo Park United States nfs-props/nfsmapid_domain`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "nfsv4-domain" \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $NFS_DOMAIN $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IPF_CONFIG_FILE=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IPF6_CONFIG_FILE=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IPNAT_CONFIG_FILE=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IPPOOL_CONFIG_FILE=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IKE_CONFIG_FILE=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IPSEC_POLICY_CONFIG_FILE=""
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # IPFilter
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # If the firewall policy is "custom", simply copy the
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # custom_policy_file. If the firewall policy is "none", "allow" or
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # "deny", save the value as "/<value>". When reverting back to the
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # Legacy location, these values will have to be treated as special.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # For all configuration files, copy them to the Legacy directory.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # Use the respective properties to remember the original locations
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # of the files so that they can be copied back there when NWAM is
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # stopped.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if service_is_enabled $IPFILTER_FMRI; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey FIREWALL_POLICY=`get_smf_prop $IPFILTER_FMRI \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey firewall_config_default/policy`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ "$FIREWALL_POLICY" = "custom" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IPF_CONFIG_FILE=`get_smf_prop $IPFILTER_FMRI \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey firewall_config_default/custom_policy_file`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_to_legacy_loc $IPF_CONFIG_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey else
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # save value as /none, /allow, or /deny
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IPF_CONFIG_FILE="/$FIREWALL_POLICY"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IPF6_CONFIG_FILE=`get_smf_prop $IPFILTER_FMRI \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey config/ipf6_config_file`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_to_legacy_loc $IPF6_CONFIG_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IPNAT_CONFIG_FILE=`get_smf_prop $IPFILTER_FMRI \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey config/ipnat_config_file`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_to_legacy_loc $IPNAT_CONFIG_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IPPOOL_CONFIG_FILE=`get_smf_prop $IPFILTER_FMRI \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey config/ippool_config_file`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_to_legacy_loc $IPPOOL_CONFIG_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # IKE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if service_is_enabled $IPSEC_IKE_FMRI:default; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IKE_CONFIG_FILE=`get_smf_prop $IPSEC_IKE_FMRI config/config_file`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_to_legacy_loc $IKE_CONFIG_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # IPsec
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if service_is_enabled $IPSEC_POLICY_FMRI:default; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IPSEC_POLICY_CONFIG_FILE=`get_smf_prop $IPSEC_POLICY_FMRI \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey config/config_file`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_to_legacy_loc $IPSEC_POLICY_CONFIG_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$IPF_CONFIG_FILE" -a \( "$IPF_CONFIG_FILE" = "/allow" \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey -o "$IPF_CONFIG_FILE" = "/deny" -o "$IPF_CONFIG_FILE" = "/none" \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey -o -f "$IPF_CONFIG_FILE" \) ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "ipfilter-config-file" $IPF_CONFIG_FILE \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$IPF6_CONFIG_FILE" -a -f "$IPF6_CONFIG_FILE" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "ipfilter-v6-config-file" $IPF6_CONFIG_FILE \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$IPNAT_CONFIG_FILE" -a -f "$IPNAT_CONFIG_FILE" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "ipnat-config-file" $IPNAT_CONFIG_FILE \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$IPPOOL_CONFIG_FILE" -a -f "$IPPOOL_CONFIG_FILE" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "ippool-config-file" $IPPOOL_CONFIG_FILE \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$IKE_CONFIG_FILE" -a -f "$IKE_CONFIG_FILE" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "ike-config-file" $IKE_CONFIG_FILE \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$IPSEC_POLICY_CONFIG_FILE" -a -f "$IPSEC_POLICY_CONFIG_FILE" ]
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey write_loc_prop "ipsecpolicy-config-file" \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $IPSEC_POLICY_CONFIG_FILE $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # End
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey echo "end" >> $CREATE_LOC_LEGACY_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # network/location will create the Legacy location with these commands.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey}
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# Undoes the effects of the Legacy location creation
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyrevert_to_legacy_loc () {
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM disable dns/client
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM disable nis/client
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM disable ldap/client
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # copy nsswitch.conf to /etc/nsswitch.conf
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_from_legacy_loc /etc/nsswitch.conf
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # DNS - copy resolv.conf to /etc/resolv.conf
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey if [ -f "$PERM_LEGACY_PATH/resolv.conf" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_from_legacy_loc /etc/resolv.conf
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM enable dns/client
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # set /etc/defaultdomain and domainname(1M)
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey DEFAULT_DOMAIN=`nwam_get_loc_prop Legacy default-domain`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$DEFAULT_DOMAIN" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $DOMAINNAME $DEFAULT_DOMAIN
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $DOMAINNAME > /etc/defaultdomain
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # NIS - directory and ypserver in /var/yp/binding/
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey NIS_CONFIGSRC=`nwam_get_loc_prop Legacy nis-nameservice-configsrc`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey NIS_SERVERS=`nwam_get_loc_prop Legacy nis-nameservice-servers`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$NIS_CONFIGSRC" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ ! -d "$NIS_BIND_PATH/$DEFAULT_DOMAIN" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $MKDIR -p $NIS_BIND_PATH/$DEFAULT_DOMAIN
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$NIS_SERVERS" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey echo "$NIS_SERVERS" | $NAWK \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey 'FS="," { for (i = 1; i <= NF; i++) print $i }' \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey > $NIS_BIND_PATH/$DEFAULT_DOMAIN/ypservers
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM enable nis/client
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # LDAP - copy ldap_client_file to /var/ldap/ldap_client_file
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey if [ -f "$PERM_LEGACY_PATH/ldap_client_file" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_from_legacy_loc /var/ldap/ldap_client_file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM enable ldap/client
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
dd51520e127b452179a2ce4ea3bd8dee949f9afePavan Mettu - Oracle Corporation - Menlo Park United States # Copy back nfs NFSMAPID_DOMAIN
dd51520e127b452179a2ce4ea3bd8dee949f9afePavan Mettu - Oracle Corporation - Menlo Park United States NFSMAPID_DOMAIN=`nwam_get_loc_prop Legacy nfsv4-domain`
dd51520e127b452179a2ce4ea3bd8dee949f9afePavan Mettu - Oracle Corporation - Menlo Park United States if [ -n "$NFSMAPID_DOMAIN" ]; then
dd51520e127b452179a2ce4ea3bd8dee949f9afePavan Mettu - Oracle Corporation - Menlo Park United States set_smf_prop $NFS_MAPID_FMRI \
dd51520e127b452179a2ce4ea3bd8dee949f9afePavan Mettu - Oracle Corporation - Menlo Park United States nfs-props/nfsmapid_domain $NFSMAPID_DOMAIN
dd51520e127b452179a2ce4ea3bd8dee949f9afePavan Mettu - Oracle Corporation - Menlo Park United States $SVCADM refresh $NFS_MAPID_FMRI
dd51520e127b452179a2ce4ea3bd8dee949f9afePavan Mettu - Oracle Corporation - Menlo Park United States $SVCADM enable $NFS_MAPID_FMRI
dd51520e127b452179a2ce4ea3bd8dee949f9afePavan Mettu - Oracle Corporation - Menlo Park United States fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # IPFilter, IPsec, and IKE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey ipf_file=`nwam_get_loc_prop Legacy ipfilter-config-file`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey ipf6_file=`nwam_get_loc_prop Legacy ipfilter-v6-config-file`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey ipnat_file=`nwam_get_loc_prop Legacy ipnat-config-file`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey ippool_file=`nwam_get_loc_prop Legacy ippool-config-file`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey ike_file=`nwam_get_loc_prop Legacy ike-config-file`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey pol_file=`nwam_get_loc_prop Legacy ipsecpolicy-config-file`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$ike_file" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_from_legacy_loc $ike_file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey set_smf_prop $IPSEC_IKE_FMRI config/config_file $ike_file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM refresh $IPSEC_IKE_FMRI
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM enable $IPSEC_IKE_FMRI
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey else
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey set_smf_prop $IPSEC_IKE_FMRI config/config_file \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $IPSEC_IKE_DEFAULT_CONFIG_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM disable $IPSEC_IKE_FMRI
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$pol_file" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_from_legacy_loc $pol_file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey set_smf_prop $IPSEC_POLICY_FMRI config/config_file $pol_file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM refresh $IPSEC_POLICY_FMRI
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM enable $IPSEC_POLICY_FMRI
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey else
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey set_smf_prop $IPSEC_POLICY_FMRI config/config_file \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $IPSEC_POLICY_DEFAULT_CONFIG_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM disable $IPSEC_POLICY_FMRI
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey refresh_ipf=false
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$ipf_file" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # change /none, /allow, and /deny to firewall policy
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ "$ipf_file" = "/none" -o "$ipf_file" = "/allow" \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey -o "$ipf_file" = "/deny" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey policy=`echo "$ipf_file" | $NAWK 'FS="/" { print $2 }'`
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey set_smf_prop $IPFILTER_FMRI \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey firewall_config_default/policy $policy
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # no need to clear custom_policy_file as it isn't "custom"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey else
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_from_legacy_loc $ipf_file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey set_smf_prop $IPFILTER_FMRI \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey firewall_config_default/policy "custom"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey set_smf_prop $IPFILTER_FMRI \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey firewall_config_default/custom_policy_file $ipf_file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey refresh_ipf=true
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$ipf6_file" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_from_legacy_loc $ipf6_file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey set_smf_prop $IPFILTER_FMRI config/ipf6_config_file $ipf6_file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey refresh_ipf=true
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey else
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey set_smf_prop $IPFILTER_FMRI config/ipf6_config_file \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $IPF6_DEFAULT_CONFIG_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$ipnat_file" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_from_legacy_loc $ipnat_file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey set_smf_prop $IPFILTER_FMRI config/ipnat_config_file $ipnat_file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey refresh_ipf=true
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey else
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey set_smf_prop $IPFILTER_FMRI config/ipnat_config_file \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $IPNAT_DEFAULT_CONFIG_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ -n "$ippool_file" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey copy_from_legacy_loc $ippool_file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey set_smf_prop $IPFILTER_FMRI config/ippool_config_file \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $ippool_file
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey refresh_ipf=true
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey else
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey set_smf_prop $IPFILTER_FMRI config/ippool_config_file \
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $IPPOOL_DEFAULT_CONFIG_FILE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM refresh $IPFILTER_FMRI
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ "$refresh_ipf" = "true" ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM enable $IPFILTER_FMRI
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey else
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM disable $IPFILTER_FMRI
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey # Remove the Legacy directories, script and location
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey $RM -rf $VOL_LEGACY_PATH
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey $RM -rf $PERM_LEGACY_PATH
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey $RM -f $VOL_NWAM_PATH/create_loc_legacy
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $NWAMCFG destroy loc Legacy
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey}
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# Script entry point
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# Arguments to net-nwam are
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# method ( start | refresh | stop | -u | -c )
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey# Create nwam directory in /etc/svc/volatile
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskeyif [ ! -d $VOL_NWAM_PATH ]; then
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey $MKDIR -m 0755 $VOL_NWAM_PATH
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyfi
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeckcase "$1" in
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck'refresh')
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck /usr/bin/pkill -HUP -z `smf_zonename` nwamd
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # Enable network/location. Needed on first boot post-install as
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # network/location will not exist until after manifest-import runs.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if service_exists $NET_LOC_FMRI ; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM enable -t $NET_LOC_FMRI
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck ;;
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck'start')
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # The real daemon is not started in a shared stack zone. But we need to
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # create a dummy background process to preserve contract lifetime.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey smf_configure_ip
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ $? = "1" ] ; then
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey $RM -f $VOL_NWAM_PATH/nwam_blocked
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey $MKFIFO $VOL_NWAM_PATH/nwam_blocked
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey ($CAT <$VOL_NWAM_PATH/nwam_blocked >/dev/null) &
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey exit $SMF_EXIT_OK
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # Enable network/location.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if service_exists $NET_LOC_FMRI ; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM enable -t $NET_LOC_FMRI
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck if smf_is_globalzone; then
d62bc4badc1c1f1549c961cfb8b420e650e1272byz net_reconfigure || exit $SMF_EXIT_ERR_CONFIG
d62bc4badc1c1f1549c961cfb8b420e650e1272byz
4eaa471005973e11a6110b69fe990530b3b95a38Rishi Srivatsavai # Update PVID on interfaces configured with VLAN 1
4eaa471005973e11a6110b69fe990530b3b95a38Rishi Srivatsavai update_pvid
4eaa471005973e11a6110b69fe990530b3b95a38Rishi Srivatsavai
d62bc4badc1c1f1549c961cfb8b420e650e1272byz #
d62bc4badc1c1f1549c961cfb8b420e650e1272byz # Upgrade handling. The upgrade file consists of a series
d62bc4badc1c1f1549c961cfb8b420e650e1272byz # of dladm(1M) commands. Note that after we are done, we
d62bc4badc1c1f1549c961cfb8b420e650e1272byz # cannot rename the upgrade script file as the file system
d62bc4badc1c1f1549c961cfb8b420e650e1272byz # is still read-only at this point. Defer this to the
d62bc4badc1c1f1549c961cfb8b420e650e1272byz # manifest-import service.
d62bc4badc1c1f1549c961cfb8b420e650e1272byz #
d62bc4badc1c1f1549c961cfb8b420e650e1272byz upgrade_script=/var/svc/profile/upgrade_datalink
d62bc4badc1c1f1549c961cfb8b420e650e1272byz if [ -f "${upgrade_script}" ]; then
d62bc4badc1c1f1549c961cfb8b420e650e1272byz . "${upgrade_script}"
d62bc4badc1c1f1549c961cfb8b420e650e1272byz fi
d62bc4badc1c1f1549c961cfb8b420e650e1272byz
1cfa752f4e24c34133009b0f6c139127a5c461deRamaswamy Tummala #
1cfa752f4e24c34133009b0f6c139127a5c461deRamaswamy Tummala # Upgrade handling for ibd:
12c67a5977f9e556df6c649fafe45fe905265710Milan Jurik # After we are done with the upgrade handling, we can not set
12c67a5977f9e556df6c649fafe45fe905265710Milan Jurik # the ibd/ibd_upgraded property to "true" as the file system is
12c67a5977f9e556df6c649fafe45fe905265710Milan Jurik # read-only at this point. It will be done later by
12c67a5977f9e556df6c649fafe45fe905265710Milan Jurik # ibd-post-upgrade service.
1cfa752f4e24c34133009b0f6c139127a5c461deRamaswamy Tummala #
12c67a5977f9e556df6c649fafe45fe905265710Milan Jurik if [ -x /sbin/ibd_upgrade ]; then
12c67a5977f9e556df6c649fafe45fe905265710Milan Jurik ibd_upgraded=`/bin/svcprop -c -p ibd/ibd_upgraded \
12c67a5977f9e556df6c649fafe45fe905265710Milan Jurik svc:/network/physical:default 2> /dev/null`
12c67a5977f9e556df6c649fafe45fe905265710Milan Jurik if [ "$ibd_upgraded" != "true" ]; then
12c67a5977f9e556df6c649fafe45fe905265710Milan Jurik /sbin/ibd_upgrade -v
12c67a5977f9e556df6c649fafe45fe905265710Milan Jurik fi
1cfa752f4e24c34133009b0f6c139127a5c461deRamaswamy Tummala fi
1cfa752f4e24c34133009b0f6c139127a5c461deRamaswamy Tummala
b509e89b2befbaa42939abad9da1d7f5a8c6aaaeRishi Srivatsavai # Bring up simnet instances
b509e89b2befbaa42939abad9da1d7f5a8c6aaaeRishi Srivatsavai /sbin/dladm up-simnet
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck # Initialize security objects.
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck /sbin/dladm init-secobj
f0fb1b003bde1f700fa30fac4f02ec87a65271d8Renee Danson Sommerfeld
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # Initialize VNICs, VLANs and flows. Though they are brought
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # up here, NWAM will not automatically manage VNICs and VLANs.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
f0fb1b003bde1f700fa30fac4f02ec87a65271d8Renee Danson Sommerfeld /sbin/dladm up-vnic
f0fb1b003bde1f700fa30fac4f02ec87a65271d8Renee Danson Sommerfeld /sbin/dladm up-vlan
1cfa752f4e24c34133009b0f6c139127a5c461deRamaswamy Tummala /sbin/dladm up-part
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey /sbin/dladm up-aggr
f0fb1b003bde1f700fa30fac4f02ec87a65271d8Renee Danson Sommerfeld /sbin/flowadm init-flow
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # We also need to create the Legacy location, which is used
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # to restore non-NWAM settings that are overwritten when
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # NWAM is enabled (e.g. resolv.conf, nsswitch.conf, etc.).
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $NWAMCFG list loc Legacy >/dev/null 2>&1
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ $? -eq 1 ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey create_legacy_loc
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck # start nwamd in foreground; it will daemonize itself
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck if /lib/inet/nwamd ; then
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck exit $SMF_EXIT_OK
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck else
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck exit $SMF_EXIT_ERR_FATAL
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck fi
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck ;;
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck'stop')
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # We need to make the dummy process we created above stop.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey smf_configure_ip
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ $? = "1" ] ; then
4491554a16671d144d7bd5b16c8c9b9a26c974e2Anurag S. Maskey echo "stop" > $VOL_NWAM_PATH/nwam_blocked
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey exit $SMF_EXIT_OK
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck /usr/bin/pkill -z `smf_zonename` nwamd
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # Restore the non-NWAM settings.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $NWAMCFG list loc Legacy >/dev/null 2>&1
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey if [ $? -eq 1 ]; then
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey echo "No Legacy location to revert to!"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey exit $SMF_EXIT_OK
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey fi
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey revert_to_legacy_loc
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # remove the location property group
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCCFG -s $NET_LOC_FMRI delpg location
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck ;;
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck
afc7d54587eb70585fcc35b5f933cc1ed713d87amh'-u')
afc7d54587eb70585fcc35b5f933cc1ed713d87amh # After we run this part of the script upon the next reboot
afc7d54587eb70585fcc35b5f933cc1ed713d87amh # network/physical:default will be enabled and
afc7d54587eb70585fcc35b5f933cc1ed713d87amh # network/physical:nwam will be disabled.
afc7d54587eb70585fcc35b5f933cc1ed713d87amh # There are various other parts of the system (nscd, nfs) that
afc7d54587eb70585fcc35b5f933cc1ed713d87amh # depend on continuing to have a working network. For this
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey # reason we don't change the network configuration immediately.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey #
afc7d54587eb70585fcc35b5f933cc1ed713d87amh # Disable network/physical temporarily and make sure that will
afc7d54587eb70585fcc35b5f933cc1ed713d87amh # be enabled on reboot.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCADM disable -st $NET_PHYS_FMRI
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCCFG -s $NET_PHYS_FMRI setprop general/enabled=true
afc7d54587eb70585fcc35b5f933cc1ed713d87amh
afc7d54587eb70585fcc35b5f933cc1ed713d87amh # If nwam is online then make sure that it's temporarily enabled.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey nwam_online=`$SVCPROP -t -p restarter/state $NET_NWAM_FMRI`
afc7d54587eb70585fcc35b5f933cc1ed713d87amh if [ $? -eq 0 ]; then
afc7d54587eb70585fcc35b5f933cc1ed713d87amh set -- $nwam_online
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey [ $3 = "online" ] && $SVCADM enable -st $NET_NWAM_FMRI
afc7d54587eb70585fcc35b5f933cc1ed713d87amh fi
afc7d54587eb70585fcc35b5f933cc1ed713d87amh
afc7d54587eb70585fcc35b5f933cc1ed713d87amh # Set nwam so that it won't be enabled upon reboot.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey $SVCCFG -s $NET_NWAM_FMRI setprop general/enabled=false
afc7d54587eb70585fcc35b5f933cc1ed713d87amh exit 0
afc7d54587eb70585fcc35b5f933cc1ed713d87amh ;;
afc7d54587eb70585fcc35b5f933cc1ed713d87amh
afc7d54587eb70585fcc35b5f933cc1ed713d87amh'-c')
afc7d54587eb70585fcc35b5f933cc1ed713d87amh # Nothing to do for sysidtool
afc7d54587eb70585fcc35b5f933cc1ed713d87amh exit 0
afc7d54587eb70585fcc35b5f933cc1ed713d87amh ;;
afc7d54587eb70585fcc35b5f933cc1ed713d87amh
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck*)
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck echo "Usage: $0 { start | stop | refresh }"
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck exit $SMF_EXIT_ERR_FATAL
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeck ;;
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeckesac
d71dbb732372504daff1f1783bc0d8864ce9bd50jbeckexit $SMF_EXIT_OK