summaryrefslogtreecommitdiff
path: root/usr/src/lib/libbsm/common
diff options
context:
space:
mode:
authortw21770 <none@none>2007-11-04 06:12:10 -0800
committertw21770 <none@none>2007-11-04 06:12:10 -0800
commit582271e8d649568c83e9a016cc0d54265389c5d9 (patch)
tree56e876849bc82172355783226552977deec3d1c5 /usr/src/lib/libbsm/common
parent4421e67684faea98cd9bffa503bdc3779557762f (diff)
downloadillumos-joyent-582271e8d649568c83e9a016cc0d54265389c5d9.tar.gz
5079356 Framework should provide administrative audit trail/history
6405683 svc.configd audit events need to be defined.
Diffstat (limited to 'usr/src/lib/libbsm/common')
-rw-r--r--usr/src/lib/libbsm/common/adt.c16
-rw-r--r--usr/src/lib/libbsm/common/adt.xml372
-rw-r--r--usr/src/lib/libbsm/common/mapfile-vers1
3 files changed, 380 insertions, 9 deletions
diff --git a/usr/src/lib/libbsm/common/adt.c b/usr/src/lib/libbsm/common/adt.c
index 473ecbcc51..656c32eecd 100644
--- a/usr/src/lib/libbsm/common/adt.c
+++ b/usr/src/lib/libbsm/common/adt.c
@@ -192,8 +192,8 @@ adt_get_mask_from_user(uid_t uid, au_mask_t *mask)
* see a need to put a lock around it.
*/
-static au_id_t
-adt_get_unique_id(uid_t uid)
+au_id_t
+adt_get_unique_id(au_id_t uid)
{
char hostname[MAXHOSTNAMELEN];
union {
@@ -480,10 +480,10 @@ adt_set_termid(const adt_session_data_t *session_data,
ADT_VALID);
((adt_internal_state_t *)session_data)->as_info.ai_termid =
- *termid;
+ *termid;
((adt_internal_state_t *)session_data)->as_have_user_data |=
- ADT_HAVE_TID;
+ ADT_HAVE_TID;
}
}
@@ -649,7 +649,7 @@ adt_get_hostIP(const char *hostname, au_tid_addr_t *p_term)
case AF_INET6:
/* LINTED */
p = &((struct sockaddr_in6 *)ai->ai_addr)->sin6_addr,
- (void) memcpy(p_term->at_addr, p,
+ (void) memcpy(p_term->at_addr, p,
sizeof (((struct sockaddr_in6 *)NULL)->sin6_addr));
p_term->at_type = AU_IPv6;
break;
@@ -1515,9 +1515,9 @@ adt_changeuser(adt_internal_state_t *state, uid_t ruid)
state->as_info.ai_mask.am_failure |= mask.am_failure;
}
DPRINTF(("changed mask to %08X/%08X for ruid=%d\n",
- state->as_info.ai_mask.am_success,
- state->as_info.ai_mask.am_failure,
- ruid));
+ state->as_info.ai_mask.am_success,
+ state->as_info.ai_mask.am_failure,
+ ruid));
return (0);
}
diff --git a/usr/src/lib/libbsm/common/adt.xml b/usr/src/lib/libbsm/common/adt.xml
index a91361e402..58fefcc09d 100644
--- a/usr/src/lib/libbsm/common/adt.xml
+++ b/usr/src/lib/libbsm/common/adt.xml
@@ -1284,8 +1284,378 @@ Use is subject to license terms.
</entry>
</event>
+<!-- SMF related events -->
+ <event id="AUE_smf_generic" type="generic" omit="always">
+ <!--
+ This is a template for the event types that have no tokens
+ other than the header and return. There is no allowed_type
+ list because the template is not externally visible due to the
+ omit="always".
+ -->
+ <entry id="subject">
+ <internal token="subject"/>
+ <external opt="none"/>
+ </entry>
+ <entry id="auth_used">
+ <internal token="uauth"/>
+ <external opt="required" type="char *"/>
+ <comment>authorization used</comment>
+ </entry>
+ <entry id="fmri">
+ <internal token="fmri"/>
+ <external opt="required" type="char *"/>
+ <comment>name</comment>
+ </entry>
+ <entry id="return">
+ <internal token="return"/>
+ <external opt="none"/>
+ </entry>
+ </event>
+
+ <event id="AUE_smf_generic_pg" type="generic" omit="always">
+ <!--
+ This is a template for the event types related to property groups.
+ There is no allowed_type list because the template is not externally
+ visible due to the omit="always".
+ -->
+ <entry id="subject">
+ <internal token="subject"/>
+ <external opt="none"/>
+ </entry>
+ <entry id="auth_used">
+ <internal token="uauth"/>
+ <external opt="required" type="char *"/>
+ <comment>authorization used</comment>
+ </entry>
+ <entry id="fmri">
+ <internal token="fmri"/>
+ <external opt="required" type="char *"/>
+ </entry>
+ <entry id="type">
+ <internal token="text"/>
+ <external opt="required" type="char *"/>
+ <comment>property group type</comment>
+ </entry>
+ <entry id="return">
+ <internal token="return"/>
+ <external opt="none"/>
+ </entry>
+ </event>
+
+ <event id="AUE_smf_enable" instance_of="AUE_smf_generic" header="0"
+ idNo="60" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svcadm(1M)</see>
+ </event>
+ <event id="AUE_smf_tmp_enable" instance_of="AUE_smf_generic" header="0"
+ idNo="61" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svcadm(1M)</see>
+ </event>
+ <event id="AUE_smf_disable" instance_of="AUE_smf_generic" header="0"
+ idNo="62" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svcadm(1M)</see>
+ </event>
+ <event id="AUE_smf_tmp_disable" instance_of="AUE_smf_generic" header="0"
+ idNo="63" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svcadm(1M)</see>
+ </event>
+ <event id="AUE_smf_restart" instance_of="AUE_smf_generic" header="0"
+ idNo="64" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svcadm(1M)</see>
+ </event>
+ <event id="AUE_smf_refresh" instance_of="AUE_smf_generic" header="0"
+ idNo="65" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svcadm(1M)</see>
+ </event>
+ <event id="AUE_smf_clear" instance_of="AUE_smf_generic" header="0"
+ idNo="66" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svcadm(1M)</see>
+ </event>
+ <event id="AUE_smf_degrade" instance_of="AUE_smf_generic" header="0"
+ idNo="67" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svcadm(1M)</see>
+ </event>
+ <event id="AUE_smf_immediate_degrade" instance_of="AUE_smf_generic"
+ header="0" idNo="68" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svcadm(1M)</see>
+ </event>
+ <event id="AUE_smf_maintenance" instance_of="AUE_smf_generic" header="0"
+ idNo="69" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svcadm(1M)</see>
+ </event>
+ <event id="AUE_smf_immediate_maintenance" instance_of="AUE_smf_generic"
+ header="0" idNo="70" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svcadm(1M)</see>
+ </event>
+ <event id="AUE_smf_immtmp_maintenance" instance_of="AUE_smf_generic"
+ header="0" idNo="71" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svcadm(1M)</see>
+ </event>
+ <event id="AUE_smf_tmp_maintenance" instance_of="AUE_smf_generic" header="0"
+ idNo="72" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svcadm(1M)</see>
+ </event>
+ <event id="AUE_smf_milestone" instance_of="AUE_smf_generic" header="0"
+ idNo="73" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svcadm(1M)</see>
+ </event>
+
+ <event id="AUE_smf_create" instance_of="AUE_smf_generic" header="0"
+ idNo="74" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svccfg(1M)</see>
+ </event>
+ <event id="AUE_smf_delete" instance_of="AUE_smf_generic" header="0"
+ idNo="75" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svccfg(1M)</see>
+ </event>
+
+ <event id="AUE_smf_create_pg" instance_of="AUE_smf_generic_pg" header="0"
+ idNo="76" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svccfg(1M)</see>
+ </event>
+ <event id="AUE_smf_create_npg" instance_of="AUE_smf_generic_pg" header="0"
+ idNo="77" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svccfg(1M)</see>
+ </event>
+ <event id="AUE_smf_delete_pg" instance_of="AUE_smf_generic_pg" header="0"
+ idNo="78" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svccfg(1M)</see>
+ </event>
+ <event id="AUE_smf_delete_npg" instance_of="AUE_smf_generic_pg" header="0"
+ idNo="79" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svccfg(1M)</see>
+ </event>
+
+ <event id="AUE_smf_create_snap" header="0" idNo="80" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svccfg(1M)</see>
+ <entry id="subject">
+ <internal token="subject"/>
+ <external opt="none"/>
+ </entry>
+ <entry id="auth_used">
+ <internal token="uauth"/>
+ <external opt="required" type="char *"/>
+ <comment>authorization used</comment>
+ </entry>
+ <entry id="fmri">
+ <internal token="fmri"/>
+ <external opt="required" type="char *"/>
+ <comment>name</comment>
+ </entry>
+ <entry id="name">
+ <internal token="text"/>
+ <external opt="required" type="char *"/>
+ <comment>snapshot name</comment>
+ </entry>
+ <entry id="return">
+ <internal token="return"/>
+ <external opt="none"/>
+ </entry>
+ </event>
+ <event id="AUE_smf_delete_snap" header="0" idNo="81" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svccfg(1M)</see>
+ <entry id="subject">
+ <internal token="subject"/>
+ <external opt="none"/>
+ </entry>
+ <entry id="auth_used">
+ <internal token="uauth"/>
+ <external opt="required" type="char *"/>
+ <comment>authorization used</comment>
+ </entry>
+ <entry id="fmri">
+ <internal token="fmri"/>
+ <external opt="required" type="char *"/>
+ <comment>name</comment>
+ </entry>
+ <entry id="name">
+ <internal token="text"/>
+ <external opt="required" type="char *"/>
+ <comment>snapshot name</comment>
+ </entry>
+ <entry id="return">
+ <internal token="return"/>
+ <external opt="none"/>
+ </entry>
+ </event>
+ <event id="AUE_smf_attach_snap" header="0" idNo="82" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svccfg(1M)</see>
+ <entry id="subject">
+ <internal token="subject"/>
+ <external opt="none"/>
+ </entry>
+ <entry id="auth_used">
+ <internal token="uauth"/>
+ <external opt="required" type="char *"/>
+ <comment>authorization used</comment>
+ </entry>
+ <entry id="old_fmri">
+ <internal token="fmri"/>
+ <external opt="required" type="char *"/>
+ <comment>old name</comment>
+ </entry>
+ <entry id="old_name">
+ <internal token="text"/>
+ <external opt="required" type="char *"/>
+ <comment>old snapshot</comment>
+ </entry>
+ <entry id="new_fmri">
+ <internal token="fmri"/>
+ <external opt="required" type="char *"/>
+ <comment>new name</comment>
+ </entry>
+ <entry id="new_name">
+ <internal token="text"/>
+ <external opt="required" type="char *"/>
+ <comment>new snapshot</comment>
+ </entry>
+ <entry id="return">
+ <internal token="return"/>
+ <external opt="none"/>
+ </entry>
+ </event>
+
+ <event id="AUE_smf_annotation" header="0" idNo="83" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svccfg(1M)</see>
+ <entry id="subject">
+ <internal token="subject"/>
+ <external opt="none"/>
+ </entry>
+ <entry id="operation">
+ <internal token="text"/>
+ <external opt="required" type="char *"/>
+ <comment>operation</comment>
+ </entry>
+ <entry id="file">
+ <internal token="path"/>
+ <external opt="required" type="char *"/>
+ <comment>imported file</comment>
+ </entry>
+ <entry id="return">
+ <internal token="return"/>
+ <external opt="none"/>
+ </entry>
+ </event>
+
+ <event id="AUE_smf_create_prop" header="0" idNo="84" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svccfg(1M)</see>
+ <entry id="subject">
+ <internal token="subject"/>
+ <external opt="none"/>
+ </entry>
+ <entry id="auth_used">
+ <internal token="uauth"/>
+ <external opt="required" type="char *"/>
+ <comment>authorization used</comment>
+ </entry>
+ <entry id="fmri">
+ <internal token="fmri"/>
+ <external opt="required" type="char *"/>
+ <comment>name</comment>
+ </entry>
+ <entry id="type">
+ <internal token="text"/>
+ <external opt="required" type="char *"/>
+ <comment>type</comment>
+ </entry>
+ <entry id="value">
+ <internal token="text"/>
+ <external opt="optional" type="char *"/>
+ <comment>value</comment>
+ </entry>
+ <entry id="return">
+ <internal token="return"/>
+ <external opt="none"/>
+ </entry>
+ </event>
+
+ <event id="AUE_smf_change_prop" header="0" idNo="85" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svccfg(1M)</see>
+ <entry id="subject">
+ <internal token="subject"/>
+ <external opt="none"/>
+ </entry>
+ <entry id="auth_used">
+ <internal token="uauth"/>
+ <external opt="required" type="char *"/>
+ <comment>authorization used</comment>
+ </entry>
+ <entry id="fmri">
+ <internal token="fmri"/>
+ <external opt="required" type="char *"/>
+ <comment>name</comment>
+ </entry>
+ <entry id="type">
+ <internal token="text"/>
+ <external opt="required" type="char *"/>
+ <comment>type</comment>
+ </entry>
+ <entry id="value">
+ <internal token="text"/>
+ <external opt="optional" type="char *"/>
+ <comment>value</comment>
+ </entry>
+ <entry id="return">
+ <internal token="return"/>
+ <external opt="none"/>
+ </entry>
+ </event>
+ <event id="AUE_smf_delete_prop" header="0" idNo="86" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svccfg(1M)</see>
+ <entry id="subject">
+ <internal token="subject"/>
+ <external opt="none"/>
+ </entry>
+ <entry id="auth_used">
+ <internal token="uauth"/>
+ <external opt="required" type="char *"/>
+ <comment>authorization used</comment>
+ </entry>
+ <entry id="fmri">
+ <internal token="fmri"/>
+ <external opt="required" type="char *"/>
+ <comment>name</comment>
+ </entry>
+ <entry id="return">
+ <internal token="return"/>
+ <external opt="none"/>
+ </entry>
+ </event>
+
+ <event id="AUE_smf_read_prop" instance_of="AUE_smf_generic" header="0"
+ idNo="87" omit="JNI">
+ <program>svc.configd(1M)</program>
+ <see>svccfg(1M)</see>
+ </event>
+
<!-- add new events here with the next higher idNo -->
-<!-- Highest idNo is 59, so next is 60, then fix this comment -->
+<!-- Highest idNo is 87, so next is 88, then fix this comment -->
<!-- end of C Only events -->
diff --git a/usr/src/lib/libbsm/common/mapfile-vers b/usr/src/lib/libbsm/common/mapfile-vers
index 1efd828b2c..20a7faffe9 100644
--- a/usr/src/lib/libbsm/common/mapfile-vers
+++ b/usr/src/lib/libbsm/common/mapfile-vers
@@ -153,6 +153,7 @@ SUNWprivate_1.1 {
adt_get_mask;
adt_get_session_id;
adt_get_termid;
+ adt_get_unique_id;
adt_import_proc;
adt_load_hostname;
adt_load_termid;