119304Speter#!/bin/ksh -p
219304Speter#
319304Speter# CDDL HEADER START
419304Speter#
519304Speter# The contents of this file are subject to the terms of the
619304Speter# Common Development and Distribution License (the "License").
719304Speter# You may not use this file except in compliance with the License.
819304Speter#
919304Speter# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1019304Speter# or http://www.opensolaris.org/os/licensing.
1119304Speter# See the License for the specific language governing permissions
1219304Speter# and limitations under the License.
1319304Speter#
1419304Speter# When distributing Covered Code, include this CDDL HEADER in each
1519304Speter# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1619304Speter# If applicable, add the following below this CDDL HEADER, with the
1719304Speter# fields enclosed by brackets "[]" replaced with your own identifying
1819304Speter# information: Portions Copyright [yyyy] [name of copyright owner]
1919304Speter#
2019304Speter# CDDL HEADER END
2119304Speter#
2219304Speter
2319304Speter#
2419304Speter# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2519304Speter# Use is subject to license terms.
2619304Speter#
2719304Speter
2819304Speter#ident	"%Z%%M%	%I%	%E% SMI"
2919304Speter
3019304Speter############################################################################
3119304Speter# ASSERTION:
3219304Speter#	To verify gid of the child process.
3319304Speter#
3419304Speter# SECTION: Scripting
3519304Speter#
3619304Speter############################################################################
3719304Speter
3819304Speterif [ $# != 1 ]; then
3919304Speter	echo expected one argument: '<'dtrace-path'>'
4019304Speter	exit 2
4119304Speterfi
4219304Speter
4319304Speterdtrace=$1
4419304Speterbname=`/bin/basename $0`
4519304Speterdfilename=/var/tmp/$bname.$$
4619304Speter
4719304Speter## Create .d file
4819304Speter##########################################################################
4919304Spetercat > $dfilename <<-EOF
5019304Speter#!$dtrace -qs
5119304Speter
5219304Speter
5319304SpeterBEGIN
5419304Speter/\$gid != \$1/
5519304Speter{
5619304Speter	exit(1);
5719304Speter}
5819304Speter
5919304SpeterBEGIN
6019304Speter/\$gid == \$1/
6119304Speter{
6219304Speter	exit(0);
6319304Speter}
6419304SpeterEOF
6519304Speter##########################################################################
6619304Speter
6719304Speter
6819304Speter#Call dtrace -C -s <.d>
6919304Speter
7019304Speterchmod 555 $dfilename
7119304Speter
7219304Spetergroupid=`ps -o pid,gid | grep "$$ " | awk '{print $2}' 2>/dev/null`
7319304Speterif [ $? -ne 0 ]; then
7419304Speter	print -u2 "unable to get uid of the current process with pid = $$"
7519304Speter	exit 1
7619304Speterfi
7719304Speter
7819304Speter$dfilename $groupid >/dev/null 2>&1
7919304Speter
8019304Speterif [ $? -ne 0 ]; then
8119304Speter	print -u2 "Error in executing $dfilename"
8219304Speter	exit 1
8319304Speterfi
8419304Speter
8519304Speter#/bin/rm -f $dfilename
8619304Speterexit 0
8719304Speter