#!/bin/ksh -p
#  exp_postproc: post processing of explorer output (IP address masking)
#  $Id: //depot/stable/explorer/lib/exp_postproc#2 $
EXP_POSTPROC_VERSION='$Revision: #2 $'
export EXP_POSTPROC_VERSION

EXP_VERSION=4.0

if [ -n "${DO_VERSION}" ]
then
    LIB=${0##*/}
    echo "${LIB} version: ${EXP_POSTPROC_VERSION}"
    exit
fi

# Source common functions
. ${EXP_LIB}/exp_common

# Must have EXP_TARGET
require 'test -n "${EXP_TARGET}"'
require 'cd "${EXP_TARGET}"'

# Set default regular expression and blank
test -z "${EXP_IPV4_RE}" && {
    EXP_IPV4_RE="[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?"
    EXP_IPV4_BLANK="xxx.xxx.xxx.xxx"
}

# Mask IPv4 addresses if necessary
expr "${EXP_WHICH}" : ".*!ipaddr.*" >/dev/null && {
    # logfile NOTNOISE "masking IPv4 addresses"
    TEXT=`gettext "masking IPv4 addresses"`
    logfile NOTNOISE "${TEXT}"

    find . -type f -print | while read file
    do
	base=${file##*/}
	dir=${file%/*}

	# Files & directories not to mask (version numbers not IP addresses)
	[ "$base" = "contents" ]        && continue
	[ "$base" = "prtconf-vp.out" ]  && continue
	[ "$dir"  = "./sysconfig/drv" ] && continue
	[ "$dir"  = "./disks/sonoma/raidutil-i" ]  && continue

	if [ -f "$file" ]
	then
	    cp $file $file.tmp
	    nawk "{ gsub(/${EXP_IPV4_RE}/, \"${EXP_IPV4_BLANK}\"); print }" $file.tmp >$file.tmp2 2>/dev/null

	    # Only overwrite if nawk succeeds
	    [ "$?" -eq 0 ] && mv $file.tmp2 $file
	    rm -f $file.tmp $file.tmp2
	fi
    done
}
