#!/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