summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/Makefile.lint1
-rw-r--r--usr/src/cmd/agents/snmp/snmprelayd/Makefile19
-rw-r--r--usr/src/cmd/agents/snmp/snmprelayd/snmpdx.xml99
-rwxr-xr-xusr/src/cmd/agents/snmp/snmprelayd/svc-snmpdx57
-rw-r--r--usr/src/cmd/initpkg/init.d/init.snmpdx27
-rw-r--r--usr/src/cmd/initpkg/rc0.d/mk.rc0.d.sh10
-rw-r--r--usr/src/cmd/initpkg/rc1.d/mk.rc1.d.sh10
-rw-r--r--usr/src/cmd/initpkg/rc2.d/mk.rc2.d.sh10
-rw-r--r--usr/src/cmd/initpkg/rc3.d/mk.rc3.d.sh10
-rw-r--r--usr/src/cmd/initpkg/rcS.d/mk.rcS.d.sh18
-rw-r--r--usr/src/cmd/rpcbind/bind.xml85
-rw-r--r--usr/src/cmd/rpcbind/rpcb_check.c10
-rw-r--r--usr/src/cmd/rpcbind/rpcbind.c72
-rw-r--r--usr/src/cmd/rpcbind/rpcbind.h21
-rw-r--r--usr/src/cmd/sendmail/cf/Makefile13
-rw-r--r--usr/src/cmd/sendmail/cf/cf/Makefile4
-rw-r--r--usr/src/cmd/sendmail/cf/cf/local.mc44
-rw-r--r--usr/src/cmd/sendmail/lib/smtp-sendmail15
-rw-r--r--usr/src/cmd/sendmail/lib/smtp-sendmail.xml66
-rw-r--r--usr/src/cmd/svc/profile/Makefile2
-rw-r--r--usr/src/cmd/svc/profile/generic_limited_net.xml153
-rw-r--r--usr/src/cmd/svc/profile/generic_open.xml70
-rw-r--r--usr/src/cmd/svc/profile/inetd_generic.xml45
-rw-r--r--usr/src/cmd/svc/seed/Makefile24
-rw-r--r--usr/src/cmd/svc/shell/Makefile20
-rw-r--r--usr/src/cmd/svc/shell/netservices.sh312
-rw-r--r--usr/src/cmd/syslogd/Makefile.com15
-rw-r--r--usr/src/cmd/syslogd/conf.c11
-rw-r--r--usr/src/cmd/syslogd/conf.h11
-rw-r--r--usr/src/cmd/syslogd/i386/Makefile10
-rw-r--r--usr/src/cmd/syslogd/list.c13
-rw-r--r--usr/src/cmd/syslogd/queue.c35
-rw-r--r--usr/src/cmd/syslogd/syslogd.c426
-rw-r--r--usr/src/cmd/syslogd/syslogd.dfl23
-rw-r--r--usr/src/cmd/syslogd/syslogd.h15
-rw-r--r--usr/src/cmd/syslogd/system-log86
-rw-r--r--usr/src/cmd/syslogd/system-log.xml75
-rw-r--r--usr/src/lib/libsecdb/auth_attr.txt7
-rw-r--r--usr/src/pkgdefs/SUNWcsr/postinstall22
-rw-r--r--usr/src/pkgdefs/SUNWcsr/preinstall18
-rw-r--r--usr/src/pkgdefs/SUNWcsr/prototype_com1
-rw-r--r--usr/src/pkgdefs/SUNWcsu/prototype_com207
-rw-r--r--usr/src/pkgdefs/SUNWsacom/Makefile2
-rw-r--r--usr/src/pkgdefs/SUNWsacom/pkginfo.tmpl2
-rw-r--r--usr/src/pkgdefs/SUNWsacom/postinstall21
-rw-r--r--usr/src/pkgdefs/SUNWsacom/preinstall22
-rw-r--r--usr/src/pkgdefs/SUNWsacom/prototype_com24
-rw-r--r--usr/src/pkgdefs/SUNWsndmr/prototype_com10
48 files changed, 1475 insertions, 798 deletions
diff --git a/usr/src/Makefile.lint b/usr/src/Makefile.lint
index 35250a419f..8e3a183ae2 100644
--- a/usr/src/Makefile.lint
+++ b/usr/src/Makefile.lint
@@ -249,6 +249,7 @@ COMMON_SUBDIRS = \
cmd/sync \
cmd/syseventadm \
cmd/syseventd \
+ cmd/syslogd \
cmd/tabs \
cmd/tee \
cmd/th_tools \
diff --git a/usr/src/cmd/agents/snmp/snmprelayd/Makefile b/usr/src/cmd/agents/snmp/snmprelayd/Makefile
index 285b84c032..af0e29b0a7 100644
--- a/usr/src/cmd/agents/snmp/snmprelayd/Makefile
+++ b/usr/src/cmd/agents/snmp/snmprelayd/Makefile
@@ -2,9 +2,8 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
+# 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.
@@ -13,13 +12,13 @@
#
# 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
+# 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 2005 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "%Z%%M% %I% %E% SMI"
@@ -143,6 +142,13 @@ PARSER= $(PARSER_HOME)/$(BIN)/mibcodegen
# all
#
+MANIFEST = snmpdx.xml
+ROOTMANIFESTDIR = $(ROOTSVCAPPLICATIONMANAGEMENT)
+SVCMETHOD = svc-snmpdx
+
+$(ROOTMANIFEST) := FILEMODE = 0444
+$(ROOTSVCMETHOD) := FILEMODE = 0555
+
FILEMODE = 0644
$(CONFLOC)/snmpdx.acl := FILEMODE = 0600
GROUP = sys
@@ -151,8 +157,7 @@ CLOBBERFILES= y.tab.c
all: $(SOURCES.h) $(BINPROG) $(CONFIG_FILES)
-install: all $(OPTPROG) $(CONFRULE)
-
+install: all $(OPTPROG) $(CONFRULE) $(ROOTMANIFEST) $(ROOTSVCMETHOD)
$(BINPROG): $(BIN) $(OBJECTS) $(BIN)/config.o $(MYLIBS)
$(CC) -o $(BINPROG) $(LDFLAGS) $(OBJECTS) $(BIN)/config.o \
diff --git a/usr/src/cmd/agents/snmp/snmprelayd/snmpdx.xml b/usr/src/cmd/agents/snmp/snmprelayd/snmpdx.xml
new file mode 100644
index 0000000000..fa872522ec
--- /dev/null
+++ b/usr/src/cmd/agents/snmp/snmprelayd/snmpdx.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<!--
+ 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 2006 Sun Microsystems, Inc. All rights reserved.
+ Use is subject to license terms.
+
+ ident "%Z%%M% %I% %E% SMI"
+
+ Service manifest for the Sun Solstice Enterprise Master Agent
+-->
+
+<service_bundle type='manifest' name='SUNWsasnm:snmpdx'>
+
+<service
+ name='application/management/snmpdx'
+ type='service'
+ version='1'>
+
+ <create_default_instance enabled='false' />
+
+ <single_instance />
+
+ <!--
+ seaport needs to run before we do in order to pick an
+ available port for us to bind on
+ -->
+ <dependency
+ name='seaport'
+ grouping='require_all'
+ restart_on='none'
+ type='service'>
+ <service_fmri
+ value='svc:/application/management/seaport' />
+ </dependency>
+
+ <!-- conversion from rc3.d script: extending multi-user-server mode -->
+ <dependent
+ name='snmpdx_multi-user-server'
+ grouping='optional_all'
+ restart_on='none'>
+ <service_fmri value='svc:/milestone/multi-user-server' />
+ </dependent>
+
+ <exec_method
+ type='method'
+ name='start'
+ exec='/lib/svc/method/svc-snmpdx'
+ timeout_seconds='60'>
+ </exec_method>
+
+ <exec_method
+ type='method'
+ name='stop'
+ exec=':kill'
+ timeout_seconds='10'>
+ </exec_method>
+
+ <property_group name='general' type='framework'>
+ <!-- to stop/start snmpdx -->
+ <propval name='action_authorization' type='astring'
+ value='solaris.smf.manage.snmpdx' />
+ </property_group>
+
+ <template>
+ <common_name>
+ <loctext xml:lang='C'>
+ Sun Solstice Enterprise Master Agent
+ </loctext>
+ </common_name>
+
+ <documentation>
+ <manpage title='snmpdx' section='1M'
+ manpath='/usr/share/man/' />
+ </documentation>
+
+ </template>
+
+</service>
+
+</service_bundle>
diff --git a/usr/src/cmd/agents/snmp/snmprelayd/svc-snmpdx b/usr/src/cmd/agents/snmp/snmprelayd/svc-snmpdx
new file mode 100755
index 0000000000..c4d2b57579
--- /dev/null
+++ b/usr/src/cmd/agents/snmp/snmprelayd/svc-snmpdx
@@ -0,0 +1,57 @@
+#!/sbin/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 2006 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# ident "%Z%%M% %I% %E% SMI"
+#
+# Start method script for the Sun Solstice Enterprise Master Agent
+#
+
+. /lib/svc/share/smf_include.sh
+
+SNMP_CONFDIR=/etc/snmp/conf
+
+SNMP_RSRC=${SNMP_CONFDIR}/snmpdx.rsrc
+SNMP_BIN=/usr/lib/snmp/snmpdx
+
+if [ ! -f $SNMP_RSRC ]; then
+ echo "Configuration file $SNMP_RSRC does not exist. Not starting snmpdx"
+ exit $SMF_EXIT_ERR_CONFIG
+fi
+
+if [ ! -x $SNMP_BIN ]; then
+ echo "$SNMP_BIN not found. Not starting snmpdx"
+ exit $SMF_EXIT_ERR_CONFIG
+fi
+
+if /usr/bin/egrep -sv '^[ ]*(#|$)' ${SNMP_RSRC} 2> /dev/null ; then
+ :
+else
+ # Do not start snmpdx if snmpdx.rsrc contents are
+ # trivial.
+ echo "$SNMP_RSRC contains no definitions. Not starting snmpdx."
+ exit $SMF_EXIT_ERR_CONFIG
+fi
+
+${SNMP_BIN} -y -c ${SNMP_CONFDIR}
+exit $SMF_EXIT_OK
diff --git a/usr/src/cmd/initpkg/init.d/init.snmpdx b/usr/src/cmd/initpkg/init.d/init.snmpdx
index 0e3bee28d7..933facec4b 100644
--- a/usr/src/cmd/initpkg/init.d/init.snmpdx
+++ b/usr/src/cmd/initpkg/init.d/init.snmpdx
@@ -3,9 +3,8 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
+# 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.
@@ -20,34 +19,18 @@
#
# CDDL HEADER END
#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# ident "%Z%%M% %I% %E% SMI"
-SNMP_RSRC=/etc/snmp/conf/snmpdx.rsrc
-
case "$1" in
'start')
- if [ -f ${SNMP_RSRC} -a -x /usr/lib/snmp/snmpdx ]; then
- if /usr/bin/egrep -v '^[ ]*(#|$)' ${SNMP_RSRC} > \
- /dev/null 2>&1; then
- /usr/lib/snmp/snmpdx -y -c /etc/snmp/conf
- else
- #
- # Do not start snmpdx if snmpdx.rsrc contents are
- # trivial.
- #
- exit 0
- fi
-
- fi
+ svcadm enable -t svc:/application/management/snmpdx:default
;;
'stop')
- /usr/bin/pkill -9 -x -u 0 -z ${_INIT_ZONENAME:=`/sbin/zonename`} \
- '(snmpdx|snmpv2d|mibiisa)'
+ svcadm disable -t svc:/application/management/snmpdx:default
;;
*)
diff --git a/usr/src/cmd/initpkg/rc0.d/mk.rc0.d.sh b/usr/src/cmd/initpkg/rc0.d/mk.rc0.d.sh
index 6f1ac0473b..fda0fd5559 100644
--- a/usr/src/cmd/initpkg/rc0.d/mk.rc0.d.sh
+++ b/usr/src/cmd/initpkg/rc0.d/mk.rc0.d.sh
@@ -21,8 +21,6 @@
#
# Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
# All Rights Reserved
-
-
#
# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
@@ -32,8 +30,6 @@
COMMON_STOPLST="27boot.server"
-INIT_STOPLST="07snmpdx"
-
INSDIR=${ROOT}/etc/rc0.d
if [ ! -d ${INSDIR} ]
@@ -49,9 +45,3 @@ do
rm -f ${INSDIR}/K$f
ln ${ROOT}/etc/init.d/${name} ${INSDIR}/K$f
done
-for f in ${INIT_STOPLST}
-do
- name=`echo $f | sed -e 's/^..//'`
- rm -f ${INSDIR}/K$f
- ln ${ROOT}/etc/init.d/init.${name} ${INSDIR}/K$f
-done
diff --git a/usr/src/cmd/initpkg/rc1.d/mk.rc1.d.sh b/usr/src/cmd/initpkg/rc1.d/mk.rc1.d.sh
index 0f6188e6d2..19119df66c 100644
--- a/usr/src/cmd/initpkg/rc1.d/mk.rc1.d.sh
+++ b/usr/src/cmd/initpkg/rc1.d/mk.rc1.d.sh
@@ -21,8 +21,6 @@
#
# Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
# All rights reserved
-
-
#
# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
@@ -32,8 +30,6 @@
COMMON_STOPLST="27boot.server"
-INIT_STOPLST="07snmpdx"
-
INSDIR=${ROOT}/etc/rc1.d
if [ ! -d ${INSDIR} ]
@@ -49,9 +45,3 @@ do
rm -f ${INSDIR}/K$f
ln ${ROOT}/etc/init.d/${name} ${INSDIR}/K$f
done
-for f in ${INIT_STOPLST}
-do
- name=`echo $f | sed -e 's/^..//'`
- rm -f ${INSDIR}/K$f
- ln ${ROOT}/etc/init.d/init.${name} ${INSDIR}/K$f
-done
diff --git a/usr/src/cmd/initpkg/rc2.d/mk.rc2.d.sh b/usr/src/cmd/initpkg/rc2.d/mk.rc2.d.sh
index de66cc1174..9f76efdd90 100644
--- a/usr/src/cmd/initpkg/rc2.d/mk.rc2.d.sh
+++ b/usr/src/cmd/initpkg/rc2.d/mk.rc2.d.sh
@@ -21,8 +21,6 @@
#
# Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
# All Rights Reserved
-
-
#
# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
@@ -39,8 +37,6 @@ COMMON_STARTLST="\
STOPLST="27boot.server"
-INIT_STOPLST="07snmpdx"
-
INSDIR=${ROOT}/etc/rc2.d
if [ ! -d ${INSDIR} ]
@@ -56,12 +52,6 @@ do
rm -f ${INSDIR}/K$f
ln ${ROOT}/etc/init.d/${name} ${INSDIR}/K$f
done
-for f in ${INIT_STOPLST}
-do
- name=`echo $f | sed -e 's/^..//'`
- rm -f ${INSDIR}/K$f
- ln ${ROOT}/etc/init.d/init.${name} ${INSDIR}/K$f
-done
for f in ${COMMON_STARTLST}
do
name=`echo $f | sed -e 's/^..//'`
diff --git a/usr/src/cmd/initpkg/rc3.d/mk.rc3.d.sh b/usr/src/cmd/initpkg/rc3.d/mk.rc3.d.sh
index 22193635ce..0510e25c2f 100644
--- a/usr/src/cmd/initpkg/rc3.d/mk.rc3.d.sh
+++ b/usr/src/cmd/initpkg/rc3.d/mk.rc3.d.sh
@@ -21,8 +21,6 @@
#
# Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
# All Rights Reserved
-
-
#
# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
@@ -31,8 +29,6 @@
STARTLST="16boot.server"
-INIT_STARTLST="76snmpdx"
-
INSDIR=${ROOT}/etc/rc3.d
if [ ! -d ${INSDIR} ]
@@ -48,9 +44,3 @@ do
rm -f ${INSDIR}/S$f
ln ${ROOT}/etc/init.d/${name} ${INSDIR}/S$f
done
-for f in ${INIT_STARTLST}
-do
- name=`echo $f | sed -e 's/^..//'`
- rm -f ${INSDIR}/S$f
- ln ${ROOT}/etc/init.d/init.${name} ${INSDIR}/S$f
-done
diff --git a/usr/src/cmd/initpkg/rcS.d/mk.rcS.d.sh b/usr/src/cmd/initpkg/rcS.d/mk.rcS.d.sh
index 5fff1cf855..0787bbf60e 100644
--- a/usr/src/cmd/initpkg/rcS.d/mk.rcS.d.sh
+++ b/usr/src/cmd/initpkg/rcS.d/mk.rcS.d.sh
@@ -19,23 +19,17 @@
#
# CDDL HEADER END
#
-#
# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
# All rights reserved.
#
-#
# ident "%Z%%M% %I% %E% SMI"
-COMMON_STARTLST=""
-
COMMON_STOPLST="\
27boot.server"
-INIT_STOPLST="07snmpdx"
-
INSDIR=${ROOT}/etc/rcS.d
if [ ! -d ${INSDIR} ]
@@ -51,15 +45,3 @@ do
rm -f ${INSDIR}/K$f
ln ${ROOT}/etc/init.d/${name} ${INSDIR}/K$f
done
-for f in ${INIT_STOPLST}
-do
- name=`echo $f | sed -e 's/^..//' | sed -e 's/\.sh$//'`
- rm -f ${INSDIR}/K$f
- ln ${ROOT}/etc/init.d/init.${name} ${INSDIR}/K$f
-done
-for f in ${COMMON_STARTLST}
-do
- name=`echo $f | sed -e 's/^..//' | sed -e 's/\.sh$//`
- rm -f ${INSDIR}/S$f
- ln ${ROOT}/etc/init.d/${name} ${INSDIR}/S$f
-done
diff --git a/usr/src/cmd/rpcbind/bind.xml b/usr/src/cmd/rpcbind/bind.xml
index 5ddf2592e4..687ce1d12d 100644
--- a/usr/src/cmd/rpcbind/bind.xml
+++ b/usr/src/cmd/rpcbind/bind.xml
@@ -2,38 +2,36 @@
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<!--
- Copyright 2006 Sun Microsystems, Inc. All rights reserved.
- Use is subject to license terms.
-
-
- 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
-
-
- ident "%Z%%M% %I% %E% SMI"
-
- NOTE: This service manifest is not editable; its contents will
- be overwritten by package or patch operations, including
- operating system upgrade. Make customizations in a different
- file.
-
- Service manifest for rpcbind
+ 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 2006 Sun Microsystems, Inc. All rights reserved.
+ Use is subject to license terms.
+
+ ident "%Z%%M% %I% %E% SMI"
+
+ Service manifest for rpcbind
+
+ NOTE: This service manifest is not editable; its contents will
+ be overwritten by package or patch operations, including
+ operating system upgrade. Make customizations in a different
+ file.
-->
<service_bundle type='manifest' name='SUNWcsr:rpcbind'>
@@ -152,8 +150,31 @@
name='allow_indirect'
type='boolean'
value='true' />
+
+ <!-- local_only specifies whether rpcbind should allow
+ calls from hosts other than the localhost.
+ Setting local_only to true will make rpcbind serve
+ only those requests that come in from the local machine.
+ the default value is false, i.e. allow connections
+ from other systems too.
+ -->
+ <propval
+ name='local_only'
+ type='boolean'
+ value='false' />
+
+ <!-- to configure rpc/bind -->
+ <propval name='value_authorization' type='astring'
+ value='solaris.smf.value.rpc.bind' />
</property_group>
+ <!-- Authorization -->
+ <property_group name='general' type='framework'>
+ <!-- to enable/disable rpc/bind -->
+ <propval name='action_authorization' type='astring'
+ value='solaris.smf.manage.rpc.bind' />
+ </property_group>
+
<stability value='Unstable' />
<template>
diff --git a/usr/src/cmd/rpcbind/rpcb_check.c b/usr/src/cmd/rpcbind/rpcb_check.c
index 7cda44f93a..10aade0b12 100644
--- a/usr/src/cmd/rpcbind/rpcb_check.c
+++ b/usr/src/cmd/rpcbind/rpcb_check.c
@@ -2,9 +2,8 @@
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
+ * 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.
@@ -43,7 +42,7 @@
* Single function for pmap* and rpcb*;
* Local transport checks made using localxprt().
*
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -220,7 +219,8 @@ rpcb_check(SVCXPRT *transp, rpcproc_t procnum, boolean_t ispmap)
const char *addr_string = sgen_toa(svc_getgencaller(transp));
if (!localxprt(transp, ispmap) &&
- hosts_ctl("rpcbind", addr_string, addr_string, "") == 0) {
+ (local_only ||
+ hosts_ctl("rpcbind", addr_string, addr_string, "") == 0)) {
res = B_FALSE;
}
}
diff --git a/usr/src/cmd/rpcbind/rpcbind.c b/usr/src/cmd/rpcbind/rpcbind.c
index 89d2d5714d..c0048484f0 100644
--- a/usr/src/cmd/rpcbind/rpcbind.c
+++ b/usr/src/cmd/rpcbind/rpcbind.c
@@ -118,6 +118,7 @@ char *loopback_vc_ord; /* COTS_ORD loopback transport, for set and unset */
boolean_t verboselog = B_FALSE;
boolean_t wrap_enabled = B_FALSE;
boolean_t allow_indirect = B_TRUE;
+boolean_t local_only = B_FALSE;
/* Local Variable */
static int warmstart = 0; /* Grab a old copy of registrations */
@@ -945,58 +946,41 @@ logthread(void *arg)
/* NOTREACHED */
}
-/*
- * Initialize: read the configuration parameters from the default file.
- */
-static void
-rpcb_check_init(void)
+static boolean_t
+get_smf_prop(const char *var, boolean_t def_val)
{
- thread_t tid;
scf_simple_prop_t *prop;
- uint8_t *bool;
-
- if ((prop = scf_simple_prop_get(NULL, NULL, "config",
- "enable_tcpwrappers")) != NULL) {
+ uint8_t *val;
+ boolean_t res = def_val;
- if ((bool = scf_simple_prop_next_boolean(prop)) != NULL) {
- wrap_enabled = (*bool == 0) ? B_FALSE : B_TRUE;
- } else {
- syslog(LOG_ALERT, "enable_tcpwrappers no value %s",
- scf_strerror(scf_error()));
- }
+ prop = scf_simple_prop_get(NULL, NULL, "config", var);
+ if (prop) {
+ if ((val = scf_simple_prop_next_boolean(prop)) != NULL)
+ res = (*val == 0) ? B_FALSE : B_TRUE;
scf_simple_prop_free(prop);
- } else {
- syslog(LOG_ALERT, "unable to get enable_tcpwrappers %s",
- scf_strerror(scf_error()));
}
- if ((prop = scf_simple_prop_get(NULL, NULL, "config",
- "verbose_logging")) != NULL) {
- if ((bool = scf_simple_prop_next_boolean(prop)) != NULL) {
- verboselog = (*bool == 0) ? B_FALSE : B_TRUE;
- } else {
- syslog(LOG_ALERT, "verboselog no value %s",
- scf_strerror(scf_error()));
- }
- scf_simple_prop_free(prop);
- } else {
- syslog(LOG_ALERT, "unable to get verbose_logging %s",
- scf_strerror(scf_error()));
+ if (prop == NULL || val == NULL) {
+ syslog(LOG_ALERT, "no value for config/%s (%s). "
+ "Using default \"%s\"", var, scf_strerror(scf_error()),
+ def_val ? "true" : "false");
}
- if ((prop = scf_simple_prop_get(NULL, NULL, "config",
- "allow_indirect")) != NULL) {
- if ((bool = scf_simple_prop_next_boolean(prop)) != NULL) {
- allow_indirect = (*bool == 0) ? B_FALSE : B_TRUE;
- } else {
- syslog(LOG_ALERT, "allow_indirect no value %s",
- scf_strerror(scf_error()));
- }
- scf_simple_prop_free(prop);
- } else {
- syslog(LOG_ALERT, "unable to get allow_indirect %s",
- scf_strerror(scf_error()));
- }
+ return (res);
+}
+
+/*
+ * Initialize: read the configuration parameters from SMF
+ */
+static void
+rpcb_check_init(void)
+{
+ thread_t tid;
+
+ wrap_enabled = get_smf_prop("enable_tcpwrappers", B_FALSE);
+ verboselog = get_smf_prop("verbose_logging", B_FALSE);
+ allow_indirect = get_smf_prop("allow_indirect", B_TRUE);
+ local_only = get_smf_prop("local_only", B_FALSE);
if (wrap_enabled)
(void) thr_create(NULL, 0, logthread, NULL, THR_DETACHED, &tid);
diff --git a/usr/src/cmd/rpcbind/rpcbind.h b/usr/src/cmd/rpcbind/rpcbind.h
index 7762af3bf9..477079a00f 100644
--- a/usr/src/cmd/rpcbind/rpcbind.h
+++ b/usr/src/cmd/rpcbind/rpcbind.h
@@ -2,9 +2,8 @@
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
+ * 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.
@@ -18,9 +17,8 @@
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
- */
-/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */
@@ -82,21 +80,24 @@ extern boolean_t localxprt(SVCXPRT *, boolean_t);
extern void qsyslog(int pri, const char *fmt, ...);
extern boolean_t rpcb_check(SVCXPRT *, rpcproc_t, boolean_t);
extern void rpcb_log(boolean_t, SVCXPRT *, rpcproc_t, rpcprog_t, boolean_t);
-extern boolean_t allow_indirect, wrap_enabled, verboselog;
+extern boolean_t allow_indirect, wrap_enabled, verboselog, local_only;
#define svc_getgencaller(transp) \
((struct sockaddr_gen *)svc_getrpccaller((transp))->buf)
#define RPCB_CHECK(xprt, proc) \
- if (wrap_enabled && !rpcb_check((xprt), (proc), B_FALSE)) \
+ if ((wrap_enabled || local_only) && \
+ !rpcb_check((xprt), (proc), B_FALSE)) \
return
#define PMAP_CHECK(xprt, proc) \
- if (wrap_enabled && !rpcb_check((xprt), (proc), B_TRUE)) \
+ if ((wrap_enabled || local_only) && \
+ !rpcb_check((xprt), (proc), B_TRUE)) \
return
#define PMAP_CHECK_RET(xprt, proc, ret) \
- if (wrap_enabled && !rpcb_check((xprt), (proc), B_TRUE)) \
+ if ((wrap_enabled || local_only) && \
+ !rpcb_check((xprt), (proc), B_TRUE)) \
return (ret)
#define RPCB_LOG(xprt, proc, prog) \
diff --git a/usr/src/cmd/sendmail/cf/Makefile b/usr/src/cmd/sendmail/cf/Makefile
index fc2cfcfcd9..a9e5c995e1 100644
--- a/usr/src/cmd/sendmail/cf/Makefile
+++ b/usr/src/cmd/sendmail/cf/Makefile
@@ -2,9 +2,8 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
+# 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.
@@ -20,7 +19,7 @@
# CDDL HEADER END
#
#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# ident "%Z%%M% %I% %E% SMI"
@@ -30,9 +29,9 @@
include ../../Makefile.cmd
-CFS= sendmail.cf submit.cf
+CFS= sendmail.cf submit.cf local.cf
-SUBCFS= cf/sendmail.cf cf/submit.cf
+SUBCFS= cf/sendmail.cf cf/submit.cf cf/local.cf
COMMONM4FILES= m4/version.m4 m4/cf.m4 m4/cfhead.m4 m4/proto.m4 \
ostype/solaris8.m4 domain/solaris-generic.m4 \
@@ -46,6 +45,8 @@ ROOTETCMAILCF = $(ROOTETCMAIL)/cf
BUILDPARTS = $(ROOTETCMAILCF)/README \
$(ROOTETCMAILCF)/cf/Makefile \
+ $(ROOTETCMAILCF)/cf/local.cf \
+ $(ROOTETCMAILCF)/cf/local.mc \
$(ROOTETCMAILCF)/cf/sendmail.cf \
$(ROOTETCMAILCF)/cf/sendmail.mc \
$(ROOTETCMAILCF)/cf/submit.cf \
diff --git a/usr/src/cmd/sendmail/cf/cf/Makefile b/usr/src/cmd/sendmail/cf/cf/Makefile
index af7576171a..dc4c535dc7 100644
--- a/usr/src/cmd/sendmail/cf/cf/Makefile
+++ b/usr/src/cmd/sendmail/cf/cf/Makefile
@@ -2,7 +2,7 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, (the "License").
+# 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
@@ -48,7 +48,7 @@ RM= /usr/bin/rm -f
test ! -f $@ || $(MV) $@ $@.prev
$(M4) ${CFDIR}/m4/cf.m4 $*.mc > $@
-ALL= sendmail.cf submit.cf
+ALL= sendmail.cf submit.cf local.cf
all: $(ALL)
diff --git a/usr/src/cmd/sendmail/cf/cf/local.mc b/usr/src/cmd/sendmail/cf/cf/local.mc
new file mode 100644
index 0000000000..80b05c8851
--- /dev/null
+++ b/usr/src/cmd/sendmail/cf/cf/local.mc
@@ -0,0 +1,44 @@
+divert(-1)
+#
+# Copyright (c) 1983 Eric P. Allman
+# Copyright (c) 1988, 1993
+# The Regents of the University of California. All rights reserved.
+#
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# ident "%Z%%M% %I% %E% SMI"
+#
+# This is a configuration file for SunOS 5.8 (a.k.a. Solaris 8) and later
+# subsidiary machines. It has support for local and SMTP mail. The
+# confFALLBACK_SMARTHOST macro is enabled, which means that messages will
+# be sent to that host (which is set to mailhost.$m [$m is the local domain])
+# if MX records are unavailable. A short-cut rule is also defined, which
+# says if the recipient host is in the local domain, send to it directly
+# instead of the smart host.
+#
+# Furthermore, this configuration file defines IPv4 localhost-binding
+# addresses for the MTA and MSA daemons causing the daemons to listen to
+# traffic from the local-host only.
+#
+# This configuration file will be chosen by the sendmail start method if
+# the config/local_only property of svc:/network/smtp:sendmail is set to
+# "true". To have the daemons listen to external connections, set
+# config/local_only to "false" and restart sendmail.
+#
+# If you want to customize this file in any other way, copy it to a name
+# appropriate for your environment and do the modifications there.
+
+divert(0)dnl
+VERSIONID(`%W% (Sun) %G%')
+OSTYPE(`solaris8')dnl
+DOMAIN(`solaris-generic')dnl
+define(`confFALLBACK_SMARTHOST', `mailhost$?m.$m$.')dnl
+MAILER(`local')dnl
+MAILER(`smtp')dnl
+FEATURE(`no_default_msa')dnl
+DAEMON_OPTIONS(`NAME=NoMTA4, Family=inet, Addr=127.0.0.1')dnl
+DAEMON_OPTIONS(`Name=MSA4, Family=inet, Addr=127.0.0.1, Port=587, M=E')dnl
+
+LOCAL_NET_CONFIG
+R$* < @ $* .$m. > $* $#esmtp $@ $2.$m $: $1 < @ $2.$m. > $3
diff --git a/usr/src/cmd/sendmail/lib/smtp-sendmail b/usr/src/cmd/sendmail/lib/smtp-sendmail
index 346851075a..4811c9d06e 100644
--- a/usr/src/cmd/sendmail/lib/smtp-sendmail
+++ b/usr/src/cmd/sendmail/lib/smtp-sendmail
@@ -3,9 +3,8 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
+# 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.
@@ -20,8 +19,7 @@
#
# CDDL HEADER END
#
-#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# ident "%Z%%M% %I% %E% SMI"
@@ -93,8 +91,15 @@ case "$1" in
fi
check_queue_interval_syntax $CLIENTQUEUEINTERVAL
CLIENTQUEUEINTERVAL=$answer
+
+ local=`/usr/bin/svcprop -p config/local_only $SMF_FMRI 2>/dev/null`
+ if [ $? = 0 -a "$local" = "true" ]; then
+ OPTIONS="$OPTIONS -C /etc/mail/local.cf"
+ fi
+
/usr/lib/sendmail $MODE -q$QUEUEOPTION$QUEUEINTERVAL $OPTIONS &
/usr/lib/sendmail -Ac -q$CLIENTQUEUEINTERVAL $CLIENTOPTIONS &
+
#
# ETRN_HOSTS should be of the form
# "s1:c1.1,c1.2 s2:c2.1 s3:c3.1,c3.2,c3.3"
diff --git a/usr/src/cmd/sendmail/lib/smtp-sendmail.xml b/usr/src/cmd/sendmail/lib/smtp-sendmail.xml
index 0f400a9936..4246ff654d 100644
--- a/usr/src/cmd/sendmail/lib/smtp-sendmail.xml
+++ b/usr/src/cmd/sendmail/lib/smtp-sendmail.xml
@@ -1,35 +1,34 @@
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--
- Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- Use is subject to license terms.
-
- CDDL HEADER START
-
- The contents of this file are subject to the terms of the
- Common Development and Distribution License, Version 1.0 only
- (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
-
- ident "%Z%%M% %I% %E% SMI"
-
- NOTE: This service manifest is not editable; its contents will
- be overwritten by package or patch operations, including
- operating system upgrade. Make customizations in a different
- file.
+ 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 2006 Sun Microsystems, Inc. All rights reserved.
+ Use is subject to license terms.
+
+ ident "%Z%%M% %I% %E% SMI"
+
+ NOTE: This service manifest is not editable; its contents will
+ be overwritten by package or patch operations, including
+ operating system upgrade. Make customizations in a different
+ file.
-->
<service_bundle type='manifest' name='SUNWsndmr:sendmail'>
@@ -156,6 +155,15 @@
value='solaris.smf.manage.sendmail' />
</property_group>
+ <property_group name='config' type='application'>
+ <propval
+ name='local_only'
+ type='boolean'
+ value='false' />
+ <propval name='value_authorization' type='astring'
+ value='solaris.smf.value.sendmail' />
+ </property_group>
+
<template>
<common_name>
<loctext xml:lang='C'>
diff --git a/usr/src/cmd/svc/profile/Makefile b/usr/src/cmd/svc/profile/Makefile
index 1c86ca7681..4ceafed84e 100644
--- a/usr/src/cmd/svc/profile/Makefile
+++ b/usr/src/cmd/svc/profile/Makefile
@@ -55,8 +55,6 @@ PROFILESRCS = \
PROFILES = $(PROFILESRCS:%=$(ROOTPROFILE)/%)
install: $(PROFILES)
- $(RM) $(ROOTPROFILE)/generic.xml
- $(LN) -s generic_open.xml $(ROOTPROFILE)/generic.xml
$(RM) $(ROOTPROFILE)/platform.xml
# SUNW,Sun-Fire-V890
$(RM) $(ROOTPROFILE)/platform_SUNW,Sun-Fire-V890.xml
diff --git a/usr/src/cmd/svc/profile/generic_limited_net.xml b/usr/src/cmd/svc/profile/generic_limited_net.xml
index faa6b56d05..509d46b4c7 100644
--- a/usr/src/cmd/svc/profile/generic_limited_net.xml
+++ b/usr/src/cmd/svc/profile/generic_limited_net.xml
@@ -1,37 +1,35 @@
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<!--
- Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- Use is subject to license terms.
-
- CDDL HEADER START
-
- The contents of this file are subject to the terms of the
- Common Development and Distribution License, Version 1.0 only
- (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
+ 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 2006 Sun Microsystems, Inc. All rights reserved.
+ Use is subject to license terms.
ident "%Z%%M% %I% %E% SMI"
- The purpose of the limited_net profile is to provide a set of active
- services that allow one to connect to the machine via ssh (requires
- sshd,) to be authenticated (requires rpc,) and to access network
- filesystems (requires nfs.) The services which are deactivated here
- are those that are at odds with this goal. Those which are activated
- are explicit requirements for the goal's satisfaction.
+ The purpose of the limited_net profile is to provide a set of
+ active services that allow one to connect to the machine via ssh
+ (requires sshd). The services which are deactivated here are those
+ that are at odds with this goal. Those which are activated are
+ explicit requirements for the goal's satisfaction.
NOTE: Service profiles delivered by this package are not editable,
and their contents will be overwritten by package or patch
@@ -93,20 +91,27 @@
<instance name='default' enabled='true'/>
</service>
<service name='network/nfs/status' version='1' type='service'>
- <instance name='default' enabled='true'/>
+ <instance name='default' enabled='false'/>
</service>
<service name='network/nfs/nlockmgr' version='1' type='service'>
- <instance name='default' enabled='true'/>
+ <instance name='default' enabled='false'/>
</service>
<service name='network/nfs/client' version='1' type='service'>
- <instance name='default' enabled='true'/>
+ <instance name='default' enabled='false'/>
</service>
<service name='network/nfs/server' version='1' type='service'>
- <instance name='default' enabled='true'/>
+ <instance name='default' enabled='false'/>
</service>
<service name='network/nfs/rquota' version='1' type='service'>
- <instance name='default' enabled='true'/>
+ <instance name='default' enabled='false'/>
+ </service>
+ <service name='network/nfs/cbd' version='1' type='service'>
+ <instance name='default' enabled='false'/>
</service>
+ <service name='network/nfs/mapid' version='1' type='service'>
+ <instance name='default' enabled='false'/>
+ </service>
+
<service name='network/ssh' version='1' type='service'>
<instance name='default' enabled='true'/>
</service>
@@ -132,9 +137,6 @@
<instance name='default' enabled='true' />
</service>
- <!--
- non-default svc.startd(1M) services disabled
- -->
<service name='network/dhcp-server' version='1' type='service'>
<instance name='default' enabled='false' />
</service>
@@ -157,8 +159,27 @@
<instance name='default' enabled='false' />
</service>
+ <service name='application/management/sma' version='1' type='service'>
+ <instance name='default' enabled='false' />
+ </service>
+ <service name='application/management/seaport' version='1' type='service'>
+ <instance name='default' enabled='false' />
+ </service>
+ <service name='application/management/snmpdx' version='1' type='service'>
+ <instance name='default' enabled='false' />
+ </service>
+ <service name='application/management/wbem' version='1' type='service'>
+ <instance name='default' enabled='false' />
+ </service>
+ <service name='application/print/rfc1179' version='1' type='service'>
+ <instance name='default' enabled='true' />
+ </service>
+ <service name='application/print/ipp-listener' version='1' type='service'>
+ <instance name='default' enabled='false' />
+ </service>
+
<!--
- default inetd(1M) services disabled
+ default inetd(1M) services
-->
<service name='network/finger' version='1' type='service'>
<instance name='default' enabled='false'/>
@@ -167,26 +188,20 @@
<instance name='default' enabled='false'/>
</service>
<service name='network/login' version='1' type='service'>
- <instance name='rlogin' enabled='false'/>
- <!--
- non-default inetd(1M) instances disabled
- -->
- <instance name='klogin' enabled='false'/>
+ <instance name='rlogin' enabled='false'/>
+ <instance name='klogin' enabled='false'/>
<instance name='eklogin' enabled='false'/>
</service>
<service name='network/shell' version='1' type='service'>
<instance name='default' enabled='false'/>
- <!--
- non-default inetd(1M) instance disabled
- -->
- <instance name='kshell' enabled='false'/>
+ <instance name='kshell' enabled='false'/>
</service>
<service name='network/telnet' version='1' type='service'>
<instance name='default' enabled='false'/>
</service>
<!--
- non-default inetd(1M) services disabled
+ non-default inetd(1M) services
-->
<service name='network/tname' version='1' type='service'>
<instance name='default' enabled='false'/>
@@ -223,6 +238,9 @@
<service name='network/talk' version='1' type='service'>
<instance name='default' enabled='false'/>
</service>
+ <service name='application/x11/xfs' version='1' type='service'>
+ <instance name='default' enabled='false'/>
+ </service>
<!--
default inetd(1M) RPC services enabled
@@ -231,16 +249,7 @@
<instance name='default' enabled='true'/>
</service>
<service name='network/rpc/mdcomm' version='1' type='service'>
- <instance name='default' enabled='true'/>
- </service>
- <service name='network/rpc/meta' version='1' type='service'>
- <instance name='default' enabled='true'/>
- </service>
- <service name='network/rpc/metamed' version='1' type='service'>
- <instance name='default' enabled='true'/>
- </service>
- <service name='network/rpc/metamh' version='1' type='service'>
- <instance name='default' enabled='true'/>
+ <instance name='default' enabled='false'/>
</service>
<service name='network/rpc/smserver' version='1' type='service'>
<instance name='default' enabled='true'/>
@@ -258,6 +267,15 @@
<service name='network/rpc/rusers' version='1' type='service'>
<instance name='default' enabled='false'/>
</service>
+ <service name='network/rpc/meta' version='1' type='service'>
+ <instance name='default' enabled='false'/>
+ </service>
+ <service name='network/rpc/metamed' version='1' type='service'>
+ <instance name='default' enabled='false'/>
+ </service>
+ <service name='network/rpc/metamh' version='1' type='service'>
+ <instance name='default' enabled='false'/>
+ </service>
<!--
non-default inetd(1M) RPC services disabled
@@ -275,4 +293,25 @@
<instance name='default' enabled='false'/>
</service>
+ <!--
+ Enable CDE services.
+ -->
+ <service name='application/cde-printinfo' version='1' type='service'>
+ <instance name='default' enabled='true' />
+ </service>
+ <service name='application/graphical-login/cde-login' version='1'
+ type='service'>
+ <instance name='default' enabled='true' />
+ </service>
+ <service name='network/rpc/cde-calendar-manager' version='1' type='service'>
+ <instance name='default' enabled='true'/>
+ </service>
+
+ <!--
+ Disabled CDE services.
+ -->
+ <service name='network/cde-spc' version='1' type='service'>
+ <instance name='default' enabled='false' />
+ </service>
+
</service_bundle>
diff --git a/usr/src/cmd/svc/profile/generic_open.xml b/usr/src/cmd/svc/profile/generic_open.xml
index d2b826648b..cbd9df9c0f 100644
--- a/usr/src/cmd/svc/profile/generic_open.xml
+++ b/usr/src/cmd/svc/profile/generic_open.xml
@@ -1,28 +1,27 @@
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<!--
- Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- Use is subject to license terms.
-
- CDDL HEADER START
-
- The contents of this file are subject to the terms of the
- Common Development and Distribution License, Version 1.0 only
- (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
+ 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 2006 Sun Microsystems, Inc. All rights reserved.
+ Use is subject to license terms.
ident "%Z%%M% %I% %E% SMI"
@@ -100,6 +99,12 @@
<service name='network/nfs/server' version='1' type='service'>
<instance name='default' enabled='true'/>
</service>
+ <service name='network/nfs/cbd' version='1' type='service'>
+ <instance name='default' enabled='true'/>
+ </service>
+ <service name='network/nfs/mapid' version='1' type='service'>
+ <instance name='default' enabled='true'/>
+ </service>
<service name='network/ssh' version='1' type='service'>
<instance name='default' enabled='true'/>
</service>
@@ -122,6 +127,23 @@
<instance name='default' enabled='true' />
</service>
+ <service name='application/management/sma' version='1' type='service'>
+ <instance name='default' enabled='true' />
+ </service>
+ <service name='application/management/seaport' version='1' type='service'>
+ <instance name='default' enabled='true' />
+ </service>
+ <service name='application/management/snmpdx' version='1' type='service'>
+ <instance name='default' enabled='true' />
+ </service>
+ <service name='application/management/wbem' version='1' type='service'>
+ <instance name='default' enabled='true' />
+ </service>
+
+ <service name='application/print/ipp-listener' version='1' type='service'>
+ <instance name='default' enabled='true' />
+ </service>
+
<!--
Enable CDE services.
-->
@@ -133,6 +155,10 @@
<instance name='default' enabled='true' />
</service>
+ <service name='application/x11/xfs' version='1' type='service'>
+ <instance name='default' enabled='true'/>
+ </service>
+
<!--
Include inetd(1M) services profile.
-->
diff --git a/usr/src/cmd/svc/profile/inetd_generic.xml b/usr/src/cmd/svc/profile/inetd_generic.xml
index c667c3d3f5..b5ecbb85be 100644
--- a/usr/src/cmd/svc/profile/inetd_generic.xml
+++ b/usr/src/cmd/svc/profile/inetd_generic.xml
@@ -1,28 +1,27 @@
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<!--
- Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- Use is subject to license terms.
-
- CDDL HEADER START
-
- The contents of this file are subject to the terms of the
- Common Development and Distribution License, Version 1.0 only
- (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
+ 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 2006 Sun Microsystems, Inc. All rights reserved.
+ Use is subject to license terms.
ident "%Z%%M% %I% %E% SMI"
@@ -98,7 +97,7 @@
</service>
<service name='network/rpc/cde-calendar-manager' version='1'
type='service'>
- <instance name='udp' enabled='true' />
+ <instance name='default' enabled='true' />
</service>
</service_bundle>
diff --git a/usr/src/cmd/svc/seed/Makefile b/usr/src/cmd/svc/seed/Makefile
index 262a2c835c..5d6a2e5a04 100644
--- a/usr/src/cmd/svc/seed/Makefile
+++ b/usr/src/cmd/svc/seed/Makefile
@@ -2,9 +2,8 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
+# 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.
@@ -19,8 +18,7 @@
#
# CDDL HEADER END
#
-#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "%Z%%M% %I% %E% SMI"
@@ -171,6 +169,22 @@ miniroot.db: common.db $(MINIROOT_DESCRIPTIONS) $(CONFIGD) $(SVCCFG)
SVCCFG_CONFIGD_PATH=$(CONFIGD) \
$(SVCCFG) import $$m; \
done
+ #
+ # Make sure the miniroot's syslogd and rpcbind do not respond
+ # to packets from outside the machine. Since we cannot set property
+ # values by applying a profile yet, we need to set them explicitly
+ # with svccfg commands.
+ #
+ SVCCFG_DTD=../dtd/service_bundle.dtd.1 \
+ SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/miniroot.db \
+ SVCCFG_CONFIGD_PATH=$(CONFIGD) \
+ $(SVCCFG) -s svc:/system/system-log \
+ setprop config/log_from_remote = false
+ #
+ SVCCFG_DTD=../dtd/service_bundle.dtd.1 \
+ SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/miniroot.db \
+ SVCCFG_CONFIGD_PATH=$(CONFIGD) \
+ $(SVCCFG) -s svc:/network/rpc/bind setprop config/local_only = true
install: install_global install_nonglobal install_miniroot
diff --git a/usr/src/cmd/svc/shell/Makefile b/usr/src/cmd/svc/shell/Makefile
index b127962cf5..b2ae130142 100644
--- a/usr/src/cmd/svc/shell/Makefile
+++ b/usr/src/cmd/svc/shell/Makefile
@@ -2,9 +2,8 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
+# 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.
@@ -19,8 +18,7 @@
#
# CDDL HEADER END
#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "%Z%%M% %I% %E% SMI"
@@ -39,9 +37,17 @@ SRCS = \
SCRIPTS = $(SRCS:%=$(ROOT)/lib/svc/share/%)
-install: $(SCRIPTS)
+PROG = netservices
+$(ROOTUSRSBINPROG) := FILEMODE= 0555
+
+install: all $(SCRIPTS) $(ROOTUSRSBINPROG)
$(ROOT)/lib/svc/share/%: %
$(INS.file)
-all lint clobber clean _msg:
+all: $(PROG)
+
+lint _msg:
+
+clobber clean:
+ $(RM) $(PROG)
diff --git a/usr/src/cmd/svc/shell/netservices.sh b/usr/src/cmd/svc/shell/netservices.sh
new file mode 100644
index 0000000000..162a282737
--- /dev/null
+++ b/usr/src/cmd/svc/shell/netservices.sh
@@ -0,0 +1,312 @@
+#!/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 2006 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+
+# ident "%Z%%M% %I% %E% SMI"
+
+DT_CHANGED=0
+
+LOG_FMRI=svc:/system/system-log
+CMSD_FMRI=svc:/network/rpc/cde-calendar-manager
+INETD_FMRI=svc:/network/inetd
+BIND_FMRI=svc:/network/rpc/bind
+XSERVER_FMRI=svc:/application/x11/x11-server
+SENDMAIL_FMRI=svc:/network/smtp:sendmail
+RFC1179_FMRI=svc:/application/print/rfc1179
+TTDB_FMRI=svc:/network/rpc/cde-ttdbserver
+DTLOGIN_FMRI=svc:/application/graphical-login/cde-login
+WEBCONSOLE_FMRI=svc:/system/webconsole
+SMCWBEM_FMRI=svc:/application/smcwbem
+
+usage()
+{
+ prog=`basename $0`
+ echo "$prog: usage: $prog [ open | limited ]" >&2
+ exit 2
+}
+
+#
+# set_property fmri group property value
+#
+# sets the specified property in the specified property-group, creating
+# the group and or property if necessary.
+#
+set_property()
+{
+ fmri=$1
+ group=$2
+ prop=$3
+ val=$4
+
+ if svcprop -qp $group $fmri; then :; else
+ if svccfg -s $fmri addpg $group application; then :; else
+ echo "Failed to create property group \"$group\" \c"
+ echo "for $fmri."
+ exit 1
+ fi
+ fi
+
+ if svccfg -s $fmri setprop $group/$prop = boolean: $val; then :; else
+ echo "Failed to set property $group/$prop for $fmri"
+ exit 1
+ fi
+}
+
+set_system_log()
+{
+ svcprop -q $LOG_FMRI || return
+ if [ "$1" = "local" ]; then
+ val=false
+ else
+ val=true
+ fi
+
+ set_property $LOG_FMRI config log_from_remote $val
+ svcadm refresh $LOG_FMRI
+}
+
+set_cmsd()
+{
+ svcprop -q $CMSD_FMRI:default || return
+ if [ "$1" = "local" ]; then
+ proto="ticlts"
+ else
+ proto="udp"
+ fi
+
+ inetadm -m $CMSD_FMRI:default proto=$proto
+ svcadm refresh $CMSD_FMRI:default
+}
+
+set_rpcbind()
+{
+ svcprop -q $BIND_FMRI || return
+ if [ "$1" = "local" ]; then
+ val=true
+ else
+ val=false
+ fi
+
+ set_property $BIND_FMRI config local_only $val
+ svcadm refresh $BIND_FMRI
+}
+
+set_xserver() {
+ svcprop -q $XSERVER_FMRI || return
+ if [ "$1" = "local" ]; then
+ val=false
+ else
+ val=true
+ fi
+
+ set_property $XSERVER_FMRI options tcp_listen $val
+ # don't need refresh since x11-server is not an actual service
+}
+
+set_sendmail()
+{
+ svcprop -q $SENDMAIL_FMRI || return
+ if [ "$1" = "local" ]; then
+ val=true
+ else
+ val=false
+ fi
+
+ set_property $SENDMAIL_FMRI config local_only $val
+ svcadm refresh $SENDMAIL_FMRI
+}
+
+set_rfc1179()
+{
+ svcprop -q $RFC1179_FMRI:default || return
+ if [ "$1" = "local" ]; then
+ val=localhost
+ else
+ val=
+ fi
+ inetadm -m $RFC1179_FMRI:default bind_addr="$val" 2>/dev/null
+ svcadm refresh $RFC1179_FMRI:default
+}
+
+set_ttdbserver()
+{
+ svcprop -q $TTDB_FMRI:tcp || return
+ if [ "$1" = "local" ]; then
+ val=ticotsord
+ else
+ val=tcp
+ fi
+ inetadm -m $TTDB_FMRI:tcp proto="$val"
+ svcadm refresh $TTDB_FMRI:tcp
+}
+
+set_dtlogin()
+{
+ svcprop -q $DTLOGIN_FMRI || return
+
+ eval args=`svcprop -p dtlogin/args $DTLOGIN_FMRI`
+
+ if echo $args | egrep -s udpPort
+ then
+ old_port=`echo $args |
+ sed 's/.*-udpPort [ ]*\([0-9][0-9]*\).*/\1/'`
+ new_args=`echo $args |
+ sed 's/\(.*\)-udpPort [0-9][0-9]*\(.*\)/\1\2/'`
+ else
+ old_port=-1
+ new_args=$args
+ fi
+
+ if [ "$1" = "local" ]; then
+ args="$new_args -udpPort 0"
+ DT_CHANGED=1
+ else
+ # remove '-udpPort 0' argument. Leave intact if port != 0.
+ if [ $old_port -eq 0 ]; then
+ args="$new_args"
+ DT_CHANGED=1
+ fi
+ fi
+
+ svccfg -s $DTLOGIN_FMRI setprop dtlogin/args = "\"$args\""
+ svcadm refresh $DTLOGIN_FMRI
+}
+
+set_webconsole() {
+ svcprop -q $WEBCONSOLE_FMRI:console || return
+ if [ "$1" = "local" ]; then
+ val=false
+ else
+ val=true
+ fi
+
+ set_property $WEBCONSOLE_FMRI options tcp_listen $val
+ svcadm refresh $WEBCONSOLE_FMRI
+}
+
+set_smcwbem() {
+ svcprop -q $SMCWBEM_FMRI:default || return
+ if [ "$1" = "local" ]; then
+ val=false
+ else
+ val=true
+ fi
+
+ set_property $SMCWBEM_FMRI options tcp_listen $val
+ svcadm refresh $SMCWBEM_FMRI
+}
+
+if [ $# -ne 1 ]; then
+ usage
+fi
+
+case $1 in
+ "open")
+ profile=generic_open.xml
+ keyword="open"
+ ;;
+ "limited")
+ profile=generic_limited_net.xml
+ keyword="local"
+ ;;
+ *)
+ usage
+ ;;
+esac
+
+if [ ! -f /var/svc/profile/$profile ]; then
+ echo "/var/svc/profile/$profile nonexistent. Exiting."
+ exit 1
+fi
+
+#
+# set services
+#
+set_system_log $keyword
+set_cmsd $keyword
+set_rpcbind $keyword
+set_xserver $keyword
+set_sendmail $keyword
+set_rfc1179 $keyword
+set_ttdbserver $keyword
+set_dtlogin $keyword
+set_webconsole $keyword
+set_smcwbem $keyword
+
+#
+# put the new profile into place, and apply it
+#
+ln -sf ./$profile /var/svc/profile/generic.xml
+svccfg apply /var/svc/profile/generic.xml
+
+#
+# Make the services aware of the new property values
+#
+if [ "`svcprop -p restarter/state $LOG_FMRI:default`" = "online" ]
+then
+ # need restart since refresh won't reread properties
+ echo "restarting syslogd"
+ svcadm restart $LOG_FMRI:default
+fi
+
+if [ "`svcprop -p restarter/state $SENDMAIL_FMRI`" = "online" ]
+then
+ # need restart since refresh won't pick up new command-line
+ echo "restarting sendmail"
+ svcadm restart $SENDMAIL_FMRI
+fi
+
+if [ "`svcprop -p restarter/state $BIND_FMRI:default`" = "online" ]
+then
+ # since inetd won't successfully re-register RPC-services after
+ # rpcbind restarts, we need to stop/start inetd too (and serialize
+ # these state-transitions)
+ svcadm disable -s $INETD_FMRI:default
+ svcadm disable -s $BIND_FMRI:default
+ echo "restarting rpcbind"
+ svcadm enable -s $BIND_FMRI:default
+ echo "restarting inetd"
+ svcadm enable -s $INETD_FMRI:default
+fi
+
+if [ $DT_CHANGED -eq 1 ]; then
+ if [ "`svcprop -p restarter/state $DTLOGIN_FMRI:default`" = "online" ]
+ then
+ r="y"
+ if tty -s ; then
+ printf \
+ "dtlogin needs to be restarted. Restart now? [Y] "
+ read r
+ fi
+ if [ "$r" = "" -o "$r" = "y" -o "$r" = "Y" ]; then
+ # Make sure we survive killing dtlogin...
+ trap "" 15
+ svcadm restart $DTLOGIN_FMRI
+ echo "restarting dtlogin"
+ else
+ printf "dtlogin not restarted. "
+ printf "Restart it to put it in ${keyword}-mode.\n"
+ fi
+ fi
+fi
diff --git a/usr/src/cmd/syslogd/Makefile.com b/usr/src/cmd/syslogd/Makefile.com
index 275796b9b2..952fdfea9e 100644
--- a/usr/src/cmd/syslogd/Makefile.com
+++ b/usr/src/cmd/syslogd/Makefile.com
@@ -2,9 +2,8 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
+# 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.
@@ -19,8 +18,7 @@
#
# CDDL HEADER END
#
-#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# ident "%Z%%M% %I% %E% SMI"
@@ -37,10 +35,13 @@ LLOBJS= $(OBJS:%.o=%.ll)
include ../../Makefile.cmd
-$(PROG) := LDLIBS += -lcmd -lnsl
+$(PROG) lint := LDLIBS += -lscf -lnsl
CCVERBOSE =
CPPFLAGS += -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT
-CPPFLAGS += -DNDEBUG
+CFLAGS += -DNDEBUG
+
+# there's some extra utility code defined but not used.
+LINTFLAGS += -erroff=E_NAME_DEF_NOT_USED2
VARSYSLOG= syslog
VARAUTHLOG= authlog
diff --git a/usr/src/cmd/syslogd/conf.c b/usr/src/cmd/syslogd/conf.c
index 2e60db8529..385b5443d6 100644
--- a/usr/src/cmd/syslogd/conf.c
+++ b/usr/src/cmd/syslogd/conf.c
@@ -2,9 +2,8 @@
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
+ * 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.
@@ -20,8 +19,8 @@
* CDDL HEADER END
*/
/*
- * Copyright (c) 1997-2000 by Sun Microsystems, Inc.
- * All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
@@ -41,8 +40,6 @@
#define CF_DEFSIZE 32 /* Starting table size */
#define CF_GROW 2 /* Table size multiplier on grow */
-extern void logerror(char *);
-
static FILE *
open_conf_pipe(const char *cmd, char *argv[], pid_t *pidp)
{
diff --git a/usr/src/cmd/syslogd/conf.h b/usr/src/cmd/syslogd/conf.h
index d531e85ae5..342db61093 100644
--- a/usr/src/cmd/syslogd/conf.h
+++ b/usr/src/cmd/syslogd/conf.h
@@ -2,9 +2,8 @@
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
+ * 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.
@@ -20,8 +19,8 @@
* CDDL HEADER END
*/
/*
- * Copyright (c) 1997 by Sun Microsystems, Inc.
- * All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
*/
#ifndef _CONF_H
@@ -45,6 +44,8 @@ void conf_close(conf_t *);
void conf_rewind(conf_t *);
char *conf_read(conf_t *);
+extern void logerror(const char *, ...);
+
#ifdef __cplusplus
}
#endif
diff --git a/usr/src/cmd/syslogd/i386/Makefile b/usr/src/cmd/syslogd/i386/Makefile
index fb447ff91d..b1d75f5f51 100644
--- a/usr/src/cmd/syslogd/i386/Makefile
+++ b/usr/src/cmd/syslogd/i386/Makefile
@@ -2,9 +2,8 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
+# 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.
@@ -21,7 +20,7 @@
#
#ident "%Z%%M% %I% %E% SMI"
#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#
@@ -29,6 +28,9 @@
include ../Makefile.com
+# don't need the LINTED directives to surpress E_BAD_PTR_CAST_ALIGN in queue.c
+LINTFLAGS += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
+
all: $(PROG) $(VARSYSLOG) $(VARAUTHLOG)
install: all $(ROOTUSRSBINPROG) $(ROOTETCCONFIG) $(ROOTLIBROTATE) logfiles
diff --git a/usr/src/cmd/syslogd/list.c b/usr/src/cmd/syslogd/list.c
index a69d9cc899..06368d3d17 100644
--- a/usr/src/cmd/syslogd/list.c
+++ b/usr/src/cmd/syslogd/list.c
@@ -2,9 +2,8 @@
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
+ * 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.
@@ -20,8 +19,8 @@
* CDDL HEADER END
*/
/*
- * Copyright (c) 1996-1999 by Sun Microsystems, Inc.
- * All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
@@ -54,8 +53,8 @@ ll_enqueue(llh_t *head, ll_t *data)
void
ll_mapf(llh_t *head, void (*func)(void *))
{
- ll_t * t = head->front;
- ll_t * n;
+ ll_t *t = head->front;
+ ll_t *n;
while (t) {
n = t->n;
diff --git a/usr/src/cmd/syslogd/queue.c b/usr/src/cmd/syslogd/queue.c
index e546605e40..e285f83a26 100644
--- a/usr/src/cmd/syslogd/queue.c
+++ b/usr/src/cmd/syslogd/queue.c
@@ -2,9 +2,8 @@
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
+ * 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.
@@ -20,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 1996-2002 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -49,7 +48,7 @@ dataq_init(dataq_t *ptr)
ptr->num_waiters = 0;
ll_init(&ptr->data);
ll_init(&ptr->waiters);
- pthread_mutex_init(&ptr->lock, NULL);
+ (void) pthread_mutex_init(&ptr->lock, NULL);
assert((pthread_mutex_lock(&ptr->lock) == 0) &&
(dataq_check(ptr) == 1) &&
(pthread_mutex_unlock(&ptr->lock) == 0));
@@ -65,7 +64,7 @@ dataq_enqueue(dataq_t *dataq, void *in)
if (ptr == NULL)
return (-1);
ptr->data = in;
- pthread_mutex_lock(&dataq->lock);
+ (void) pthread_mutex_lock(&dataq->lock);
assert(dataq_check(dataq));
ll_enqueue(&dataq->data, &ptr->list);
dataq->num_data++;
@@ -73,10 +72,10 @@ dataq_enqueue(dataq_t *dataq, void *in)
/*LINTED*/
sleeper = (dataq_waiter_t *)ll_peek(&dataq->waiters);
sleeper->wakeup = 1;
- pthread_cond_signal(&sleeper->cv);
+ (void) pthread_cond_signal(&sleeper->cv);
}
assert(dataq_check(dataq));
- pthread_mutex_unlock(&dataq->lock);
+ (void) pthread_mutex_unlock(&dataq->lock);
return (0);
}
@@ -86,23 +85,23 @@ dataq_dequeue(dataq_t *dataq, void **outptr, int try)
dataq_data_t *dptr;
dataq_waiter_t *sleeper;
- pthread_mutex_lock(&dataq->lock);
+ (void) pthread_mutex_lock(&dataq->lock);
if ((dataq->num_waiters > 0) ||
((dptr = (dataq_data_t *)ll_dequeue(&dataq->data)) == NULL)) {
dataq_waiter_t wait;
if (try) {
- pthread_mutex_unlock(&dataq->lock);
+ (void) pthread_mutex_unlock(&dataq->lock);
return (1);
}
wait.wakeup = 0;
- pthread_cond_init(&wait.cv, NULL);
+ (void) pthread_cond_init(&wait.cv, NULL);
dataq->num_waiters++;
ll_enqueue(&dataq->waiters, &wait.list);
while (wait.wakeup == 0)
- pthread_cond_wait(&wait.cv, &dataq->lock);
- ll_dequeue(&dataq->waiters);
+ (void) pthread_cond_wait(&wait.cv, &dataq->lock);
+ (void) ll_dequeue(&dataq->waiters);
dataq->num_waiters--;
- pthread_cond_destroy(&wait.cv);
+ (void) pthread_cond_destroy(&wait.cv);
dptr = (dataq_data_t *)ll_dequeue(&dataq->data);
}
dataq->num_data--;
@@ -110,9 +109,9 @@ dataq_dequeue(dataq_t *dataq, void **outptr, int try)
/*LINTED*/
sleeper = (dataq_waiter_t *)ll_peek(&dataq->waiters);
sleeper->wakeup = 1;
- pthread_cond_signal(&sleeper->cv);
+ (void) pthread_cond_signal(&sleeper->cv);
}
- pthread_mutex_unlock(&dataq->lock);
+ (void) pthread_mutex_unlock(&dataq->lock);
*outptr = dptr->data;
free(dptr);
return (0);
@@ -130,14 +129,14 @@ static void
dataq_waiters_destroy(void * p)
{
dataq_waiter_t *d = (dataq_waiter_t *)p;
- pthread_cond_destroy(&d->cv);
+ (void) pthread_cond_destroy(&d->cv);
free(d);
}
int
dataq_destroy(dataq_t *dataq)
{
- pthread_mutex_destroy(&dataq->lock);
+ (void) pthread_mutex_destroy(&dataq->lock);
ll_mapf(&dataq->data, dataq_data_destroy);
ll_mapf(&dataq->waiters, dataq_waiters_destroy);
return (0);
diff --git a/usr/src/cmd/syslogd/syslogd.c b/usr/src/cmd/syslogd/syslogd.c
index 69e8f693f4..1356f7b6ec 100644
--- a/usr/src/cmd/syslogd/syslogd.c
+++ b/usr/src/cmd/syslogd/syslogd.c
@@ -70,7 +70,7 @@
#include <signal.h>
#include <string.h>
#include <strings.h>
-#include <deflt.h>
+#include <libscf.h>
#include <netconfig.h>
#include <netdir.h>
#include <pwd.h>
@@ -117,7 +117,6 @@
static char *Version = "%I%";
static char *LogName = "/dev/log";
static char *ConfFile = "/etc/syslog.conf";
-static char *DflFile = "/etc/default/syslogd";
static char ctty[] = "/dev/console";
static char sysmsg[] = "/dev/sysmsg";
static int DoorFd = -1;
@@ -321,7 +320,7 @@ main(int argc, char **argv)
PidFileName = OLD_PIDFILE;
}
- defaults();
+ properties();
while ((i = getopt(argc, argv, "df:p:m:tT")) != EOF) {
switch (i) {
@@ -840,14 +839,14 @@ net_poll(void *ap)
if (!shutting_down) {
logerror("t_rcvuderr");
}
- t_close(Nfd[i].fd);
+ (void) t_close(Nfd[i].fd);
Nfd[i].fd = -1;
}
} else {
if (!shutting_down) {
logerror("t_rcvudata");
}
- t_close(Nfd[i].fd);
+ (void) t_close(Nfd[i].fd);
Nfd[i].fd = -1;
}
nfds--;
@@ -930,7 +929,8 @@ net_poll(void *ap)
continue;
}
DPRINT3(5, "net_poll(%u): enqueued msg %p "
- "on queue %p\n", mythreadno, mp, &hnlq);
+ "on queue %p\n", mythreadno, (void *)mp,
+ (void *)&hnlq);
}
}
/*NOTREACHED*/
@@ -988,7 +988,7 @@ logmymsg(int pri, char *msg, int flags, int pending)
}
DPRINT3(5, "logmymsg(%u): enqueued msg %p on queue %p\n",
- mythreadno, mp, qptr);
+ mythreadno, (void *)mp, (void *)qptr);
DPRINT2(5, "logmymsg(%u): Message content: %s\n", mythreadno, msg);
return (0);
}
@@ -1020,7 +1020,7 @@ shutdown_msg(void)
}
DPRINT3(5, "shutdown_msg(%u): enqueued msg %p on queue %p\n",
- mythreadno, mp, &inputq);
+ mythreadno, (void *)mp, (void *)&inputq);
return (0);
}
@@ -1053,7 +1053,7 @@ flushmsg(int flags)
}
DPRINT4(5, "flush_msg(%u): enqueued msg %p on queue %p, flags "
- "0x%x\n", mythreadno, mp, &inputq, flags);
+ "0x%x\n", mythreadno, (void *)mp, (void *)&inputq, flags);
}
/*
@@ -1070,7 +1070,8 @@ formatnet(struct netbuf *nbp, log_message_t *mp)
mythreadno = pthread_self();
}
- DPRINT2(5, "formatnet(%u): called for msg %p\n", mythreadno, mp);
+ DPRINT2(5, "formatnet(%u): called for msg %p\n", mythreadno,
+ (void *)mp);
mp->flags = NETWORK;
(void) time(&mp->ts);
@@ -1185,7 +1186,8 @@ formatsys(struct log_ctl *lp, char *msg, int sync)
}
DPRINT3(5, "formatsys(%u): sys_thread enqueued msg "
- "%p on queue %p\n", mythreadno, mp, &inputq);
+ "%p on queue %p\n", mythreadno, (void *)mp,
+ (void *)&inputq);
} else
free_msg(mp);
}
@@ -1227,7 +1229,8 @@ logmsg(void *ap)
}
_NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*mp))
DPRINT3(5, "logmsg(%u): msg dispatcher dequeued %p from "
- "queue %p\n", mythreadno, mp, &inputq);
+ "queue %p\n", mythreadno, (void *)mp,
+ (void *)&inputq);
/*
* In most cases, if the message traffic is low, logmsg() wakes
@@ -1281,12 +1284,12 @@ logmsg(void *ap)
* is it a shutdown or flush message ?
*/
if ((mp->flags & SHUTDOWN) || (mp->flags & FLUSHMSG)) {
- pthread_mutex_lock(&mp->msg_mutex);
+ (void) pthread_mutex_lock(&mp->msg_mutex);
if ((mp->flags & SHUTDOWN) &&
!fake_shutdown && skip_shutdown > 0) {
skip_shutdown--;
- pthread_mutex_unlock(&mp->msg_mutex);
+ (void) pthread_mutex_unlock(&mp->msg_mutex);
free_msg(mp);
DPRINT2(3, "logmsg(%u): released late "
"arrived SHUTDOWN. pending %d\n",
@@ -1295,10 +1298,11 @@ logmsg(void *ap)
}
for (f = Files; f < &Files[nlogs]; f++) {
- pthread_mutex_lock(&f->filed_mutex);
+ (void) pthread_mutex_lock(&f->filed_mutex);
if (f->f_type == F_UNUSED) {
- pthread_mutex_unlock(&f->filed_mutex);
+ (void) pthread_mutex_unlock(
+ &f->filed_mutex);
continue;
}
@@ -1309,7 +1313,8 @@ logmsg(void *ap)
(void *)mp) == -1) {
f->f_queue_count--;
mp->refcnt--;
- pthread_mutex_unlock(&f->filed_mutex);
+ (void) pthread_mutex_unlock(
+ &f->filed_mutex);
MALLOC_FAIL("dropping message");
if (mp->flags & SHUTDOWN) {
@@ -1321,9 +1326,9 @@ logmsg(void *ap)
continue;
}
DPRINT3(5, "logmsg(%u): enqueued msg %p "
- "on queue %p\n", mythreadno, mp,
- &f->f_queue);
- pthread_mutex_unlock(&f->filed_mutex);
+ "on queue %p\n", mythreadno,
+ (void *)mp, (void *)&f->f_queue);
+ (void) pthread_mutex_unlock(&f->filed_mutex);
}
/*
@@ -1333,12 +1338,12 @@ logmsg(void *ap)
flags = mp->flags;
refcnt = mp->refcnt;
- pthread_mutex_unlock(&mp->msg_mutex);
+ (void) pthread_mutex_unlock(&mp->msg_mutex);
if (refcnt == 0)
free_msg(mp);
if (flags & SHUTDOWN) {
- pthread_mutex_lock(&hup_lock);
+ (void) pthread_mutex_lock(&hup_lock);
while (hup_state != HUP_COMPLETED) {
hup_state |= HUP_LOGMSG_SUSPENDED;
(void) pthread_cond_wait(&hup_done,
@@ -1346,7 +1351,7 @@ logmsg(void *ap)
hup_state &= ~HUP_LOGMSG_SUSPENDED;
}
hup_state = HUP_ACCEPTABLE;
- pthread_mutex_unlock(&hup_lock);
+ (void) pthread_mutex_unlock(&hup_lock);
fake_shutdown = 0;
}
continue;
@@ -1378,7 +1383,7 @@ logmsg(void *ap)
*/
_NOTE(NOW_VISIBLE_TO_OTHER_THREADS(*mp))
_NOTE(COMPETING_THREADS_NOW)
- pthread_mutex_lock(&mp->msg_mutex);
+ (void) pthread_mutex_lock(&mp->msg_mutex);
for (f = Files; f < &Files[nlogs]; f++) {
/* skip messages that are incorrect priority */
@@ -1388,7 +1393,7 @@ logmsg(void *ap)
if (f->f_queue_count > Q_HIGHWATER_MARK) {
DPRINT4(5, "logmsg(%u): Dropping message "
"%p on file %p, count = %d\n",
- mythreadno, mp, f,
+ mythreadno, (void *)mp, (void *)f,
f->f_queue_count);
continue;
}
@@ -1399,13 +1404,13 @@ logmsg(void *ap)
* below, and start pulling out the pending messages.
*/
- pthread_mutex_lock(&f->filed_mutex);
+ (void) pthread_mutex_lock(&f->filed_mutex);
if (f->f_type == F_UNUSED ||
(f->f_type == F_FILE && (mp->flags & IGN_FILE)) ||
(f->f_type == F_CONSOLE &&
(mp->flags & IGN_CONS))) {
- pthread_mutex_unlock(&f->filed_mutex);
+ (void) pthread_mutex_unlock(&f->filed_mutex);
continue;
}
@@ -1415,17 +1420,18 @@ logmsg(void *ap)
if (dataq_enqueue(&f->f_queue, (void *)mp) == -1) {
f->f_queue_count--;
mp->refcnt--;
- pthread_mutex_unlock(&f->filed_mutex);
+ (void) pthread_mutex_unlock(&f->filed_mutex);
MALLOC_FAIL("dropping message");
continue;
}
DPRINT3(5, "logmsg(%u): enqueued msg %p on queue "
- "%p\n", mythreadno, mp, &f->f_queue);
- pthread_mutex_unlock(&f->filed_mutex);
+ "%p\n", mythreadno, (void *)mp,
+ (void *)&f->f_queue);
+ (void) pthread_mutex_unlock(&f->filed_mutex);
}
refcnt = mp->refcnt;
- pthread_mutex_unlock(&mp->msg_mutex);
+ (void) pthread_mutex_unlock(&mp->msg_mutex);
if (refcnt == 0)
free_msg(mp);
}
@@ -1444,34 +1450,34 @@ logit(void *ap)
struct filed *f = ap;
log_message_t *mp;
int forwardingloop = 0;
- char *errmsg = "logit(%u): %s to %s forwarding loop detected\n";
+ const char *errmsg = "logit(%u): %s to %s forwarding loop detected\n";
int i, currofst, prevofst, refcnt;
host_list_t *hlp;
assert(f != NULL);
DPRINT4(5, "logit(%u): logger started for \"%s\" (queue %p, filed "
- "%p)\n", f->f_thread, f->f_un.f_fname, &f->f_queue, f);
+ "%p)\n", f->f_thread, f->f_un.f_fname, (void *)&f->f_queue,
+ (void *)f);
_NOTE(COMPETING_THREADS_NOW);
while (f->f_type != F_UNUSED) {
(void) dataq_dequeue(&f->f_queue, (void **)&mp, 0);
DPRINT3(5, "logit(%u): logger dequeued msg %p from queue "
- "%p\n",
- f->f_thread, mp, &f->f_queue);
- pthread_mutex_lock(&f->filed_mutex);
+ "%p\n", f->f_thread, (void *)mp, (void *)&f->f_queue);
+ (void) pthread_mutex_lock(&f->filed_mutex);
assert(f->f_queue_count > 0);
f->f_queue_count--;
- pthread_mutex_unlock(&f->filed_mutex);
+ (void) pthread_mutex_unlock(&f->filed_mutex);
assert(mp->refcnt > 0);
/*
* is it a shutdown message ?
*/
if (mp->flags & SHUTDOWN) {
- pthread_mutex_lock(&mp->msg_mutex);
+ (void) pthread_mutex_lock(&mp->msg_mutex);
refcnt = --mp->refcnt;
- pthread_mutex_unlock(&mp->msg_mutex);
+ (void) pthread_mutex_unlock(&mp->msg_mutex);
if (refcnt == 0)
free_msg(mp);
break;
@@ -1504,7 +1510,7 @@ logit(void *ap)
if (f->f_type == F_FILE) {
DPRINT2(5, "logit(%u): got FLUSH|SYNC "
"for filed %p\n", f->f_thread,
- f);
+ (void *)f);
(void) fsync(f->f_file);
}
goto out;
@@ -1589,7 +1595,7 @@ logit(void *ap)
f->f_current.host) == 0)) {
/* a dup */
DPRINT2(2, "logit(%u): msg is dup - %p\n",
- f->f_thread, mp);
+ f->f_thread, (void *)mp);
if (currofst == 16) {
(void) strncpy(f->f_prevmsg.msg,
f->f_current.msg, 15); /* update time */
@@ -1613,18 +1619,18 @@ logit(void *ap)
copy_msg(f);
if (f->f_current.flags & MARK) {
DPRINT2(2, "logit(%u): msg is "
- "mark - %p)\n",
- f->f_thread, mp);
+ "mark - %p)\n", f->f_thread,
+ (void *)mp);
f->f_msgflag &= ~OLD_VALID;
} else {
DPRINT2(2, "logit(%u): saving "
- "message - %p\n",
- f->f_thread, mp);
+ "message - %p\n", f->f_thread,
+ (void *)mp);
}
f->f_stat.total++;
} else { /* new message */
DPRINT2(2, "logit(%u): msg is new "
- "- %p\n", f->f_thread, mp);
+ "- %p\n", f->f_thread, (void *)mp);
writemsg(CURRENT, f);
if (!(mp->flags & NOCOPY))
copy_msg(f);
@@ -1639,9 +1645,9 @@ logit(void *ap)
* zero so another thread doesn't beat us to it.
*/
out:
- pthread_mutex_lock(&mp->msg_mutex);
+ (void) pthread_mutex_lock(&mp->msg_mutex);
refcnt = --mp->refcnt;
- pthread_mutex_unlock(&mp->msg_mutex);
+ (void) pthread_mutex_unlock(&mp->msg_mutex);
if (refcnt == 0)
free_msg(mp);
}
@@ -1651,22 +1657,22 @@ out:
* Pull out all pending messages, if they exist.
*/
- pthread_mutex_lock(&f->filed_mutex);
+ (void) pthread_mutex_lock(&f->filed_mutex);
while (f->f_queue_count > 0) {
(void) dataq_dequeue(&f->f_queue, (void **)&mp, 0);
DPRINT3(5, "logit(%u): logger dequeued msg %p from queue "
"%p\n",
- f->f_thread, mp, &f->f_queue);
- pthread_mutex_lock(&mp->msg_mutex);
+ f->f_thread, (void *)mp, (void *)&f->f_queue);
+ (void) pthread_mutex_lock(&mp->msg_mutex);
refcnt = --mp->refcnt;
- pthread_mutex_unlock(&mp->msg_mutex);
+ (void) pthread_mutex_unlock(&mp->msg_mutex);
if (refcnt == 0)
free_msg(mp);
f->f_queue_count--;
}
- pthread_mutex_unlock(&f->filed_mutex);
+ (void) pthread_mutex_unlock(&f->filed_mutex);
if (f->f_type != F_USERS && f->f_type != F_WALL &&
f->f_type != F_UNUSED) {
@@ -1685,9 +1691,9 @@ out:
}
f->f_type = F_UNUSED;
- pthread_mutex_lock(&cft);
+ (void) pthread_mutex_lock(&cft);
--conf_threads;
- pthread_mutex_unlock(&cft);
+ (void) pthread_mutex_unlock(&cft);
DPRINT1(5, "logit(%u): logging thread exited\n", f->f_thread);
return (NULL);
}
@@ -1707,8 +1713,9 @@ set_flush_msg(struct filed *f)
else
(void) strncpy(tbuf, "times", sizeof (tbuf));
- (void) sprintf(f->f_prevmsg.msg+prevofst,
- "last message repeated %d %s", f->f_prevcount, tbuf);
+ (void) snprintf(f->f_prevmsg.msg+prevofst,
+ sizeof (f->f_prevmsg.msg) - prevofst,
+ "last message repeated %d %s", f->f_prevcount, tbuf);
f->f_prevcount = 0;
f->f_msgflag |= OLD_VALID;
}
@@ -1875,7 +1882,7 @@ writemsg(int selection, struct filed *f)
}
DPRINT3(5, "writemsg(%u): "
"filtered allocated (%p: %d bytes)\n",
- mythreadno, filtered, filter_len);
+ mythreadno, (void *)filtered, filter_len);
/* -3 : we may add "\r\n" to ecomp(filtered) later */
filter_string(cp, filtered, filter_len - 3);
@@ -1956,7 +1963,7 @@ writemsg(int selection, struct filed *f)
(void) fsync(f->f_file);
DPRINT2(5, "writemsg(%u): freeing filtered (%p)\n",
- mythreadno, filtered);
+ mythreadno, (void *)filtered);
free(filtered);
break;
@@ -1992,7 +1999,7 @@ wallmsg(struct filed *f, char *from, char *msg)
logerror(UTMPX_FILE);
return;
} else if (statbuf.st_uid != 0 || (statbuf.st_mode & 07777) != 0644) {
- (void) sprintf(line, "%s %s", UTMPX_FILE,
+ (void) snprintf(line, sizeof (line), "%s %s", UTMPX_FILE,
"not owned by root or not mode 644.\n"
"This file must be owned by root "
"and not writable by\n"
@@ -2015,14 +2022,14 @@ wallmsg(struct filed *f, char *from, char *msg)
return;
}
DPRINT3(5, "wallmsg(%u): buf allocated (%p: %d bytes)\n",
- mythreadno, buf, len + 1);
+ mythreadno, (void *)buf, len + 1);
(void) strcpy(buf, line);
(void) strcat(buf, msg + 16);
clen = copy_frwd(cp, sizeof (cp), buf, len);
DPRINT2(5, "wallmsg(%u): clen = %d\n",
mythreadno, clen);
DPRINT2(5, "wallmsg(%u): freeing buf (%p)\n",
- mythreadno, buf);
+ mythreadno, (void *)buf);
free(buf);
} else {
clen = copy_frwd(cp, sizeof (cp), msg, strlen(msg));
@@ -2161,7 +2168,7 @@ writetodev(void *ap)
mythreadno, w->dev);
}
- pthread_attr_destroy(&w->thread_attr);
+ (void) pthread_attr_destroy(&w->thread_attr);
free(w);
DPRINT1(1, "writetodev(%u): Device writer thread exiting\n",
@@ -2203,7 +2210,7 @@ cvthname(struct netbuf *nbp, struct netconfig *ncp, char *failsafe_addr)
if ((h = hnc_lookup(nbp, ncp, &hindex)) != NULL) {
DPRINT4(2, "cvthname(%u): Cache found %p for %s (%s)\n",
- mythreadno, h, uap ? uap : "<unknown>",
+ mythreadno, (void *)h, uap ? uap : "<unknown>",
h->hl_hosts[0]);
return (h);
}
@@ -2271,6 +2278,7 @@ out: netdir_free((void *)hsp, ND_HOSTSERVLIST);
MALLOC_FAIL("host name conversion");
return (NULL);
}
+ /*LINTED*/
(void) sprintf(h->hl_hosts[0], "[%s]", failsafe_addr);
DPRINT2(1, "cvthname(%u): Hostname lookup failed "
"- using address %s instead\n",
@@ -2285,7 +2293,7 @@ out: netdir_free((void *)hsp, ND_HOSTSERVLIST);
}
hnc_register(nbp, ncp, h, hindex);
DPRINT3(2, "cvthname(%u): returning %p for %s\n",
- mythreadno, h, h->hl_hosts[0]);
+ mythreadno, (void *)h, h->hl_hosts[0]);
return (h);
}
@@ -2311,7 +2319,7 @@ logerror(const char *type, ...)
va_end(ap);
DPRINT2(1, "logerror(%u): %s\n", mythreadno, buf);
- pthread_mutex_lock(&logerror_lock);
+ (void) pthread_mutex_lock(&logerror_lock);
if (!interrorlog) {
flag = 0;
if (logerror_to_console(1, buf) == 0) {
@@ -2324,7 +2332,7 @@ logerror(const char *type, ...)
(void) logerror_to_console(1, buf);
}
}
- pthread_mutex_unlock(&logerror_lock);
+ (void) pthread_mutex_unlock(&logerror_lock);
errno = 0;
t_errno = 0;
@@ -2448,25 +2456,25 @@ freehl(host_list_t *h)
mythreadno = pthread_self();
}
- DPRINT2(2, "freehl(%u): releasing %p\n", mythreadno, h);
+ DPRINT2(2, "freehl(%u): releasing %p\n", mythreadno, (void *)h);
if (h == NULL || h == &LocalHostName || h == &NullHostName) {
return;
}
- pthread_mutex_lock(&h->hl_mutex);
+ (void) pthread_mutex_lock(&h->hl_mutex);
refcnt = --h->hl_refcnt;
- pthread_mutex_unlock(&h->hl_mutex);
+ (void) pthread_mutex_unlock(&h->hl_mutex);
if (refcnt != 0) {
DPRINT3(5, "freehl(%u): %p has reference %d\n",
- mythreadno, h, refcnt);
+ mythreadno, (void *)h, refcnt);
return;
}
- pthread_mutex_destroy(&h->hl_mutex);
+ (void) pthread_mutex_destroy(&h->hl_mutex);
- DPRINT2(5, "freehl(%u): freeing %p\n", mythreadno, h);
+ DPRINT2(5, "freehl(%u): freeing %p\n", mythreadno, (void *)h);
for (i = 0; i < h->hl_cnt; i++) {
free(h->hl_hosts[i]);
@@ -2542,8 +2550,9 @@ open_door(void)
if ((door = creat(DoorFileName, 0644)) < 0) {
err = errno;
- (void) sprintf(line, "creat() of %s "
- "failed - fatal", DoorFileName);
+ (void) snprintf(line, sizeof (line),
+ "creat() of %s failed - fatal",
+ DoorFileName);
DPRINT3(1, "open_door(%u): error: %s, "
"errno=%d\n", mythreadno, line,
err);
@@ -2571,9 +2580,9 @@ open_door(void)
OLD_DOORFILE);
if (S_ISDIR(buf.st_mode)) {
- (void) sprintf(line, "%s is a "
- "directory - fatal",
- OLD_DOORFILE);
+ (void) snprintf(line, sizeof (line),
+ "%s is a directory - fatal",
+ OLD_DOORFILE);
DPRINT2(1, "open_door(%u): error: "
"%s\n", mythreadno, line);
errno = 0;
@@ -2588,8 +2597,9 @@ open_door(void)
if (unlink(OLD_DOORFILE) < 0) {
err = errno;
- (void) sprintf(line, "unlink() of %s "
- "failed", OLD_DOORFILE);
+ (void) snprintf(line, sizeof (line),
+ "unlink() of %s failed",
+ OLD_DOORFILE);
DPRINT2(5, "open_door(%u): %s\n",
mythreadno, line);
@@ -2616,9 +2626,9 @@ open_door(void)
if (symlink(RELATIVE_DOORFILE, OLD_DOORFILE) < 0) {
err = errno;
- (void) sprintf(line, "symlink %s -> %s "
- "failed", OLD_DOORFILE,
- RELATIVE_DOORFILE);
+ (void) snprintf(line, sizeof (line),
+ "symlink %s -> %s failed", OLD_DOORFILE,
+ RELATIVE_DOORFILE);
DPRINT2(5, "open_door(%u): %s\n", mythreadno,
line);
@@ -2664,9 +2674,8 @@ open_door(void)
if (fattach(DoorFd, DoorFileName) < 0) {
err = errno;
- (void) sprintf(line, "fattach() of fd"
- " %d to %s failed - fatal",
- DoorFd, DoorFileName);
+ (void) snprintf(line, sizeof (line), "fattach() of fd"
+ " %d to %s failed - fatal", DoorFd, DoorFileName);
DPRINT3(1, "open_door(%u): error: %s, errno=%d\n", mythreadno,
line, err);
errno = err;
@@ -2692,8 +2701,8 @@ open_door(void)
if ((pidfd = open(PidFileName, O_RDWR|O_CREAT|O_TRUNC, 0644))
< 0) {
err = errno;
- (void) sprintf(line, "open() of %s failed",
- PidFileName);
+ (void) snprintf(line, sizeof (line),
+ "open() of %s failed", PidFileName);
DPRINT3(1, "open_door(%u): warning: %s, errno=%d\n",
mythreadno, line, err);
errno = err;
@@ -2706,8 +2715,8 @@ open_door(void)
if (write(pidfd, line, strlen(line)) < 0) {
err = errno;
- (void) sprintf(line, "write to %s on fd %d failed",
- PidFileName, pidfd);
+ (void) snprintf(line, sizeof (line),
+ "write to %s on fd %d failed", PidFileName, pidfd);
DPRINT3(1, "open_door(%u): warning: %s, errno=%d\n",
mythreadno, line, err);
errno = err;
@@ -2726,9 +2735,9 @@ open_door(void)
"succeded\n", mythreadno, OLD_PIDFILE);
if (S_ISDIR(buf.st_mode)) {
- (void) sprintf(line, "file %s is a "
- "directory",
- OLD_PIDFILE);
+ (void) snprintf(line, sizeof (line),
+ "file %s is a directory",
+ OLD_PIDFILE);
DPRINT2(1, "open_door(%u): warning: "
"%s\n", mythreadno, line);
errno = 0;
@@ -2738,8 +2747,9 @@ open_door(void)
if (unlink(OLD_PIDFILE) < 0) {
err = errno;
- (void) sprintf(line, "unlink() "
- "of %s failed", OLD_PIDFILE);
+ (void) snprintf(line, sizeof (line),
+ "unlink() of %s failed",
+ OLD_PIDFILE);
DPRINT2(5, "open_door(%u): %s\n",
mythreadno, line);
@@ -2764,8 +2774,8 @@ open_door(void)
if (symlink(RELATIVE_PIDFILE, OLD_PIDFILE) < 0) {
err = errno;
- (void) sprintf(line, "symlink %s -> %s "
- "failed", OLD_PIDFILE,
+ (void) snprintf(line, sizeof (line),
+ "symlink %s -> %s failed", OLD_PIDFILE,
RELATIVE_PIDFILE);
DPRINT2(5, "open_door(%u): %s\n", mythreadno,
line);
@@ -3078,17 +3088,17 @@ dumpstats(int fd)
}
if (!conversion_printed) {
- fprintf(out, "\nFacilities:\n");
+ (void) fprintf(out, "\nFacilities:\n");
for (i = 0; FacNames[i].c_val != -1; i++) {
- fprintf(out, " [%02d] %s: %3d\n", i,
+ (void) fprintf(out, " [%02d] %s: %3d\n", i,
FacNames[i].c_name, FacNames[i].c_val);
}
- fprintf(out, "\nPriorities:\n");
+ (void) fprintf(out, "\nPriorities:\n");
for (i = 0; PriNames[i].c_val != -1; i++) {
- fprintf(out, " [%02d] %s: %3d\n", i,
+ (void) fprintf(out, " [%02d] %s: %3d\n", i,
PriNames[i].c_name, PriNames[i].c_val);
}
@@ -3263,9 +3273,9 @@ nofile:
exit(1);
}
- pthread_mutex_lock(&cft);
+ (void) pthread_mutex_lock(&cft);
++conf_threads;
- pthread_mutex_unlock(&cft);
+ (void) pthread_mutex_unlock(&cft);
if (f->f_type != F_UNUSED &&
f->f_pmask[LOG_NFACILITIES] != NOPRI)
@@ -3294,7 +3304,7 @@ filed_init(struct filed *f)
}
DPRINT2(5, "filed_init(%u): dataq_init for queue %p\n",
- mythreadno, &f->f_queue);
+ mythreadno, (void *)&f->f_queue);
(void) dataq_init(&f->f_queue);
if (pthread_attr_init(&stack_attr) != 0) {
@@ -3327,11 +3337,11 @@ filed_init(struct filed *f)
if (pthread_create(&f->f_thread, NULL, logit, (void *)f) != 0) {
logerror("pthread_create failed");
- pthread_attr_destroy(&stack_attr);
+ (void) pthread_attr_destroy(&stack_attr);
return (-1);
}
- pthread_attr_destroy(&stack_attr);
+ (void) pthread_attr_destroy(&stack_attr);
return (0);
}
@@ -3426,7 +3436,7 @@ cfline(char *line, int lineno, struct filed *f)
case '@':
(void) strlcpy(f->f_un.f_forw.f_hname, ++p, SYS_NMLN);
- if (logforward(f, ebuf) != 0) {
+ if (logforward(f, ebuf, sizeof (ebuf)) != 0) {
logerror("line %d: %s", lineno, ebuf);
break;
}
@@ -3681,7 +3691,7 @@ addnet(struct netconfig *ncp, struct netbuf *nbp)
Udp[Ninputs] = (struct t_unitdata *)t_alloc(fd, T_UNITDATA, T_ADDR);
if (Udp[Ninputs] == NULL) {
- t_close(fd);
+ (void) t_close(fd);
return (1);
}
@@ -3689,17 +3699,17 @@ addnet(struct netconfig *ncp, struct netbuf *nbp)
Errp[Ninputs] = (struct t_uderr *)t_alloc(fd, T_UDERROR, T_ADDR);
if (Errp[Ninputs] == NULL) {
- t_close(fd);
- t_free((char *)Udp[Ninputs], T_UNITDATA);
+ (void) t_close(fd);
+ (void) t_free((char *)Udp[Ninputs], T_UNITDATA);
return (1);
}
if ((bp = malloc(sizeof (struct netbuf))) == NULL ||
(bp->buf = malloc(nbp->len)) == NULL) {
MALLOC_FAIL("allocating address buffer");
- t_close(fd);
- t_free((char *)Udp[Ninputs], T_UNITDATA);
- t_free((char *)Errp[Ninputs], T_UDERROR);
+ (void) t_close(fd);
+ (void) t_free((char *)Udp[Ninputs], T_UNITDATA);
+ (void) t_free((char *)Errp[Ninputs], T_UDERROR);
if (bp) {
free(bp);
@@ -3797,7 +3807,7 @@ bindnet(void)
if (t_bind(Nfd[cnt].fd, &bind, bound) == 0) {
if (same_addr(&bind.addr, &bound->addr)) {
- t_free((char *)bound, T_BIND);
+ (void) t_free((char *)bound, T_BIND);
set_udp_buffer(Nfd[cnt].fd);
cnt++;
continue;
@@ -3805,7 +3815,7 @@ bindnet(void)
}
/* failed to bind port */
- t_free((char *)bound, T_BIND);
+ (void) t_free((char *)bound, T_BIND);
(void) strcpy(ebuf, "Unable to bind syslog port");
@@ -3826,11 +3836,11 @@ bindnet(void)
errno = 0;
logerror(ebuf);
- t_close(Nfd[cnt].fd);
+ (void) t_close(Nfd[cnt].fd);
free(Myaddrs[cnt]->buf);
free(Myaddrs[cnt]);
- t_free((char *)Udp[cnt], T_UNITDATA);
- t_free((char *)Errp[cnt], T_UDERROR);
+ (void) t_free((char *)Udp[cnt], T_UNITDATA);
+ (void) t_free((char *)Errp[cnt], T_UDERROR);
for (i = cnt; i < (Ninputs-1); i++) {
Nfd[i] = Nfd[i + 1];
@@ -3845,7 +3855,7 @@ bindnet(void)
}
static int
-logforward(struct filed *f, char *ebuf)
+logforward(struct filed *f, char *ebuf, size_t elen)
{
struct nd_hostserv hs;
struct netbuf *nbp;
@@ -3859,8 +3869,8 @@ logforward(struct filed *f, char *ebuf)
hs.h_serv = "syslog";
if ((handle = setnetconfig()) == NULL) {
- (void) strcpy(ebuf,
- "unable to rewind the netconfig database");
+ (void) strlcpy(ebuf,
+ "unable to rewind the netconfig database", elen);
errno = 0;
return (-1);
}
@@ -3876,31 +3886,32 @@ logforward(struct filed *f, char *ebuf)
}
}
if (ncp == NULL) {
- endnetconfig(handle);
- (void) sprintf(ebuf, "WARNING: %s could not be resolved", hp);
+ (void) endnetconfig(handle);
+ (void) snprintf(ebuf, elen,
+ "WARNING: %s could not be resolved", hp);
errno = 0;
return (-1);
}
if (nap == (struct nd_addrlist *)NULL) {
- endnetconfig(handle);
- (void) sprintf(ebuf, "unknown host %s", hp);
+ (void) endnetconfig(handle);
+ (void) snprintf(ebuf, elen, "unknown host %s", hp);
errno = 0;
return (-1);
}
/* CSTYLED */
if (ismyaddr(nbp)) { /*lint !e644 */
netdir_free((void *)nap, ND_ADDRLIST);
- endnetconfig(handle);
- (void) sprintf(ebuf, "host %s is this host - logging loop",
- hp);
+ (void) endnetconfig(handle);
+ (void) snprintf(ebuf, elen,
+ "host %s is this host - logging loop", hp);
errno = 0;
return (-1);
}
f->f_un.f_forw.f_addr.buf = malloc(nbp->len);
if (f->f_un.f_forw.f_addr.buf == NULL) {
netdir_free((void *)nap, ND_ADDRLIST);
- endnetconfig(handle);
- (void) strcpy(ebuf, "malloc failed");
+ (void) endnetconfig(handle);
+ (void) strlcpy(ebuf, "malloc failed", elen);
return (-1);
}
bcopy(nbp->buf, f->f_un.f_forw.f_addr.buf, nbp->len);
@@ -3908,17 +3919,17 @@ logforward(struct filed *f, char *ebuf)
f->f_file = t_open(ncp->nc_device, O_RDWR, NULL);
if (f->f_file < 0) {
netdir_free((void *)nap, ND_ADDRLIST);
- endnetconfig(handle);
+ (void) endnetconfig(handle);
free(f->f_un.f_forw.f_addr.buf);
- (void) strcpy(ebuf, "t_open");
+ (void) strlcpy(ebuf, "t_open", elen);
return (-1);
}
netdir_free((void *)nap, ND_ADDRLIST);
- endnetconfig(handle);
+ (void) endnetconfig(handle);
if (t_bind(f->f_file, NULL, NULL) < 0) {
- (void) strcpy(ebuf, "t_bind");
+ (void) strlcpy(ebuf, "t_bind", elen);
free(f->f_un.f_forw.f_addr.buf);
- t_close(f->f_file);
+ (void) t_close(f->f_file);
return (-1);
}
return (0);
@@ -3980,7 +3991,7 @@ amiloghost(void)
if (fd < 0) {
netdir_free((void *)nap, ND_ADDRLIST);
- endnetconfig(handle);
+ (void) endnetconfig(handle);
return (0);
}
@@ -3990,14 +4001,14 @@ amiloghost(void)
bind.qlen = 0;
if (t_bind(fd, &bind, bound) == 0) {
- t_close(fd);
- t_free((char *)bound, T_BIND);
+ (void) t_close(fd);
+ (void) t_free((char *)bound, T_BIND);
netdir_free((void *)nap, ND_ADDRLIST);
- endnetconfig(handle);
+ (void) endnetconfig(handle);
return (1);
} else {
- t_close(fd);
- t_free((char *)bound, T_BIND);
+ (void) t_close(fd);
+ (void) t_free((char *)bound, T_BIND);
}
nbp++;
@@ -4006,7 +4017,7 @@ amiloghost(void)
netdir_free((void *)nap, ND_ADDRLIST);
}
- endnetconfig(handle);
+ (void) endnetconfig(handle);
return (0);
}
@@ -4016,7 +4027,7 @@ same_addr(struct netbuf *na, struct netbuf *nb)
char *a, *b;
size_t n;
- assert(a != NULL && b != NULL);
+ assert(na->buf != NULL && nb->buf != NULL);
if (na->len != nb->len) {
return (0);
@@ -4063,7 +4074,7 @@ new_msg(void)
lm->msg[0] = '\0';
lm->ptr = NULL;
- DPRINT2(3, "new_msg(%u): creating msg %p\n", mythreadno, lm);
+ DPRINT2(3, "new_msg(%u): creating msg %p\n", mythreadno, (void *)lm);
return (lm);
}
@@ -4083,7 +4094,7 @@ free_msg(log_message_t *lm)
assert(lm != NULL && lm->refcnt == 0);
if (lm->hlp != NULL)
freehl(lm->hlp);
- DPRINT2(3, "free_msg(%u): freeing msg %p\n", mythreadno, lm);
+ DPRINT2(3, "free_msg(%u): freeing msg %p\n", mythreadno, (void *)lm);
free(lm);
}
@@ -4126,7 +4137,7 @@ filter_string(char *mbstr, char *filtered, size_t max)
* in ASCII format.
*/
DPRINT2(9, "filter_string(%u): Invalid "
- "MB sequence: %d\n", mythreadno,
+ "MB sequence: %ld\n", mythreadno,
wc);
if (!putctrlc(*p++, &filtered, &cs, max)) {
@@ -4154,7 +4165,7 @@ filter_string(char *mbstr, char *filtered, size_t max)
char *q = filtered;
DPRINT2(9, "filter_string(%u): MB"
- " control character: %d\n",
+ " control character: %ld\n",
mythreadno, wc);
while (mlen--) {
@@ -4313,7 +4324,7 @@ static void
filed_destroy(struct filed *f)
{
(void) dataq_destroy(&f->f_queue);
- pthread_mutex_destroy(&f->filed_mutex);
+ (void) pthread_mutex_destroy(&f->filed_mutex);
}
static void
@@ -4347,8 +4358,8 @@ delete_doorfiles(void)
if (lstat(DoorFileName, &sb) == 0 && !S_ISDIR(sb.st_mode)) {
if (unlink(DoorFileName) < 0) {
err = errno;
- (void) sprintf(line, "unlink() of %s failed - fatal",
- DoorFileName);
+ (void) snprintf(line, sizeof (line),
+ "unlink() of %s failed - fatal", DoorFileName);
errno = err;
logerror(line);
DPRINT3(1, "delete_doorfiles(%u): error: %s, "
@@ -4364,14 +4375,15 @@ delete_doorfiles(void)
if (lstat(OLD_DOORFILE, &sb) == 0 && !S_ISDIR(sb.st_mode)) {
if (unlink(OLD_DOORFILE) < 0) {
err = errno;
- (void) sprintf(line, "unlink() of %s "
- "failed", OLD_DOORFILE);
+ (void) snprintf(line, sizeof (line),
+ "unlink() of %s failed", OLD_DOORFILE);
DPRINT2(5, "delete_doorfiles(%u): %s\n",
mythreadno, line);
if (err != EROFS) {
errno = err;
- (void) strcat(line, " - fatal");
+ (void) strlcat(line, " - fatal",
+ sizeof (line));
logerror(line);
DPRINT3(1, "delete_doorfiles(%u): "
"error: %s, errno=%d\n",
@@ -4392,8 +4404,8 @@ delete_doorfiles(void)
if (lstat(PidFileName, &sb) == 0 && !S_ISDIR(sb.st_mode)) {
if (unlink(PidFileName) < 0) {
err = errno;
- (void) sprintf(line, "unlink() of %s failed"
- " - fatal", PidFileName);
+ (void) snprintf(line, sizeof (line),
+ "unlink() of %s failed - fatal", PidFileName);
errno = err;
logerror(line);
DPRINT3(1, "delete_doorfiles(%u): error: %s, "
@@ -4409,14 +4421,15 @@ delete_doorfiles(void)
if (lstat(OLD_PIDFILE, &sb) == 0 && !S_ISDIR(sb.st_mode)) {
if (unlink(OLD_PIDFILE) < 0) {
err = errno;
- (void) sprintf(line, "unlink() of %s failed",
- OLD_PIDFILE);
+ (void) snprintf(line, sizeof (line),
+ "unlink() of %s failed", OLD_PIDFILE);
DPRINT2(5, "delete_doorfiles(%u): %s, \n",
mythreadno, line);
if (err != EROFS) {
errno = err;
- (void) strcat(line, " - fatal");
+ (void) strlcat(line, " - fatal",
+ sizeof (line));
logerror(line);
DPRINT3(1, "delete_doorfiles(%u): "
"error: %s, errno=%d\n",
@@ -4776,28 +4789,26 @@ copy_frwd(char *obuf, const size_t obuflen,
}
/*
- * defaults:
- * Read defaults from file.
+ * properties:
+ * Get properties from SMF framework.
*/
static void
-defaults(void)
+properties(void)
{
- int flags;
- char *ptr;
-
- if (defopen(DflFile) == 0) {
- /*
- * ignore case
- */
- flags = defcntl(DC_GETFLAGS, 0);
- TURNOFF(flags, DC_CASE);
- defcntl(DC_SETFLAGS, flags);
-
- if ((ptr = defread("LOG_FROM_REMOTE=")) != NULL) {
- turnoff = strcasecmp(ptr, "NO") == 0;
+ scf_simple_prop_t *prop;
+ uint8_t *bool;
+
+ if ((prop = scf_simple_prop_get(NULL, NULL, "config",
+ "log_from_remote")) != NULL) {
+ if ((bool = scf_simple_prop_next_boolean(prop)) != NULL) {
+ if (*bool == 0)
+ turnoff = 1; /* log_from_remote = false */
+ else
+ turnoff = 0; /* log_from_remote = true */
}
-
- (void) defopen((char *)NULL);
+ scf_simple_prop_free(prop);
+ DPRINT1(1, "properties: setting turnoff to %s\n",
+ turnoff ? "true" : "false");
}
}
@@ -4845,7 +4856,8 @@ hostname_lookup(void *ap)
(void) dataq_dequeue(&hnlq, (void **)&mp, 0);
DPRINT3(5, "hostname_lookup(%u): dequeued msg %p"
- " from queue %p\n", mythreadno, mp, &hnlq);
+ " from queue %p\n", mythreadno, (void *)mp,
+ (void *)&hnlq);
hip = (host_info_t *)mp->ptr;
if ((uap = taddr2uaddr(hip->ncp, &hip->addr)) != NULL) {
@@ -4871,8 +4883,8 @@ hostname_lookup(void *ap)
continue;
}
- DPRINT3(5, "hostname_lookup(%u): enqueued msg %p on queue %p\n",
- mythreadno, mp, &inputq);
+ DPRINT3(5, "hostname_lookup(%u): enqueued msg %p on queue "
+ "%p\n", mythreadno, (void *)mp, (void *)&inputq);
}
/*NOTREACHED*/
@@ -5115,9 +5127,9 @@ reconfigure()
f->f_type = F_UNUSED;
if (f->f_orig_type == F_FORW)
- t_close(f->f_file);
+ (void) t_close(f->f_file);
else
- close(f->f_file);
+ (void) close(f->f_file);
}
if (Debug) {
@@ -5170,9 +5182,9 @@ thread_stuck:
shutdown_input();
delete_doorfiles();
- uname(&up);
+ (void) uname(&up);
- (void) sprintf(buf,
+ (void) snprintf(buf, sizeof (buf),
"syslogd(%s): some logger thread(s) "
"are stuck%s; syslogd is shutting down.",
up.nodename,
@@ -5182,8 +5194,8 @@ thread_stuck:
FILE *m = popen(MAILCMD, "w");
if (m != NULL) {
- fprintf(m, "%s\n", buf);
- pclose(m);
+ (void) fprintf(m, "%s\n", buf);
+ (void) pclose(m);
}
}
@@ -5261,7 +5273,7 @@ hnc_init(int reinit)
}
if (reinit) {
- pthread_mutex_lock(&hnc_mutex);
+ (void) pthread_mutex_lock(&hnc_mutex);
for (i = 0; i < hnc_size; i++) {
for (hpp = &hnc_cache[i]; *hpp != NULL; ) {
@@ -5269,7 +5281,7 @@ hnc_init(int reinit)
}
}
- pthread_mutex_unlock(&hnc_mutex);
+ (void) pthread_mutex_unlock(&hnc_mutex);
DPRINT1(2, "hnc_init(%u): hostname cache re-configured\n",
mythreadno);
} else {
@@ -5303,18 +5315,19 @@ hnc_lookup(struct netbuf *nbp, struct netconfig *ncp, int *hindex)
return (NULL);
}
- pthread_mutex_lock(&hnc_mutex);
+ (void) pthread_mutex_lock(&hnc_mutex);
now = time(0);
*hindex = index = addr_hash(nbp);
for (hpp = &hnc_cache[index]; (hp = *hpp) != NULL; ) {
DPRINT4(10, "hnc_lookup(%u): check %p on %p for %s\n",
- mythreadno, hp->h, hp, hp->h->hl_hosts[0]);
+ mythreadno, (void *)hp->h, (void *)hp,
+ hp->h->hl_hosts[0]);
if (hp->expire < now) {
DPRINT2(9, "hnc_lookup(%u): purge %p\n",
- mythreadno, hp);
+ mythreadno, (void *)hp);
hnc_unreg(hpp);
continue;
}
@@ -5333,21 +5346,22 @@ hnc_lookup(struct netbuf *nbp, struct netconfig *ncp, int *hindex)
hnc_cache[index] = hp;
}
- pthread_mutex_lock(&hp->h->hl_mutex);
+ (void) pthread_mutex_lock(&hp->h->hl_mutex);
hp->h->hl_refcnt++;
- pthread_mutex_unlock(&hp->h->hl_mutex);
+ (void) pthread_mutex_unlock(&hp->h->hl_mutex);
DPRINT4(9, "hnc_lookup(%u): found %p on %p for %s\n",
- mythreadno, hp->h, hp, hp->h->hl_hosts[0]);
+ mythreadno, (void *)hp->h, (void *)hp,
+ hp->h->hl_hosts[0]);
- pthread_mutex_unlock(&hnc_mutex);
+ (void) pthread_mutex_unlock(&hnc_mutex);
return (hp->h);
}
hpp = &hp->next;
}
- pthread_mutex_unlock(&hnc_mutex);
+ (void) pthread_mutex_unlock(&hnc_mutex);
return (NULL);
}
@@ -5380,7 +5394,7 @@ hnc_register(struct netbuf *nbp, struct netconfig *ncp,
return;
}
- pthread_mutex_lock(&hnc_mutex);
+ (void) pthread_mutex_lock(&hnc_mutex);
i = 0;
@@ -5396,7 +5410,7 @@ hnc_register(struct netbuf *nbp, struct netconfig *ncp,
if (hp->expire < now) {
DPRINT2(9, "hnc_register(%u): discard %p\n",
- mythreadno, hp);
+ mythreadno, (void *)hp);
hnc_unreg(hpp);
} else {
i++;
@@ -5430,8 +5444,8 @@ hnc_register(struct netbuf *nbp, struct netconfig *ncp,
*/
h->hl_refcnt++;
DPRINT4(9, "hnc_register(%u): reg %p onto %p for %s\n",
- mythreadno, h, hp, hp->h->hl_hosts[0]);
- pthread_mutex_unlock(&hnc_mutex);
+ mythreadno, (void *)h, (void *)hp, hp->h->hl_hosts[0]);
+ (void) pthread_mutex_unlock(&hnc_mutex);
}
static void
@@ -5445,7 +5459,7 @@ hnc_unreg(struct hostname_cache **hpp)
}
DPRINT4(9, "hnc_unreg(%u): unreg %p on %p for %s\n",
- mythreadno, hp->h, hp, hp->h->hl_hosts[0]);
+ mythreadno, (void *)hp->h, (void *)hp, hp->h->hl_hosts[0]);
free(hp->addr.buf);
freehl(hp->h);
@@ -5463,11 +5477,11 @@ hnc_unreg(struct hostname_cache **hpp)
static void
disable_errorlog()
{
- dataq_init(&tmpq);
+ (void) dataq_init(&tmpq);
- pthread_mutex_lock(&logerror_lock);
+ (void) pthread_mutex_lock(&logerror_lock);
interrorlog = 0;
- pthread_mutex_unlock(&logerror_lock);
+ (void) pthread_mutex_unlock(&logerror_lock);
}
/*
@@ -5480,9 +5494,9 @@ enable_errorlog()
{
log_message_t *mp;
- pthread_mutex_lock(&logerror_lock);
+ (void) pthread_mutex_lock(&logerror_lock);
interrorlog = 1;
- pthread_mutex_unlock(&logerror_lock);
+ (void) pthread_mutex_unlock(&logerror_lock);
/*
* push all the pending messages into inputq.
@@ -5490,7 +5504,7 @@ enable_errorlog()
while (dataq_dequeue(&tmpq, (void **)&mp, 1) == 0) {
(void) dataq_enqueue(&inputq, mp);
}
- dataq_destroy(&tmpq);
+ (void) dataq_destroy(&tmpq);
}
/*
diff --git a/usr/src/cmd/syslogd/syslogd.dfl b/usr/src/cmd/syslogd/syslogd.dfl
index 9c98a4028e..3055a926b7 100644
--- a/usr/src/cmd/syslogd/syslogd.dfl
+++ b/usr/src/cmd/syslogd/syslogd.dfl
@@ -1,14 +1,10 @@
#ident "%Z%%M% %I% %E% SMI"
#
-# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
+# 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.
@@ -23,14 +19,19 @@
#
# CDDL HEADER END
#
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
# /etc/default/syslogd
#
-# syslogd default settings processed via syslogd(1M).
+# Legacy configuration file for syslogd(1M). See syslogd(1M).
#
-# LOG_FROM_REMOTE affects the logging of remote messages, see syslogd(1M)
-# for details. The default value is "YES". A value of "NO" (any case)
-# results in disabling of remote logging; any other value is ignored.
+# This file should no longer be directly used to configure syslogd.
+# These settings are kept here for backwards compatibility only.
+# Please use svccfg(1M) to modify the properties of syslogd(1M).
#
-# Copy and uncomment the following default lines to change the values.
+# The LOG_FROM_REMOTE setting used to affect the logging of remote
+# messages. Its definition here will override the svccfg(1M) settings
+# for log_from_remote.
#
#LOG_FROM_REMOTE=YES
diff --git a/usr/src/cmd/syslogd/syslogd.h b/usr/src/cmd/syslogd/syslogd.h
index c3020640e6..5606be1a5d 100644
--- a/usr/src/cmd/syslogd/syslogd.h
+++ b/usr/src/cmd/syslogd/syslogd.h
@@ -2,9 +2,8 @@
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
+ * 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.
@@ -20,9 +19,11 @@
* CDDL HEADER END
*/
/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
- *
+ */
+
+/*
* Copyright 1983,1984,1985,1986,1987,1988,1989 AT&T.
* All rights reserved.
*
@@ -255,7 +256,7 @@ static int ismyaddr(struct netbuf *nbp);
static void getnets(void);
static int addnet(struct netconfig *ncp, struct netbuf *nbp);
static void bindnet(void);
-static int logforward(struct filed *f, char *ebuf);
+static int logforward(struct filed *f, char *ebuf, size_t elen);
static int amiloghost(void);
static int same_addr(struct netbuf *, struct netbuf *);
static void prepare_sys_poll(void);
@@ -290,7 +291,7 @@ static size_t copynl_frwd(char *, const size_t, const char *, const size_t);
static size_t copy_frwd(char *, const size_t, const char *, const size_t);
static void logerror_format(const char *, char *, va_list);
static int logerror_to_console(int, const char *);
-static void defaults(void);
+static void properties(void);
static void shutdown_input(void);
static void *hostname_lookup(void *);
static void reconfigure(void);
diff --git a/usr/src/cmd/syslogd/system-log b/usr/src/cmd/syslogd/system-log
index 3290b5d47c..b7608219fc 100644
--- a/usr/src/cmd/syslogd/system-log
+++ b/usr/src/cmd/syslogd/system-log
@@ -19,34 +19,80 @@
#
# CDDL HEADER END
#
-#
# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# ident "%Z%%M% %I% %E% SMI"
+OLD_CONF=/etc/default/syslogd
+
. /lib/svc/share/smf_include.sh
-if [ -f /etc/syslog.conf -a -f /usr/sbin/syslogd ]; then
- if smf_is_globalzone; then
- #
- # Before syslogd starts, save any messages from
- # previous crash dumps so that messages appear
- # in chronological order.
- #
- /usr/bin/savecore -m
- if [ -r /etc/dumpadm.conf ]; then
- . /etc/dumpadm.conf
- [ -n "$DUMPADM_DEVICE" -a \
- "x$DUMPADM_DEVICE" != xswap ] && \
- /usr/bin/savecore -m -f $DUMPADM_DEVICE
+convert()
+{
+ svccfg -s svc:/system/system-log setprop config/log_from_remote = $1
+ if [ $? -ne 0 ]; then
+ svccfg -s svc:/system/system-log addpg config application
+ svccfg -s svc:/system/system-log \
+ addpropvalue config/log_from_remote boolean: $1
+ if [ $? -ne 0 ] ; then
+ echo 'Failed to set remote syslog-logging'
+ exit $SMF_EXIT_ERR_CONFIG
fi
fi
- if [ ! -f /var/adm/messages ]; then
- /usr/bin/cp /dev/null /var/adm/messages
- /usr/bin/chmod 0644 /var/adm/messages
- fi
- /usr/sbin/syslogd >/dev/msglog 2>&1 &
-else
+ echo "Incorporated ${OLD_CONF} settings into SMF. See syslogd(1m)."
+ awk '{
+ if ($1 ~ /^LOG_FROM_REMOTE=/) {
+ print "# LOG_FROM_REMOTE is now set using "
+ "svccfg(1m), see syslog(1m).";
+ } else {
+ print $0;
+ }
+ }' ${OLD_CONF} >${OLD_CONF}.new && cp ${OLD_CONF}.new ${OLD_CONF}
+ rm -f ${OLD_CONF}.new
+}
+
+if [ ! -f /etc/syslog.conf ]; then
+ echo "/etc/syslog.conf is missing. Exiting."
+ exit $SMF_EXIT_ERR_CONFIG
+fi
+
+if [ ! -x /usr/sbin/syslogd ]; then
+ echo "Executable /usr/sbin/syslogd not found. Exiting"
exit $SMF_EXIT_ERR_CONFIG
fi
+
+if smf_is_globalzone; then
+ #
+ # Before syslogd starts, save any messages from
+ # previous crash dumps so that messages appear
+ # in chronological order.
+ #
+ /usr/bin/savecore -m
+ if [ -r /etc/dumpadm.conf ]; then
+ . /etc/dumpadm.conf
+ [ -n "$DUMPADM_DEVICE" -a \
+ "x$DUMPADM_DEVICE" != xswap ] && \
+ /usr/bin/savecore -m -f $DUMPADM_DEVICE
+ fi
+fi
+if [ ! -f /var/adm/messages ]; then
+ /usr/bin/cp /dev/null /var/adm/messages
+ /usr/bin/chmod 0644 /var/adm/messages
+fi
+remote=`awk -F= '
+ /^LOG_FROM_REMOTE=[yY][Ee][Ss]/ {print "true"}
+ /^LOG_FROM_REMOTE=[Nn][Oo]/ {print "false"}' < ${OLD_CONF}`
+case ${remote} in
+"")
+ ;;
+"true"|"false")
+ convert ${remote}
+ ;;
+*)
+ echo "Unsupported value in for LOG_FROM_REMOTE in ${OLD_CONF}"
+ exit $SMF_EXIT_ERR_CONFIG
+ ;;
+esac
+
+/usr/sbin/syslogd >/dev/msglog 2>&1 &
diff --git a/usr/src/cmd/syslogd/system-log.xml b/usr/src/cmd/syslogd/system-log.xml
index 2ac7bc8140..f52e5f0f84 100644
--- a/usr/src/cmd/syslogd/system-log.xml
+++ b/usr/src/cmd/syslogd/system-log.xml
@@ -1,35 +1,34 @@
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--
- Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- Use is subject to license terms.
-
- CDDL HEADER START
-
- The contents of this file are subject to the terms of the
- Common Development and Distribution License, Version 1.0 only
- (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
-
- ident "%Z%%M% %I% %E% SMI"
-
- NOTE: This service manifest is not editable; its contents will
- be overwritten by package or patch operations, including
- operating system upgrade. Make customizations in a different
- file.
+ 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 2006 Sun Microsystems, Inc. All rights reserved.
+ Use is subject to license terms.
+
+ ident "%Z%%M% %I% %E% SMI"
+
+ NOTE: This service manifest is not editable; its contents will
+ be overwritten by package or patch operations, including
+ operating system upgrade. Make customizations in a different
+ file.
-->
<service_bundle type='manifest' name='SUNWcsr:syslog'>
@@ -119,6 +118,24 @@
value='solaris.smf.manage.system-log' />
</property_group>
+ <property_group name='config' type='application'>
+ <!-- default property settings for syslogd(1m) -->
+
+ <!-- Specifies whether remote messages are logged.
+ log_from_remote=false is equivalent to the -t
+ command-line option. The default value for
+ log_from_remote is true.
+ -->
+ <propval
+ name='log_from_remote'
+ type='boolean'
+ value='true' />
+
+ <!-- authorization to modify the configuration properties -->
+ <propval name='value_authorization' type='astring'
+ value='solaris.smf.value.system-log' />
+ </property_group>
+
<stability value='Unstable' />
<template>
diff --git a/usr/src/lib/libsecdb/auth_attr.txt b/usr/src/lib/libsecdb/auth_attr.txt
index bad6d4e396..b667fa61dc 100644
--- a/usr/src/lib/libsecdb/auth_attr.txt
+++ b/usr/src/lib/libsecdb/auth_attr.txt
@@ -1,7 +1,4 @@
#
-# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
@@ -21,6 +18,9 @@
#
# CDDL HEADER END
#
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
# /etc/security/auth_attr
#
# authorizations. see auth_attr(4)
@@ -84,6 +84,7 @@ solaris.smf.manage.bind:::Manage DNS Service States::help=BindStates.html
solaris.smf.manage.cron:::Manage Cron Service States::help=SmfCronStates.html
solaris.smf.manage.name-service-cache:::Manage Name Service Cache Daemon Service States::help=SmfNscdStates.html
solaris.smf.manage.power:::Manage Power Management Service States::help=SmfPowerStates.html
+solaris.smf.manage.rpc.bind:::Manage RPC Program number mapper::help=SmfRPCBind.html
solaris.smf.manage.sendmail:::Manage Sendmail Service States::help=SmfSendmailStates.html
solaris.smf.manage.ssh:::Manage Secure Shell Service States::help=SmfSshStates.html
solaris.smf.manage.system-log:::Manage Syslog Service States::help=SmfSyslogStates.html
diff --git a/usr/src/pkgdefs/SUNWcsr/postinstall b/usr/src/pkgdefs/SUNWcsr/postinstall
index 87d05581b9..ef1292c200 100644
--- a/usr/src/pkgdefs/SUNWcsr/postinstall
+++ b/usr/src/pkgdefs/SUNWcsr/postinstall
@@ -18,7 +18,6 @@
#
# CDDL HEADER END
#
-#
# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
@@ -200,4 +199,25 @@ if [ $? -eq 0 ]; then
fi
_ENABLE_AUDIT
+if [ -f $BASEDIR/var/SUNWcsr-apply-limited-net ]; then
+ PROFILEDIR=$BASEDIR/var/svc/profile
+ UPGRADEFILE=${PROFILEDIR}/upgrade
+ ln -sf ./generic_limited_net.xml ${PROFILEDIR}/generic.xml
+ cat >> ${UPGRADEFILE} <<\_ENABLE_LIMITED_NET
+#
+# apply the generic_limit_net profile selected at install
+# time, and set the accompanying properties since they can't
+# be readily set in the profile as of yet.
+#
+apply_limited_net()
+{
+ /usr/sbin/netservices limited
+}
+
+# apply_limited_net as last action of this upgrade script
+trap apply_limited_net 0
+
+_ENABLE_LIMITED_NET
+ rm -f $BASEDIR/var/SUNWcsr-apply-limited-net
+fi
exit 0
diff --git a/usr/src/pkgdefs/SUNWcsr/preinstall b/usr/src/pkgdefs/SUNWcsr/preinstall
index 9c39f8405c..aae76e6b61 100644
--- a/usr/src/pkgdefs/SUNWcsr/preinstall
+++ b/usr/src/pkgdefs/SUNWcsr/preinstall
@@ -2,9 +2,8 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
+# 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.
@@ -19,8 +18,7 @@
#
# CDDL HEADER END
#
-#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "%Z%%M% %I% %E% SMI"
@@ -87,4 +85,14 @@ if [ "x$UPDATE" = xyes ]; then
fi
+# We apply the limited profile on initial installs of the OS and of
+# initial installs of zones. We don't apply it on upgrades or patches.
+
+if [ "x$PKG_INIT_INSTALL" = "xTRUE" ]; then
+ touch $BASEDIR/var/SUNWcsr-apply-limited-net
+elif [ `/sbin/zonename` = "global" -a "x$SUNW_PKG_INSTALL_ZONENAME" != "x" -a \
+ "x$SUNW_PKG_INSTALL_ZONENAME" != "xglobal" ]; then
+ touch $BASEDIR/var/SUNWcsr-apply-limited-net
+fi
+
exit 0
diff --git a/usr/src/pkgdefs/SUNWcsr/prototype_com b/usr/src/pkgdefs/SUNWcsr/prototype_com
index abe3f75780..1b1d0bd2be 100644
--- a/usr/src/pkgdefs/SUNWcsr/prototype_com
+++ b/usr/src/pkgdefs/SUNWcsr/prototype_com
@@ -508,7 +508,6 @@ f manifest var/svc/manifest/system/svc/restarter.xml 0444 root sys
d none var/svc/profile 755 root sys
f none var/svc/profile/generic_open.xml 0444 root sys
f none var/svc/profile/generic_limited_net.xml 0444 root sys
-s none var/svc/profile/generic.xml=./generic_open.xml
f none var/svc/profile/inetd_generic.xml 0444 root sys
f none var/svc/profile/inetd_upgrade.xml 0444 root sys
f none var/svc/profile/ns_files.xml 0444 root sys
diff --git a/usr/src/pkgdefs/SUNWcsu/prototype_com b/usr/src/pkgdefs/SUNWcsu/prototype_com
index f855a12975..3a7234168f 100644
--- a/usr/src/pkgdefs/SUNWcsu/prototype_com
+++ b/usr/src/pkgdefs/SUNWcsu/prototype_com
@@ -57,8 +57,8 @@ f none usr/bin/auths 555 root bin
f none usr/bin/basename 555 root bin
l none usr/bin/bg=../../usr/bin/alias
f none usr/bin/busstat 555 root bin
-s none usr/bin/cachefsstat=../lib/fs/cachefs/cachefsstat
s none usr/bin/cachefspack=../lib/fs/cachefs/cachefspack
+s none usr/bin/cachefsstat=../lib/fs/cachefs/cachefsstat
f none usr/bin/captoinfo 555 root bin
f none usr/bin/cat 555 root bin
l none usr/bin/cd=../../usr/bin/alias
@@ -150,12 +150,12 @@ l none usr/bin/i486=../../usr/bin/i286
l none usr/bin/i860=../../usr/bin/i286
l none usr/bin/i86pc=../../usr/bin/i286
l none usr/bin/iAPX286=../../usr/bin/i286
-f none usr/bin/isainfo 555 root bin
-f none usr/bin/isalist 555 root bin
f none usr/bin/iconv 555 root bin
f none usr/bin/id 555 root bin
f none usr/bin/infocmp 555 root bin
f none usr/bin/iostat 555 root bin
+f none usr/bin/isainfo 555 root bin
+f none usr/bin/isalist 555 root bin
l none usr/bin/jobs=../../usr/bin/alias
f none usr/bin/join 555 root bin
s none usr/bin/jsh=../../sbin/sh
@@ -191,6 +191,7 @@ f none usr/bin/mkpwdict 555 root bin
f none usr/bin/mktemp 555 root bin
f none usr/bin/moe 555 root bin
f none usr/bin/more 555 root bin
+f none usr/bin/mpstat 555 root bin
f none usr/bin/mt 555 root bin
l none usr/bin/mv=../../usr/bin/cp
f none usr/bin/netstat 555 root bin
@@ -207,8 +208,8 @@ f none usr/bin/patch 555 root bin
f none usr/bin/pathchk 555 root bin
f none usr/bin/pax 555 root bin
l none usr/bin/pdp11=../../usr/bin/i286
-f none usr/bin/pfexec 4555 root bin
l none usr/bin/pfcsh=../../usr/bin/csh
+f none usr/bin/pfexec 4555 root bin
l none usr/bin/pfksh=../../usr/bin/ksh
s none usr/bin/pfsh=../../sbin/sh
f none usr/bin/pg 555 root bin
@@ -218,9 +219,9 @@ f none usr/bin/pktool 555 root bin
f none usr/bin/pr 555 root bin
l none usr/bin/prctl=../../usr/lib/isaexec
f none usr/bin/priocntl 555 root bin
+f none usr/bin/profiles 555 root bin
f none usr/bin/projects 555 root bin
l none usr/bin/prstat=../../usr/lib/isaexec
-f none usr/bin/profiles 555 root bin
l none usr/bin/ps=../../usr/lib/isaexec
f none usr/bin/putdev 555 root bin
f none usr/bin/putdgrp 555 root bin
@@ -252,7 +253,6 @@ f none usr/bin/strconf 555 root root
s none usr/bin/strerr=../sbin/strerr
f none usr/bin/stty 555 root bin
f none usr/bin/su 4555 root sys
-l none usr/bin/sun=../../usr/bin/i286
l none usr/bin/sun2=../../usr/bin/i286
l none usr/bin/sun3=../../usr/bin/i286
l none usr/bin/sun3x=../../usr/bin/i286
@@ -261,6 +261,7 @@ l none usr/bin/sun4c=../../usr/bin/i286
l none usr/bin/sun4d=../../usr/bin/i286
l none usr/bin/sun4e=../../usr/bin/i286
l none usr/bin/sun4m=../../usr/bin/i286
+l none usr/bin/sun=../../usr/bin/i286
f none usr/bin/svcprop 0555 root bin
f none usr/bin/svcs 0555 root bin
s none usr/bin/sync=../../sbin/sync
@@ -281,10 +282,10 @@ f none usr/bin/tty 555 root bin
l none usr/bin/type=../../usr/bin/alias
f none usr/bin/tzselect 555 root bin
l none usr/bin/u370=../../usr/bin/i286
-l none usr/bin/u3b=../../usr/bin/i286
l none usr/bin/u3b15=../../usr/bin/i286
l none usr/bin/u3b2=../../usr/bin/i286
l none usr/bin/u3b5=../../usr/bin/i286
+l none usr/bin/u3b=../../usr/bin/i286
l none usr/bin/ulimit=../../usr/bin/alias
l none usr/bin/umask=../../usr/bin/alias
l none usr/bin/unalias=../../usr/bin/alias
@@ -332,52 +333,52 @@ d none usr/lib/class 755 root bin
d none usr/lib/class/FX 755 root bin
f none usr/lib/class/FX/FXdispadmin 555 root bin
f none usr/lib/class/FX/FXpriocntl 555 root bin
+d none usr/lib/class/IA 755 root bin
+f none usr/lib/class/IA/IAdispadmin 555 root bin
+f none usr/lib/class/IA/IApriocntl 555 root bin
d none usr/lib/class/RT 755 root bin
f none usr/lib/class/RT/RTdispadmin 555 root bin
f none usr/lib/class/RT/RTpriocntl 555 root bin
d none usr/lib/class/TS 755 root bin
f none usr/lib/class/TS/TSdispadmin 555 root bin
f none usr/lib/class/TS/TSpriocntl 555 root bin
-d none usr/lib/class/IA 755 root bin
-f none usr/lib/class/IA/IAdispadmin 555 root bin
-f none usr/lib/class/IA/IApriocntl 555 root bin
s none usr/lib/cron=../../etc/cron.d
d none usr/lib/crypto 755 root bin
f none usr/lib/crypto/kcfd 555 root bin
d none usr/lib/devfsadm 755 root sys
-d none usr/lib/devfsadm/linkmod 755 root sys
s none usr/lib/devfsadm/devfsadmd=../../sbin/devfsadm
+d none usr/lib/devfsadm/linkmod 755 root sys
f none usr/lib/devfsadm/linkmod/SUNW_audio_link.so 755 root sys
f none usr/lib/devfsadm/linkmod/SUNW_cfg_link.so 755 root sys
f none usr/lib/devfsadm/linkmod/SUNW_disk_link.so 755 root sys
f none usr/lib/devfsadm/linkmod/SUNW_fssnap_link.so 755 root sys
f none usr/lib/devfsadm/linkmod/SUNW_lofi_link.so 755 root sys
+f none usr/lib/devfsadm/linkmod/SUNW_md_link.so 755 root sys
f none usr/lib/devfsadm/linkmod/SUNW_misc_link.so 755 root sys
f none usr/lib/devfsadm/linkmod/SUNW_port_link.so 755 root sys
f none usr/lib/devfsadm/linkmod/SUNW_ramdisk_link.so 755 root sys
f none usr/lib/devfsadm/linkmod/SUNW_sgen_link.so 755 root sys
f none usr/lib/devfsadm/linkmod/SUNW_tape_link.so 755 root sys
f none usr/lib/devfsadm/linkmod/SUNW_usb_link.so 755 root sys
-f none usr/lib/devfsadm/linkmod/SUNW_md_link.so 755 root sys
f none usr/lib/diffh 555 root bin
s none usr/lib/embedded_su=../bin/su
f none usr/lib/expreserve 555 root bin
f none usr/lib/exrecover 555 root bin
d none usr/lib/fs 755 root sys
d none usr/lib/fs/cachefs 755 root sys
-f none usr/lib/fs/cachefs/cfsadmin 555 root bin
-f none usr/lib/fs/cachefs/cachefsstat 555 root bin
+f none usr/lib/fs/cachefs/cachefsd 555 root bin
f none usr/lib/fs/cachefs/cachefslog 555 root bin
+f none usr/lib/fs/cachefs/cachefspack 555 root bin
+f none usr/lib/fs/cachefs/cachefsstat 555 root bin
f none usr/lib/fs/cachefs/cachefswssize 555 root bin
+f none usr/lib/fs/cachefs/cfsadmin 555 root bin
f none usr/lib/fs/cachefs/cfsfstype 555 root bin
f none usr/lib/fs/cachefs/cfstagchk 555 root bin
+f none usr/lib/fs/cachefs/dfshares 555 root bin
f none usr/lib/fs/cachefs/fsck 555 root bin
f none usr/lib/fs/cachefs/mount 555 root bin
-f none usr/lib/fs/cachefs/umount 555 root bin
-f none usr/lib/fs/cachefs/cachefspack 555 root bin
-f none usr/lib/fs/cachefs/cachefsd 555 root bin
-f none usr/lib/fs/cachefs/dfshares 555 root bin
f none usr/lib/fs/cachefs/share 555 root bin
+f none usr/lib/fs/cachefs/umount 555 root bin
f none usr/lib/fs/cachefs/unshare 555 root bin
d none usr/lib/fs/ctfs 755 root sys
f none usr/lib/fs/ctfs/mount 555 root bin
@@ -432,39 +433,37 @@ d none usr/lib/help 755 root bin
d none usr/lib/help/auths 755 root bin
d none usr/lib/help/auths/locale 755 root bin
d none usr/lib/help/auths/locale/C 755 root bin
+f none usr/lib/help/auths/locale/C/AllSolAuthsHeader.html 444 root bin
f none usr/lib/help/auths/locale/C/AuditConfig.html 444 root bin
f none usr/lib/help/auths/locale/C/AuditHeader.html 444 root bin
f none usr/lib/help/auths/locale/C/AuditRead.html 444 root bin
+f none usr/lib/help/auths/locale/C/AuthJobsAdmin.html 444 root bin
+f none usr/lib/help/auths/locale/C/AuthJobsUser.html 444 root bin
+f none usr/lib/help/auths/locale/C/AuthProfmgrAssign.html 444 root bin
+f none usr/lib/help/auths/locale/C/AuthProfmgrDelegate.html 444 root bin
+f none usr/lib/help/auths/locale/C/AuthProfmgrExecattrWrite.html 444 root bin
+f none usr/lib/help/auths/locale/C/AuthProfmgrRead.html 444 root bin
+f none usr/lib/help/auths/locale/C/AuthProfmgrWrite.html 444 root bin
+f none usr/lib/help/auths/locale/C/AuthRoleAssign.html 444 root bin
+f none usr/lib/help/auths/locale/C/AuthRoleDelegate.html 444 root bin
+f none usr/lib/help/auths/locale/C/AuthRoleWrite.html 444 root bin
+f none usr/lib/help/auths/locale/C/BindStates.html 444 root bin
f none usr/lib/help/auths/locale/C/DevAllocHeader.html 444 root bin
f none usr/lib/help/auths/locale/C/DevAllocate.html 444 root bin
f none usr/lib/help/auths/locale/C/DevConfig.html 444 root bin
f none usr/lib/help/auths/locale/C/DevGrant.html 444 root bin
f none usr/lib/help/auths/locale/C/DevRevoke.html 444 root bin
+f none usr/lib/help/auths/locale/C/DhcpmgrHeader.html 444 root bin
+f none usr/lib/help/auths/locale/C/DhcpmgrWrite.html 444 root bin
f none usr/lib/help/auths/locale/C/JobHeader.html 444 root bin
-f none usr/lib/help/auths/locale/C/AuthJobsAdmin.html 444 root bin
f none usr/lib/help/auths/locale/C/JobsGrant.html 444 root bin
-f none usr/lib/help/auths/locale/C/AuthJobsUser.html 444 root bin
f none usr/lib/help/auths/locale/C/LoginEnable.html 444 root bin
f none usr/lib/help/auths/locale/C/LoginHeader.html 444 root bin
f none usr/lib/help/auths/locale/C/LoginRemote.html 444 root bin
+f none usr/lib/help/auths/locale/C/NetworkHeader.html 444 root bin
f none usr/lib/help/auths/locale/C/PriAdmin.html 444 root bin
-f none usr/lib/help/auths/locale/C/AuthProfmgrAssign.html 444 root bin
-f none usr/lib/help/auths/locale/C/AuthProfmgrDelegate.html 444 root bin
-f none usr/lib/help/auths/locale/C/AuthProfmgrExecattrWrite.html 444 root bin
-f none usr/lib/help/auths/locale/C/AuthProfmgrRead.html 444 root bin
f none usr/lib/help/auths/locale/C/ProfmgrHeader.html 444 root bin
-f none usr/lib/help/auths/locale/C/AuthProfmgrWrite.html 444 root bin
-f none usr/lib/help/auths/locale/C/AuthRoleAssign.html 444 root bin
-f none usr/lib/help/auths/locale/C/AuthRoleDelegate.html 444 root bin
f none usr/lib/help/auths/locale/C/RoleHeader.html 444 root bin
-f none usr/lib/help/auths/locale/C/AuthRoleWrite.html 444 root bin
-f none usr/lib/help/auths/locale/C/SysDate.html 444 root bin
-f none usr/lib/help/auths/locale/C/SysHeader.html 444 root bin
-f none usr/lib/help/auths/locale/C/SysShutdown.html 444 root bin
-f none usr/lib/help/auths/locale/C/AllSolAuthsHeader.html 444 root bin
-f none usr/lib/help/auths/locale/C/DhcpmgrHeader.html 444 root bin
-f none usr/lib/help/auths/locale/C/DhcpmgrWrite.html 444 root bin
-f none usr/lib/help/auths/locale/C/BindStates.html 444 root bin
f none usr/lib/help/auths/locale/C/SmfAutofsStates.html 444 root bin
f none usr/lib/help/auths/locale/C/SmfCronStates.html 444 root bin
f none usr/lib/help/auths/locale/C/SmfHeader.html 444 root bin
@@ -480,7 +479,9 @@ f none usr/lib/help/auths/locale/C/SmfSendmailStates.html 444 root bin
f none usr/lib/help/auths/locale/C/SmfSshStates.html 444 root bin
f none usr/lib/help/auths/locale/C/SmfSyslogStates.html 444 root bin
f none usr/lib/help/auths/locale/C/SmfValueHeader.html 444 root bin
-f none usr/lib/help/auths/locale/C/NetworkHeader.html 444 root bin
+f none usr/lib/help/auths/locale/C/SysDate.html 444 root bin
+f none usr/lib/help/auths/locale/C/SysHeader.html 444 root bin
+f none usr/lib/help/auths/locale/C/SysShutdown.html 444 root bin
f none usr/lib/help/auths/locale/C/WifiConfig.html 444 root bin
f none usr/lib/help/auths/locale/C/WifiWep.html 444 root bin
d none usr/lib/help/profiles 755 root bin
@@ -489,15 +490,21 @@ d none usr/lib/help/profiles/locale/C 755 root bin
f none usr/lib/help/profiles/locale/C/RtAll.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtAuditCtrl.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtAuditReview.html 444 root bin
-f none usr/lib/help/profiles/locale/C/RtDeviceMngmnt.html 444 root bin
-f none usr/lib/help/profiles/locale/C/RtPrntAdmin.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtContractObserver.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtCronMngmnt.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtCryptoMngmnt.html 444 root bin
-f none usr/lib/help/profiles/locale/C/RtLogMngmnt.html 444 root bin
+f none usr/lib/help/profiles/locale/C/RtDHCPMngmnt.html 444 root bin
+f none usr/lib/help/profiles/locale/C/RtDatAdmin.html 444 root bin
+f none usr/lib/help/profiles/locale/C/RtDefault.html 444 root bin
+f none usr/lib/help/profiles/locale/C/RtDeviceMngmnt.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtDeviceSecurity.html 444 root bin
-f none usr/lib/help/profiles/locale/C/RtFileSysMngmnt.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtFTPMngmnt.html 444 root bin
+f none usr/lib/help/profiles/locale/C/RtFileSysMngmnt.html 444 root bin
+f none usr/lib/help/profiles/locale/C/RtFileSysSecurity.html 444 root bin
+f none usr/lib/help/profiles/locale/C/RtIPFilterMngmnt.html 444 root bin
+f none usr/lib/help/profiles/locale/C/RtKerberosClntMngmnt.html 444 root bin
+f none usr/lib/help/profiles/locale/C/RtKerberosSrvrMngmnt.html 444 root bin
+f none usr/lib/help/profiles/locale/C/RtLogMngmnt.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtMailMngmnt.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtMaintAndRepair.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtMediaBkup.html 444 root bin
@@ -509,19 +516,13 @@ f none usr/lib/help/profiles/locale/C/RtNetSecure.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtNetWifiMngmnt.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtNetWifiSecure.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtObAccessMngmnt.html 444 root bin
+f none usr/lib/help/profiles/locale/C/RtPrntAdmin.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtProcManagement.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtRightsDelegate.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtSoftwareInstall.html 444 root bin
+f none usr/lib/help/profiles/locale/C/RtSysEvMngmnt.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtUserMngmnt.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtUserSecurity.html 444 root bin
-f none usr/lib/help/profiles/locale/C/RtDefault.html 444 root bin
-f none usr/lib/help/profiles/locale/C/RtFileSysSecurity.html 444 root bin
-f none usr/lib/help/profiles/locale/C/RtDHCPMngmnt.html 444 root bin
-f none usr/lib/help/profiles/locale/C/RtSysEvMngmnt.html 444 root bin
-f none usr/lib/help/profiles/locale/C/RtKerberosClntMngmnt.html 444 root bin
-f none usr/lib/help/profiles/locale/C/RtKerberosSrvrMngmnt.html 444 root bin
-f none usr/lib/help/profiles/locale/C/RtIPFilterMngmnt.html 444 root bin
-f none usr/lib/help/profiles/locale/C/RtDatAdmin.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtZFSFileSysMngmnt.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtZFSStorageMngmnt.html 444 root bin
f none usr/lib/help/profiles/locale/C/RtZoneMngmnt.html 444 root bin
@@ -558,8 +559,8 @@ f none usr/lib/kssladm 555 root bin
s none usr/lib/ld.so.1=../../lib/ld.so.1
d none usr/lib/locale 755 root bin
d none usr/lib/locale/C 755 root bin
-d none usr/lib/locale/C/LC_CTYPE 755 root bin
d none usr/lib/locale/C/LC_COLLATE 755 root bin
+d none usr/lib/locale/C/LC_CTYPE 755 root bin
d none usr/lib/locale/C/LC_MESSAGES 755 root bin
d none usr/lib/locale/C/LC_MONETARY 755 root bin
d none usr/lib/locale/C/LC_NUMERIC 755 root bin
@@ -567,11 +568,11 @@ d none usr/lib/locale/C/LC_TIME 755 root bin
f none usr/lib/locale/C/locale_description 444 root bin
s none usr/lib/locale/POSIX=./C
d none usr/lib/localedef 755 root bin
-d none usr/lib/localedef/src 755 root bin
-f none usr/lib/makekey 555 root bin
d none usr/lib/localedef/extensions 755 root bin
f none usr/lib/localedef/extensions/generic_eucbc.x 444 root bin
f none usr/lib/localedef/extensions/single_byte.x 444 root bin
+d none usr/lib/localedef/src 755 root bin
+f none usr/lib/makekey 555 root bin
f none usr/lib/more.help 644 root bin
d none usr/lib/netsvc 755 root sys
f none usr/lib/newsyslog 555 root sys
@@ -583,14 +584,14 @@ f none usr/lib/platexec 555 root bin
f none usr/lib/pt_chmod 4511 root bin
d none usr/lib/rcm 755 root bin
d none usr/lib/rcm/modules 755 root bin
-f none usr/lib/rcm/modules/SUNW_filesys_rcm.so 555 root bin
+f none usr/lib/rcm/modules/SUNW_cluster_rcm.so 555 root bin
f none usr/lib/rcm/modules/SUNW_dump_rcm.so 555 root bin
+f none usr/lib/rcm/modules/SUNW_filesys_rcm.so 555 root bin
+f none usr/lib/rcm/modules/SUNW_ip_anon_rcm.so 555 root bin
f none usr/lib/rcm/modules/SUNW_ip_rcm.so 555 root bin
+f none usr/lib/rcm/modules/SUNW_mpxio_rcm.so 555 root bin
f none usr/lib/rcm/modules/SUNW_network_rcm.so 555 root bin
f none usr/lib/rcm/modules/SUNW_swap_rcm.so 555 root bin
-f none usr/lib/rcm/modules/SUNW_cluster_rcm.so 555 root bin
-f none usr/lib/rcm/modules/SUNW_ip_anon_rcm.so 555 root bin
-f none usr/lib/rcm/modules/SUNW_mpxio_rcm.so 555 root bin
f none usr/lib/rcm/rcm_daemon 555 root bin
d none usr/lib/rcm/scripts 755 root bin
s none usr/lib/rsh=../../sbin/sh
@@ -599,24 +600,24 @@ f none usr/lib/saf/listen 755 root sys
f none usr/lib/saf/nlps_server 755 root sys
f none usr/lib/saf/sac 555 root sys
f none usr/lib/saf/ttymon 555 root sys
-d none usr/lib/security 755 root bin
d none usr/lib/secure 755 root bin
s none usr/lib/secure/32=.
+d none usr/lib/security 755 root bin
d none usr/lib/sysevent 755 root bin
d none usr/lib/sysevent/modules 755 root bin
-f none usr/lib/sysevent/syseventd 555 root bin
-f none usr/lib/sysevent/syseventconfd 555 root bin
f none usr/lib/sysevent/modules/devfsadmd_mod.so 755 root bin
f none usr/lib/sysevent/modules/sysevent_conf_mod.so 755 root bin
f none usr/lib/sysevent/modules/sysevent_reg_mod.so 755 root bin
-d none usr/lib/term 755 root bin
+f none usr/lib/sysevent/syseventconfd 555 root bin
+f none usr/lib/sysevent/syseventd 555 root bin
f none usr/lib/t300 555 root bin
f none usr/lib/t300s 555 root bin
f none usr/lib/t4014 555 root bin
f none usr/lib/t450 555 root bin
-f none usr/lib/vplot 555 root bin
+d none usr/lib/term 755 root bin
f none usr/lib/utmp_update 4555 root bin
f none usr/lib/utmpd 555 root bin
+f none usr/lib/vplot 555 root bin
s none usr/mail=../var/mail
d none usr/net 755 root sys
d none usr/net/nls 755 root sys
@@ -667,14 +668,14 @@ d none usr/sadm/install 755 root bin
f none usr/sadm/install/miniroot.db 444 root sys
d none usr/sadm/install/scripts 755 root bin
f none usr/sadm/install/scripts/i.ipsecalgs 555 root sys
-f none usr/sadm/install/scripts/r.ipsecalgs 555 root sys
f none usr/sadm/install/scripts/i.kcfconf 555 root sys
-f none usr/sadm/install/scripts/r.kcfconf 555 root sys
f none usr/sadm/install/scripts/i.manifest 555 root sys
-f none usr/sadm/install/scripts/r.manifest 555 root sys
f none usr/sadm/install/scripts/i.pkcs11conf 555 root sys
-f none usr/sadm/install/scripts/r.pkcs11conf 555 root sys
f none usr/sadm/install/scripts/i.rbac 555 root sys
+f none usr/sadm/install/scripts/r.ipsecalgs 555 root sys
+f none usr/sadm/install/scripts/r.kcfconf 555 root sys
+f none usr/sadm/install/scripts/r.manifest 555 root sys
+f none usr/sadm/install/scripts/r.pkcs11conf 555 root sys
f none usr/sadm/install/scripts/r.rbac 555 root sys
d none usr/sadm/sysadm 755 root bin
d none usr/sadm/sysadm/add-ons 755 root bin
@@ -692,36 +693,24 @@ f none usr/sbin/auditconfig 555 root bin
f none usr/sbin/auditd 555 root bin
f none usr/sbin/auditreduce 555 root bin
f none usr/sbin/auditstat 555 root bin
-f none usr/sbin/cfgadm 555 root bin
-s none usr/sbin/cfsadmin=../lib/fs/cachefs/cfsadmin
-s none usr/sbin/cachefslog=../lib/fs/cachefs/cachefslog
-s none usr/sbin/cachefswssize=../lib/fs/cachefs/cachefswssize
-f none usr/sbin/clear_locks 555 root bin
-f none usr/sbin/cryptoadm 555 root bin
-l none usr/sbin/deallocate=../../usr/sbin/allocate
-f none usr/sbin/dminfo 555 root bin
-s none usr/sbin/fdisk=../../sbin/fdisk
-f none usr/sbin/ikeadm 555 root bin
-f none usr/sbin/ikecert 555 root bin
-f none usr/sbin/ipaddrsel 555 root bin
-f none usr/sbin/ipsecalgs 555 root bin
-f none usr/sbin/ipsecconf 555 root bin
-f none usr/sbin/ipseckey 555 root bin
-l none usr/sbin/list_devices=../../usr/sbin/allocate
-f none usr/sbin/mkdevalloc 555 root bin
-l none usr/sbin/mkdevmaps=../../usr/sbin/mkdevalloc
-f none usr/sbin/praudit 555 root bin
l none usr/sbin/audlinks=./devfsadm
s none usr/sbin/autopush=../../sbin/autopush
-f none usr/sbin/bsmrecord 555 root bin
s none usr/sbin/bootadm=../../sbin/bootadm
+f none usr/sbin/bsmrecord 555 root bin
+s none usr/sbin/cachefslog=../lib/fs/cachefs/cachefslog
+s none usr/sbin/cachefswssize=../lib/fs/cachefs/cachefswssize
+f none usr/sbin/cfgadm 555 root bin
+s none usr/sbin/cfsadmin=../lib/fs/cachefs/cfsadmin
f none usr/sbin/chroot 555 root bin
+f none usr/sbin/clear_locks 555 root bin
f none usr/sbin/clinfo 555 root bin
f none usr/sbin/clri 555 root bin
f none usr/sbin/consadm 555 root sys
l none usr/sbin/consadmd=../../usr/sbin/consadm
f none usr/sbin/cron 555 root sys
+f none usr/sbin/cryptoadm 555 root bin
s none usr/sbin/dcopy=./clri
+l none usr/sbin/deallocate=../../usr/sbin/allocate
f none usr/sbin/devfsadm 755 root sys
f none usr/sbin/devinfo 555 root bin
l none usr/sbin/devlinks=./devfsadm
@@ -732,10 +721,12 @@ l none usr/sbin/dfshares=../../usr/sbin/dfmounts
l none usr/sbin/disks=./devfsadm
f none usr/sbin/dispadmin 555 root bin
s none usr/sbin/dladm=../../sbin/dladm
+f none usr/sbin/dminfo 555 root bin
l none usr/sbin/drvconfig=./devfsadm
f none usr/sbin/dumpadm 555 root bin
s none usr/sbin/edquota=../lib/fs/ufs/edquota
l none usr/sbin/eeprom=../../usr/lib/platexec
+s none usr/sbin/fdisk=../../sbin/fdisk
f none usr/sbin/ff 555 root bin
f none usr/sbin/fmthard 555 root sys
f none usr/sbin/format 555 root bin
@@ -753,23 +744,33 @@ f none usr/sbin/groupmod 555 root sys
f none usr/sbin/grpck 555 root bin
f none usr/sbin/halt 755 root bin
s none usr/sbin/hostconfig=../../sbin/hostconfig
-s none usr/sbin/ifconfig=../../sbin/ifconfig
f none usr/sbin/if_mpadm 555 root bin
+s none usr/sbin/ifconfig=../../sbin/ifconfig
+f none usr/sbin/ikeadm 555 root bin
+f none usr/sbin/ikecert 555 root bin
f none usr/sbin/inetadm 555 root bin
f none usr/sbin/inetconv 555 root bin
s none usr/sbin/inetd=../lib/inet/inetd
s none usr/sbin/init=../../sbin/init
f none usr/sbin/install 555 root bin
+f none usr/sbin/installboot 555 root sys
+f none usr/sbin/ipaddrsel 555 root bin
+f none usr/sbin/ipsecalgs 555 root bin
+f none usr/sbin/ipsecconf 555 root bin
+f none usr/sbin/ipseckey 555 root bin
f none usr/sbin/keyserv 555 root sys
f none usr/sbin/killall 555 root bin
f none usr/sbin/ksslcfg 555 root bin
s none usr/sbin/labelit=./clri
f none usr/sbin/link 555 root bin
-s none usr/sbin/lockfs=../lib/fs/ufs/lockfs
+l none usr/sbin/list_devices=../../usr/sbin/allocate
f none usr/sbin/locator 555 root bin
+s none usr/sbin/lockfs=../lib/fs/ufs/lockfs
f none usr/sbin/lofiadm 555 root bin
f none usr/sbin/logadm 555 root bin
f none usr/sbin/makedbm 555 root bin
+f none usr/sbin/mkdevalloc 555 root bin
+l none usr/sbin/mkdevmaps=../../usr/sbin/mkdevalloc
f none usr/sbin/mkfile 555 root bin
s none usr/sbin/mkfs=./clri
f none usr/sbin/mknod 555 root bin
@@ -778,22 +779,23 @@ l none usr/sbin/modload=../../usr/lib/isaexec
l none usr/sbin/modunload=../../usr/lib/isaexec
s none usr/sbin/mount=../../sbin/mount
f none usr/sbin/mountall 555 root sys
-f none usr/bin/mpstat 555 root bin
f none usr/sbin/msgid 555 root bin
f none usr/sbin/mvdir 555 root bin
s none usr/sbin/ncheck=./ff
f none usr/sbin/ndd 555 root bin
+f none usr/sbin/netservices 0555 root sys
s none usr/sbin/newfs=../lib/fs/ufs/newfs
f none usr/sbin/nlsadmin 755 root adm
f none usr/sbin/nscd 555 root bin
f none usr/sbin/passmgmt 555 root sys
+l none usr/sbin/pbind=../../usr/lib/isaexec
f none usr/sbin/pmadm 555 root sys
l none usr/sbin/ports=./devfsadm
l none usr/sbin/poweroff=./halt
+f none usr/sbin/praudit 555 root bin
l none usr/sbin/prtconf=../../usr/lib/isaexec
-f none usr/sbin/prtvtoc 555 root sys
-l none usr/sbin/pbind=../../usr/lib/isaexec
l none usr/sbin/prtdiag=../../usr/lib/platexec
+f none usr/sbin/prtvtoc 555 root sys
f none usr/sbin/psradm 555 root sys
f none usr/sbin/psrinfo 555 root sys
l none usr/sbin/psrset=../../usr/lib/isaexec
@@ -878,16 +880,16 @@ f none usr/share/lib/tabset/wyse-adds 644 root bin
f none usr/share/lib/tabset/xerox1720 644 root bin
f none usr/share/lib/termcap 644 root bin
d none usr/share/lib/terminfo 755 root bin
-d none usr/share/lib/terminfo/A 755 root bin
-l none usr/share/lib/terminfo/A/AT386-M=../../../../../usr/share/lib/terminfo/a/at386-m
-l none usr/share/lib/terminfo/A/AT386=../../../../../usr/share/lib/terminfo/a/at386
-f none usr/share/lib/terminfo/A/AT386-DOS-M 644 root bin
-f none usr/share/lib/terminfo/A/AT386-DOS 644 root bin
d none usr/share/lib/terminfo/3 755 root bin
l none usr/share/lib/terminfo/3/386AT-M=../../../../../usr/share/lib/terminfo/a/at386-m
-l none usr/share/lib/terminfo/3/386at-m=../../../../../usr/share/lib/terminfo/a/at386-m
l none usr/share/lib/terminfo/3/386AT=../../../../../usr/share/lib/terminfo/a/at386
+l none usr/share/lib/terminfo/3/386at-m=../../../../../usr/share/lib/terminfo/a/at386-m
l none usr/share/lib/terminfo/3/386at=../../../../../usr/share/lib/terminfo/a/at386
+d none usr/share/lib/terminfo/A 755 root bin
+f none usr/share/lib/terminfo/A/AT386-DOS 644 root bin
+f none usr/share/lib/terminfo/A/AT386-DOS-M 644 root bin
+l none usr/share/lib/terminfo/A/AT386-M=../../../../../usr/share/lib/terminfo/a/at386-m
+l none usr/share/lib/terminfo/A/AT386=../../../../../usr/share/lib/terminfo/a/at386
d none usr/share/lib/terminfo/a 755 root bin
f none usr/share/lib/terminfo/a/ansi 644 root bin
f none usr/share/lib/terminfo/a/ansi+arrows 644 root bin
@@ -908,8 +910,8 @@ f none usr/share/lib/terminfo/a/ansi+sgrdim 644 root bin
f none usr/share/lib/terminfo/a/ansi+sgrso 644 root bin
f none usr/share/lib/terminfo/a/ansi+sgrul 644 root bin
f none usr/share/lib/terminfo/a/ansi+tabs 644 root bin
-f none usr/share/lib/terminfo/a/at386-m 644 root bin
f none usr/share/lib/terminfo/a/at386 644 root bin
+f none usr/share/lib/terminfo/a/at386-m 644 root bin
d none usr/share/lib/terminfo/s 755 root bin
f none usr/share/lib/terminfo/s/sun 644 root bin
f none usr/share/lib/terminfo/s/sun-1 644 root bin
@@ -1423,12 +1425,12 @@ l none usr/share/lib/zoneinfo/Europe/Zagreb=../../../../../usr/share/lib/zoneinf
f none usr/share/lib/zoneinfo/Europe/Zaporozhye 644 root bin
f none usr/share/lib/zoneinfo/Europe/Zurich 644 root bin
f none usr/share/lib/zoneinfo/Factory 644 root bin
-l none usr/share/lib/zoneinfo/GB=../../../../usr/share/lib/zoneinfo/Europe/London
l none usr/share/lib/zoneinfo/GB-Eire=../../../../usr/share/lib/zoneinfo/Europe/London
-l none usr/share/lib/zoneinfo/GMT=../../../../usr/share/lib/zoneinfo/Etc/GMT
+l none usr/share/lib/zoneinfo/GB=../../../../usr/share/lib/zoneinfo/Europe/London
l none usr/share/lib/zoneinfo/GMT+0=../../../../usr/share/lib/zoneinfo/Etc/GMT
l none usr/share/lib/zoneinfo/GMT-0=../../../../usr/share/lib/zoneinfo/Etc/GMT
l none usr/share/lib/zoneinfo/GMT0=../../../../usr/share/lib/zoneinfo/Etc/GMT
+l none usr/share/lib/zoneinfo/GMT=../../../../usr/share/lib/zoneinfo/Etc/GMT
l none usr/share/lib/zoneinfo/Greenwich=../../../../usr/share/lib/zoneinfo/Etc/GMT
f none usr/share/lib/zoneinfo/HST 644 root bin
l none usr/share/lib/zoneinfo/Hongkong=../../../../usr/share/lib/zoneinfo/Asia/Hong_Kong
@@ -1462,8 +1464,8 @@ d none usr/share/lib/zoneinfo/Mideast 755 root bin
l none usr/share/lib/zoneinfo/Mideast/Riyadh87=../../../../../usr/share/lib/zoneinfo/Asia/Riyadh87
l none usr/share/lib/zoneinfo/Mideast/Riyadh88=../../../../../usr/share/lib/zoneinfo/Asia/Riyadh88
l none usr/share/lib/zoneinfo/Mideast/Riyadh89=../../../../../usr/share/lib/zoneinfo/Asia/Riyadh89
-l none usr/share/lib/zoneinfo/NZ=../../../../usr/share/lib/zoneinfo/Pacific/Auckland
l none usr/share/lib/zoneinfo/NZ-CHAT=../../../../usr/share/lib/zoneinfo/Pacific/Chatham
+l none usr/share/lib/zoneinfo/NZ=../../../../usr/share/lib/zoneinfo/Pacific/Auckland
l none usr/share/lib/zoneinfo/Navajo=../../../../usr/share/lib/zoneinfo/America/Denver
l none usr/share/lib/zoneinfo/PRC=../../../../usr/share/lib/zoneinfo/Asia/Shanghai
f none usr/share/lib/zoneinfo/PST8PDT 644 root bin
@@ -1525,8 +1527,8 @@ l none usr/share/lib/zoneinfo/US/Hawaii=../../../../../usr/share/lib/zoneinfo/Pa
l none usr/share/lib/zoneinfo/US/Indiana-Starke=../../../../../usr/share/lib/zoneinfo/America/Indiana/Knox
l none usr/share/lib/zoneinfo/US/Michigan=../../../../../usr/share/lib/zoneinfo/America/Detroit
l none usr/share/lib/zoneinfo/US/Mountain=../../../../../usr/share/lib/zoneinfo/America/Denver
-l none usr/share/lib/zoneinfo/US/Pacific=../../../../../usr/share/lib/zoneinfo/America/Los_Angeles
l none usr/share/lib/zoneinfo/US/Pacific-New=../../../../../usr/share/lib/zoneinfo/America/Los_Angeles
+l none usr/share/lib/zoneinfo/US/Pacific=../../../../../usr/share/lib/zoneinfo/America/Los_Angeles
l none usr/share/lib/zoneinfo/US/Samoa=../../../../../usr/share/lib/zoneinfo/Pacific/Pago_Pago
l none usr/share/lib/zoneinfo/UTC=../../../../usr/share/lib/zoneinfo/Etc/UTC
l none usr/share/lib/zoneinfo/Universal=../../../../usr/share/lib/zoneinfo/Etc/UTC
@@ -1551,14 +1553,13 @@ f none usr/share/lib/zoneinfo/src/solar89 644 root bin
f none usr/share/lib/zoneinfo/src/southamerica 644 root bin
f none usr/share/lib/zoneinfo/src/systemv 644 root bin
d none usr/share/lib/zoneinfo/tab 755 root bin
-f none usr/share/lib/zoneinfo/tab/zone_sun.tab 644 root bin
-f none usr/share/lib/zoneinfo/tab/country.tab 644 root bin
f none usr/share/lib/zoneinfo/tab/continent.tab 644 root bin
+f none usr/share/lib/zoneinfo/tab/country.tab 644 root bin
+f none usr/share/lib/zoneinfo/tab/zone_sun.tab 644 root bin
d none usr/share/src 755 root sys
s none usr/spool=../var/spool
s none usr/src=./share/src
s none usr/tmp=../var/tmp
-f none usr/sbin/installboot 555 root sys
d none usr/xpg4 755 root bin
d none usr/xpg4/bin 755 root bin
f none usr/xpg4/bin/sh 555 root bin
diff --git a/usr/src/pkgdefs/SUNWsacom/Makefile b/usr/src/pkgdefs/SUNWsacom/Makefile
index 59e40a0f91..bf7bccc628 100644
--- a/usr/src/pkgdefs/SUNWsacom/Makefile
+++ b/usr/src/pkgdefs/SUNWsacom/Makefile
@@ -28,7 +28,7 @@
include ../Makefile.com
-DATAFILES += depend i.initd i.preserve
+DATAFILES += depend i.initd i.preserve i.manifest r.manifest
CHKINSTALLSRC=checkinstall.initd
ACTION_all=grep SUNWter depend > /dev/null || \
diff --git a/usr/src/pkgdefs/SUNWsacom/pkginfo.tmpl b/usr/src/pkgdefs/SUNWsacom/pkginfo.tmpl
index 3f1ab746b7..ea9a42ab36 100644
--- a/usr/src/pkgdefs/SUNWsacom/pkginfo.tmpl
+++ b/usr/src/pkgdefs/SUNWsacom/pkginfo.tmpl
@@ -35,7 +35,7 @@ ARCH="ISA"
BASEDIR=/
SUNW_PKGVERS="1.0"
CATEGORY="system"
-CLASSES="none initd preserve"
+CLASSES="none initd preserve manifest"
DESC="Solstice Enterprise Agents 1.0.3 files for root file system"
MAXINST="1000"
NAME="Solstice Enterprise Agents 1.0.3 files for root file system"
diff --git a/usr/src/pkgdefs/SUNWsacom/postinstall b/usr/src/pkgdefs/SUNWsacom/postinstall
index 8795e25e3f..3ff7df6242 100644
--- a/usr/src/pkgdefs/SUNWsacom/postinstall
+++ b/usr/src/pkgdefs/SUNWsacom/postinstall
@@ -2,9 +2,8 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
+# 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.
@@ -19,11 +18,10 @@
#
# CDDL HEADER END
#
-#
-# Copyright 1996-1997, 2001-2002 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-#pragma ident "%Z%%M% %I% %E% SMI"
+# ident "%Z%%M% %I% %E% SMI"
#
# pkgdefs/SUNWsacom/postinstall
@@ -78,4 +76,15 @@ SNMPEOF
installf -f $PKGINST
+#
+# check if snmpdx should be enabled (snmpdx.tmp was set in preinstall)
+if [ -f $BASEDIR/var/snmpdx.tmp ]; then
+ cat >> $BASEDIR/var/svc/profile/upgrade <<\_SNMPDX
+if [ `/sbin/zonename` = global ]; then
+ /usr/sbin/svcadm enable svc:/application/management/snmpdx:default
+fi
+_SNMPDX
+ rm -f $BASEDIR/var/snmpdx.tmp
+fi
+
exit 0
diff --git a/usr/src/pkgdefs/SUNWsacom/preinstall b/usr/src/pkgdefs/SUNWsacom/preinstall
index 675d737292..3cad82d887 100644
--- a/usr/src/pkgdefs/SUNWsacom/preinstall
+++ b/usr/src/pkgdefs/SUNWsacom/preinstall
@@ -2,9 +2,8 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
+# 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.
@@ -19,8 +18,10 @@
#
# CDDL HEADER END
#
-# Copyright %G% Sun Microsystems, Inc. All Rights Reserved.
-#pragma ident "%Z%%M% %I% %E% SMI"
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# ident "%Z%%M% %I% %E% SMI"
# SUNWsacom preinstall
@@ -114,5 +115,16 @@ if [ -f $BASEDIR/etc/opt/SUNWconn/SSA/dmi/conf/dmispd.conf ] ; then
rc=$?
fi
+rm -f $BASEDIR/var/snmpdx.tmp > /dev/null 2>&1
+
+#
+# make sure the enabled/disabled state is maintained over upgrades
+# On initial installs, the SMF profile takes care of enabling snmpdx.
+#
+if [ "$UPDATE" = yes ]; then
+ if [ -f $BASEDIR/etc/rc3.d/S76snmpdx ]; then
+ touch $BASEDIR/var/snmpdx.tmp
+ fi
+fi
exit $rc
diff --git a/usr/src/pkgdefs/SUNWsacom/prototype_com b/usr/src/pkgdefs/SUNWsacom/prototype_com
index 30a3b92c02..c0d8fbb48a 100644
--- a/usr/src/pkgdefs/SUNWsacom/prototype_com
+++ b/usr/src/pkgdefs/SUNWsacom/prototype_com
@@ -48,14 +48,12 @@ i postinstall
i space
i i.initd
i i.preserve
+i i.manifest
+i r.manifest
#
d none etc 0755 root sys
d none etc/init.d 0755 root sys
-d none etc/rc0.d 0755 root sys
-d none etc/rcS.d 0755 root sys
-d none etc/rc1.d 0755 root sys
-d none etc/rc2.d 0755 root sys
-d none etc/rc3.d 0755 root sys
+f initd etc/init.d/init.snmpdx 744 root sys
#
d none etc/snmp 0755 root sys
d none etc/snmp/conf 0755 root sys
@@ -64,12 +62,16 @@ d none var 0755 root sys
d none var/snmp 0755 root sys
d none var/snmp/mib 0755 root sys
#
-e initd etc/init.d/init.snmpdx 744 root sys
-l initd etc/rc3.d/S76snmpdx=../../etc/init.d/init.snmpdx
-l initd etc/rc2.d/K07snmpdx=../../etc/init.d/init.snmpdx
-l initd etc/rc1.d/K07snmpdx=../../etc/init.d/init.snmpdx
-l initd etc/rcS.d/K07snmpdx=../../etc/init.d/init.snmpdx
-l initd etc/rc0.d/K07snmpdx=../../etc/init.d/init.snmpdx
+d none var/svc 0755 root sys
+d none var/svc/manifest 0755 root sys
+d none var/svc/manifest/application 0755 root sys
+d none var/svc/manifest/application/management 0755 root sys
+f manifest var/svc/manifest/application/management/snmpdx.xml 0444 root sys
+#
+d none lib 0755 root bin
+d none lib/svc 0755 root bin
+d none lib/svc/method 0755 root bin
+f none lib/svc/method/svc-snmpdx 0555 root bin
#
e preserve etc/snmp/conf/snmpdx.rsrc 644 root sys
v none etc/snmp/conf/snmpdx.reg 644 root sys
diff --git a/usr/src/pkgdefs/SUNWsndmr/prototype_com b/usr/src/pkgdefs/SUNWsndmr/prototype_com
index a5496b03f5..35ff902eb3 100644
--- a/usr/src/pkgdefs/SUNWsndmr/prototype_com
+++ b/usr/src/pkgdefs/SUNWsndmr/prototype_com
@@ -2,9 +2,8 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
+# 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.
@@ -20,7 +19,7 @@
# CDDL HEADER END
#
#
-# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# ident "%Z%%M% %I% %E% SMI"
@@ -63,6 +62,8 @@ d none etc/mail/cf 755 root mail
f none etc/mail/cf/README 444 root mail
d none etc/mail/cf/cf 755 root mail
f none etc/mail/cf/cf/Makefile 444 root mail
+f none etc/mail/cf/cf/local.cf 444 root mail
+f none etc/mail/cf/cf/local.mc 444 root mail
s none etc/mail/cf/cf/main.cf=sendmail.cf
s none etc/mail/cf/cf/main.mc=sendmail.mc
f none etc/mail/cf/cf/sendmail.cf 444 root mail
@@ -149,6 +150,7 @@ f none etc/mail/cf/sh/makeinfo.sh 444 root mail
s none etc/mail/cf/sh/check-hostname=../../../../usr/sbin/check-hostname
s none etc/mail/cf/sh/check-permissions=../../../../usr/sbin/check-permissions
f none etc/mail/helpfile 644 root bin
+e renameold etc/mail/local.cf 444 root bin
e sendmail etc/mail/local-host-names 644 root bin
s none etc/mail/main.cf=sendmail.cf
e renameold etc/mail/sendmail.cf 444 root bin