summaryrefslogtreecommitdiff
path: root/usr/src/lib/libbsm/common
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libbsm/common')
-rw-r--r--usr/src/lib/libbsm/common/adt_event.h18
-rw-r--r--usr/src/lib/libbsm/common/adt_xlate.c44
-rw-r--r--usr/src/lib/libbsm/common/adt_xml.txt33
3 files changed, 93 insertions, 2 deletions
diff --git a/usr/src/lib/libbsm/common/adt_event.h b/usr/src/lib/libbsm/common/adt_event.h
index f55e446097..f9e2c06ab8 100644
--- a/usr/src/lib/libbsm/common/adt_event.h
+++ b/usr/src/lib/libbsm/common/adt_event.h
@@ -95,6 +95,8 @@ enum adt_login_text {
#define ADT_admin_authenticate 3
#define ADT_attach 42
#define ADT_detach 43
+#define ADT_dladm_create_secobj 47
+#define ADT_dladm_delete_secobj 48
#define ADT_filesystem_add 4
#define ADT_filesystem_delete 5
#define ADT_filesystem_modify 6
@@ -161,6 +163,20 @@ struct adt_detach { /* ADT_detach */
};
typedef struct adt_detach adt_detach_t;
+struct adt_dladm_create_secobj { /* ADT_dladm_create_secobj */
+ char *auth_used; /* required */
+ char *obj_class; /* required */
+ char *obj_name; /* required */
+};
+typedef struct adt_dladm_create_secobj adt_dladm_create_secobj_t;
+
+struct adt_dladm_delete_secobj { /* ADT_dladm_delete_secobj */
+ char *auth_used; /* required */
+ char *obj_class; /* required */
+ char *obj_name; /* required */
+};
+typedef struct adt_dladm_delete_secobj adt_dladm_delete_secobj_t;
+
struct adt_filesystem_add { /* ADT_filesystem_add */
char *object_name; /* required */
char *domain; /* optional */
@@ -483,6 +499,8 @@ union adt_event_data {
adt_admin_authenticate_t adt_admin_authenticate;
adt_attach_t adt_attach;
adt_detach_t adt_detach;
+ adt_dladm_create_secobj_t adt_dladm_create_secobj;
+ adt_dladm_delete_secobj_t adt_dladm_delete_secobj;
adt_filesystem_add_t adt_filesystem_add;
adt_filesystem_delete_t adt_filesystem_delete;
adt_filesystem_modify_t adt_filesystem_modify;
diff --git a/usr/src/lib/libbsm/common/adt_xlate.c b/usr/src/lib/libbsm/common/adt_xlate.c
index 1da827d5f7..a24aa10439 100644
--- a/usr/src/lib/libbsm/common/adt_xlate.c
+++ b/usr/src/lib/libbsm/common/adt_xlate.c
@@ -117,6 +117,46 @@ static struct translation X_detach = {
&XX_detach[0],
&XX_detach[0]
};
+static struct entry XX_dladm_create_secobj[5] = {
+ {AUT_SUBJECT, 1, NULL, &(XX_dladm_create_secobj[1]),
+ 0, 0, 0, NULL},
+ {AUT_UAUTH, 1, &adr1[0], &(XX_dladm_create_secobj[2]),
+ 0, 1, 0, NULL},
+ {AUT_TEXT, 1, &adr1[0], &(XX_dladm_create_secobj[3]),
+ 0, 1, 0, NULL},
+ {AUT_TEXT, 1, &adr1[0], &(XX_dladm_create_secobj[4]),
+ 0, 1, 0, NULL},
+ {AUT_RETURN, 1, NULL, NULL,
+ 0, 0, 0, NULL}
+};
+static struct translation X_dladm_create_secobj = {
+ 0,
+ ADT_dladm_create_secobj,
+ AUE_dladm_create_secobj,
+ 5,
+ &XX_dladm_create_secobj[0],
+ &XX_dladm_create_secobj[0]
+};
+static struct entry XX_dladm_delete_secobj[5] = {
+ {AUT_SUBJECT, 1, NULL, &(XX_dladm_delete_secobj[1]),
+ 0, 0, 0, NULL},
+ {AUT_UAUTH, 1, &adr1[0], &(XX_dladm_delete_secobj[2]),
+ 0, 1, 0, NULL},
+ {AUT_TEXT, 1, &adr1[0], &(XX_dladm_delete_secobj[3]),
+ 0, 1, 0, NULL},
+ {AUT_TEXT, 1, &adr1[0], &(XX_dladm_delete_secobj[4]),
+ 0, 1, 0, NULL},
+ {AUT_RETURN, 1, NULL, NULL,
+ 0, 0, 0, NULL}
+};
+static struct translation X_dladm_delete_secobj = {
+ 0,
+ ADT_dladm_delete_secobj,
+ AUE_dladm_delete_secobj,
+ 5,
+ &XX_dladm_delete_secobj[0],
+ &XX_dladm_delete_secobj[0]
+};
static struct entry XX_filesystem_add[7] = {
{AUT_SUBJECT, 1, NULL, &(XX_filesystem_add[1]),
0, 0, 0, NULL},
@@ -979,10 +1019,12 @@ static struct translation X_zone_state = {
&XX_zone_state[0],
&XX_zone_state[0]
};
-struct translation *xlate_table[47] = {
+struct translation *xlate_table[49] = {
&X_admin_authenticate,
&X_attach,
&X_detach,
+ &X_dladm_create_secobj,
+ &X_dladm_delete_secobj,
&X_filesystem_add,
&X_filesystem_delete,
&X_filesystem_modify,
diff --git a/usr/src/lib/libbsm/common/adt_xml.txt b/usr/src/lib/libbsm/common/adt_xml.txt
index 222dfaf59c..16999ce633 100644
--- a/usr/src/lib/libbsm/common/adt_xml.txt
+++ b/usr/src/lib/libbsm/common/adt_xml.txt
@@ -843,8 +843,39 @@ Use is subject to license terms.
</entry>
</event>
+<!-- dladm security objected events -->
+ <event id="AUE_dladm_generic" type="generic" omit="always">
+ <entry id="subject">
+ <internal token="subject"/>
+ <external opt="none"/>
+ </entry>
+ <entry id="auth_used">
+ <internal token="uauth"/>
+ <external opt="required" type="char *"/>
+ </entry>
+ <entry id="obj_class">
+ <internal token="text"/>
+ <external opt="required" type="char *"/>
+ </entry>
+ <entry id="obj_name">
+ <internal token="text"/>
+ <external opt="required" type="char *"/>
+ </entry>
+ <entry id="return">
+ <internal token="return"/>
+ <external opt="none"/>
+ </entry>
+ </event>
+
+ <event id="AUE_dladm_create_secobj" instance_of="AUE_dladm_generic"
+ header="0" idNo="47" omit="JNI">
+ </event>
+ <event id="AUE_dladm_delete_secobj" instance_of="AUE_dladm_generic"
+ header="0" idNo="48" omit="JNI">
+ </event>
+
<!-- add new everts here with the next higher idNo -->
-<!-- Highest idNo is 46, so next is 47, then fix this comment -->
+<!-- Highest idNo is 48, so next is 49, then fix this comment -->
<!-- end of C Only events -->