Created
October 24, 2019 22:36
-
-
Save phhusson/0eb1012036b5bf413be60e8851798e28 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/libsepol/cil/src/cil_build_ast.c b/libsepol/cil/src/cil_build_ast.c | |
| index b90b0f60..6f391940 100644 | |
| --- a/libsepol/cil/src/cil_build_ast.c | |
| +++ b/libsepol/cil/src/cil_build_ast.c | |
| @@ -386,6 +386,14 @@ int cil_gen_class(struct cil_db *db, struct cil_tree_node *parse_current, struct | |
| struct cil_tree_node *perms = NULL; | |
| int rc = SEPOL_ERR; | |
| + { | |
| + const char* path = cil_tree_get_cil_path(parse_current); | |
| + if(strstr(path, "vendor")) { | |
| + cil_clear_node(ast_node); | |
| + return SEPOL_OK; | |
| + } | |
| + } | |
| + | |
| rc = __cil_verify_syntax(parse_current, syntax, syntax_len); | |
| if (rc != SEPOL_OK) { | |
| goto exit; | |
| @@ -452,6 +460,14 @@ int cil_gen_classorder(struct cil_db *db, struct cil_tree_node *parse_current, s | |
| struct cil_list_item *head = NULL; | |
| int rc = SEPOL_ERR; | |
| + { | |
| + const char* path = cil_tree_get_cil_path(parse_current); | |
| + if(strstr(path, "vendor")) { | |
| + cil_clear_node(ast_node); | |
| + return SEPOL_OK; | |
| + } | |
| + } | |
| + | |
| if (db == NULL || parse_current == NULL || ast_node == NULL) { | |
| goto exit; | |
| } | |
| @@ -2050,6 +2066,14 @@ int cil_gen_avrule(struct cil_tree_node *parse_current, struct cil_tree_node *as | |
| rule->src_str = parse_current->next->data; | |
| rule->tgt_str = parse_current->next->next->data; | |
| + { | |
| + const char *classname = parse_current->next->next->next->cl_head->data; | |
| + if(strcmp(classname, "keystore_moto_key") == 0) { | |
| + cil_clear_node(ast_node); | |
| + return SEPOL_OK; | |
| + } | |
| + } | |
| + | |
| rc = cil_fill_classperms_list(parse_current->next->next->next, &rule->perms.classperms); | |
| if (rc != SEPOL_OK) { | |
| goto exit; | |
| diff --git a/libsepol/cil/src/cil_resolve_ast.c b/libsepol/cil/src/cil_resolve_ast.c | |
| index ea08087d..e0f2f6b0 100644 | |
| --- a/libsepol/cil/src/cil_resolve_ast.c | |
| +++ b/libsepol/cil/src/cil_resolve_ast.c | |
| @@ -430,7 +430,7 @@ int cil_resolve_typeattributeset(struct cil_tree_node *current, void *extra_args | |
| if (attr_node->flavor != CIL_TYPEATTRIBUTE) { | |
| rc = SEPOL_ERR; | |
| - cil_log(CIL_ERR, "Attribute type not an attribute\n"); | |
| + cil_log(CIL_ERR, "Attribute type not an attribute %s\n", attrtypes->attr_str); | |
| goto exit; | |
| } | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment