mirror of
https://gitlab.com/apparmor/apparmor
synced 2025-08-31 06:16:03 +00:00
Split out compressed dfa "transition table" compression
Split hfa into hfa and compressed_hfa files. The hfa portion focuses on creating an manipulating hfas, while compressed_hfa is used for creating compressed hfas that can be used/reused at run time with much less memory usage than the full blown hfa. Signed-off-by: John Johansen <john.johansen@canonical.com> Acked-By: Steve Beattie <sbeattie@ubuntu.com>
This commit is contained in:
@@ -39,6 +39,8 @@
|
||||
#include <stack>
|
||||
#include <ostream>
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "apparmor_re.h"
|
||||
|
||||
using namespace std;
|
||||
@@ -605,7 +607,7 @@ int debug_tree(Node *t);
|
||||
Node *simplify_tree(Node *t, dfaflags_t flags);
|
||||
void label_nodes(Node *root);
|
||||
unsigned long hash_NodeSet(NodeSet *ns);
|
||||
|
||||
void flip_tree(Node *node);
|
||||
|
||||
/* Comparison operator for sets of <NodeSet *>.
|
||||
* Compare set hashes, and if the sets have the same hash
|
||||
@@ -624,4 +626,26 @@ struct deref_less_than {
|
||||
}
|
||||
};
|
||||
|
||||
class MatchFlag : public AcceptNode {
|
||||
public:
|
||||
MatchFlag(uint32_t flag, uint32_t audit) : flag(flag), audit(audit) {}
|
||||
ostream& dump(ostream& os)
|
||||
{
|
||||
return os << '<' << flag << '>';
|
||||
}
|
||||
|
||||
uint32_t flag;
|
||||
uint32_t audit;
|
||||
};
|
||||
|
||||
class ExactMatchFlag : public MatchFlag {
|
||||
public:
|
||||
ExactMatchFlag(uint32_t flag, uint32_t audit) : MatchFlag(flag, audit) {}
|
||||
};
|
||||
|
||||
class DenyMatchFlag : public MatchFlag {
|
||||
public:
|
||||
DenyMatchFlag(uint32_t flag, uint32_t quiet) : MatchFlag(flag, quiet) {}
|
||||
};
|
||||
|
||||
#endif /* __LIBAA_RE_EXPR */
|
||||
|
Reference in New Issue
Block a user