i.sock2path revision 4eaa471005973e11a6110b69fe990530b3b95a38
#!/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
# Remove AF_INET-specific /dev/rts entry introduced in 2.6
grep -v "[ ]*24[ ]\{1,\}4[ ]\{1,\}2[ ]\{1,\}/dev/rts" \
$dest > /tmp/d.$$
cp /tmp/d.$$ $dest
rm -f /tmp/d.$$
grep '/dev/rts' $dest > /dev/null 2>&1
if [ $? != 0 ] ; then
echo >> $dest
grep '/dev/rts' $src >> $dest
fi
grep '/dev/tcp6' $dest > /dev/null 2>&1
if [ $? != 0 ] ; then
echo >> $dest
grep '/dev/tcp6' $src >> $dest
fi
grep '/dev/udp6' $dest > /dev/null 2>&1
if [ $? != 0 ] ; then
echo >> $dest
grep '/dev/udp6' $src >> $dest
fi
grep '/dev/rawip6' $dest > /dev/null 2>&1
if [ $? != 0 ] ; then
echo >> $dest
grep '/dev/rawip6' $src >> $dest
fi
grep '/dev/sctp\>' $dest > /dev/null 2>&1
if [ $? != 0 ] ; then
grep '/dev/sctp\>' $src >> $dest
fi
grep '/dev/sctp6' $dest > /dev/null 2>&1
if [ $? != 0 ] ; then
grep '/dev/sctp6' $src >> $dest
fi
grep '/dev/keysock' $dest > /dev/null 2>&1
if [ $? != 0 ] ; then
echo >> $dest
grep '/dev/keysock' $src >> $dest
fi
grep '/dev/nca' $dest > /dev/null 2>&1
if [ $? != 0 ] ; then
echo >> $dest
grep '/dev/nca' $src >> $dest
fi
grep '/dev/spdsock' $dest > /dev/null 2>&1
if [ $? != 0 ] ; then
echo >> $dest
grep '/dev/spdsock' $src >> $dest
fi
grep 'trill' $dest > /dev/null 2>&1
if [ $? != 0 ] ; then
echo >> $dest
grep 'trill' $src >> $dest
fi
grep "^#" $dest | awk '{
if ($5=="Path") {print $0 "|Module"}
else {print $0}}' > /tmp/i.$$
grep -v "^#" $dest | awk '{
if ($4=="/dev/tcp" || $4=="/dev/tcp6") {
print "\t" $1 "\t" $2 "\t" $3 "\ttcp"
} else if ($4=="/dev/udp" || $4=="/dev/udp6") {
print "\t" $1 "\t" $2 "\t" $3 "\tudp"
} else if ($4=="/dev/rawip" || $4=="/dev/rawip6") {
print "\t" $1 "\t" $2 "\t" $3 "\ticmp"
} else if ($4=="/dev/sctp" || $4=="/dev/sctp6") {
print "\t" $1 "\t" $2 "\t" $3 "\tsocksctp"
} else if ($4=="/dev/rts") {
print "\t" $1 "\t" $2 "\t" $3 "\trts"
} else if ($4=="/dev/sdp" || $4=="/dev/sdp6") {
print "\t" $1 "\t" $2 "\t" $3 "\tsocksdp"
} else {print $0}}' >> /tmp/i.$$
cp /tmp/i.$$ $dest
rm -f /tmp/i.$$
# Set correct permissions
chmod 0644 $dest
fi
done
exit 0