diff options
Diffstat (limited to 'usr/src/lib/libbsm/common')
| -rw-r--r-- | usr/src/lib/libbsm/common/adt_event.h | 18 | ||||
| -rw-r--r-- | usr/src/lib/libbsm/common/adt_xlate.c | 44 | ||||
| -rw-r--r-- | usr/src/lib/libbsm/common/adt_xml.txt | 33 |
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 --> |
