[PATCH] Add db_exception and db_datatype support to label_db backend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

in https://github.com/TresysTechnology/refpolicy/pull/1 db_exception
and db_datatype were added to reference policy. This small patch
extends ability of label_db backend to work with these objects.

Regards.
---
 libselinux/include/selinux/label.h |  2 ++
 libselinux/man/man5/selabel_db.5   | 12 ++++++++++++
 libselinux/src/label_db.c          |  4 ++++
 3 files changed, 18 insertions(+)

diff --git a/libselinux/include/selinux/label.h b/libselinux/include/selinux/label.h
index c63ea7d..672a7c2 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 51b5848..76eb9bc 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 ab0696a..999dd46 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",
-- 
1.9.1

_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.




[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux