diff --git a/libselinux/include/selinux/label.h b/libselinux/include/selinux/label.h index c63ea7dd..672a7c22 100644 --- a/libselinux/include/selinux/label.h +++ b/libselinux/include/selinux/label.h @@ -131,6 +131,8 @@ void selabel_stats(struct selabel_handle *handle); #define SELABEL_DB_BLOB 8 #define SELABEL_DB_TUPLE 9 #define SELABEL_DB_LANGUAGE 10 +#define SELABEL_DB_EXCEPTION 11 +#define SELABEL_DB_DATATYPE 12 #ifdef __cplusplus } diff --git a/libselinux/man/man5/selabel_db.5 b/libselinux/man/man5/selabel_db.5 index 51b58489..76eb9bc6 100644 --- a/libselinux/man/man5/selabel_db.5 +++ b/libselinux/man/man5/selabel_db.5 @@ -86,6 +86,16 @@ argument specifies the name of a view object, such as "postgres.public.my_view". The .I object_name argument specifies the name of a language object, such as "postgres.public.tcl". +.TP +.B SELABEL_DB_EXCEPTION +The +.I object_name +argument specifies the name of a exception object. +.TP +.B SELABEL_DB_DATATYPE +The +.I object_name +argument specifies the name of a type or domain object, such as postgres.public.my_type. .RE .sp Any messages generated by \fBselabel_lookup\fR(3) are sent to \fIstderr\fR @@ -135,6 +145,8 @@ SELABEL_DB_TUPLE@db_tuple SELABEL_DB_PROCEDURE@db_procedure SELABEL_DB_SEQUENCE@db_sequence SELABEL_DB_BLOB@db_blob +SELABEL_DB_EXCEPTION@db_exception +SELABEL_DB_DATATYPE@db_datatype .TE . .SH "FILE FORMAT" diff --git a/libselinux/src/label_db.c b/libselinux/src/label_db.c index ab0696a7..999dd46e 100644 --- a/libselinux/src/label_db.c +++ b/libselinux/src/label_db.c @@ -140,6 +140,10 @@ process_line(const char *path, char *line_buf, unsigned int line_num, spec->type = SELABEL_DB_TUPLE; else if (!strcmp(type, "db_language")) spec->type = SELABEL_DB_LANGUAGE; + else if (!strcmp(type, "db_exception")) + spec->type = SELABEL_DB_EXCEPTION; + else if (!strcmp(type, "db_datatype")) + spec->type = SELABEL_DB_DATATYPE; else { selinux_log(SELINUX_WARNING, "%s: line %d has invalid object type %s\n",