Signed-off-by: John Johansen <[email protected]>
---
 parser/parser.h        |    1 +
 parser/parser_common.c |    3 ++-
 parser/parser_main.c   |    6 ++++++
 3 files changed, 9 insertions(+), 1 deletion(-)

--- 2.9-test.orig/parser/parser.h
+++ 2.9-test/parser/parser.h
@@ -259,6 +259,7 @@
 extern int kernel_load;
 extern int kernel_supports_network;
 extern int kernel_supports_policydb;
+extern int kernel_supports_diff_encode;
 extern int kernel_supports_mount;
 extern int kernel_supports_dbus;
 extern int kernel_supports_signal;
--- 2.9-test.orig/parser/parser_common.c
+++ 2.9-test/parser/parser_common.c
@@ -31,13 +31,14 @@
 int kernel_supports_dbus = 0;          /* kernel supports dbus rules */
 int kernel_supports_signal = 0;                /* kernel supports signal rules 
*/
 int kernel_supports_ptrace = 0;                /* kernel supports ptrace rules 
*/
+int kernel_supports_diff_encode = 0;   /* kernel supports diff_encode */
 int conf_verbose = 0;
 int conf_quiet = 0;
 int names_only = 0;
 int current_lineno = 1;
 int option = OPTION_ADD;
 
-dfaflags_t dfaflags = (dfaflags_t)(DFA_CONTROL_TREE_NORMAL | 
DFA_CONTROL_TREE_SIMPLE | DFA_CONTROL_MINIMIZE );
+dfaflags_t dfaflags = (dfaflags_t)(DFA_CONTROL_TREE_NORMAL | 
DFA_CONTROL_TREE_SIMPLE | DFA_CONTROL_MINIMIZE | DFA_CONTROL_DIFF_ENCODE);
 
 char *subdomainbase = NULL;
 const char *progname = __FILE__;
--- 2.9-test.orig/parser/parser_main.c
+++ 2.9-test/parser/parser_main.c
@@ -307,6 +307,7 @@
                        return 1;
                }
        }
+
        return 0;
 }
 
@@ -850,6 +851,11 @@
                kernel_supports_signal = 1;
        if (strstr(features_string, "ptrace {"))
                kernel_supports_ptrace = 1;
+       if (strstr(features_string, "diff_encode"))
+               kernel_supports_diff_encode = 1;
+       else if (dfaflags & DFA_CONTROL_DIFF_ENCODE)
+               /* clear diff_encode because it is not supported */
+               dfaflags &= ~DFA_CONTROL_DIFF_ENCODE;
 }
 
 int process_binary(int option, const char *profilename)


-- 
AppArmor mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/apparmor

Reply via email to