mirror of
https://github.com/SELinuxProject/selinux
synced 2024-12-18 04:04:34 +00:00
sepolgen: parse gen_tunable as bool
Currently sepolgen-ifgen parses a gen_tunable statement as interface and reports in verbose mode: Missing interface definition for gen_tunable Add grammar for gen_tunable statements in the refparser Signed-off-by: Christian Göttsche <cgzones@googlemail.com> Acked-by: Stephen Smalley <stephen.smalley.work@gmail.com>
This commit is contained in:
parent
ddcd6d1b73
commit
5adc269f95
@ -126,6 +126,7 @@ tokens = (
|
||||
'GEN_REQ',
|
||||
'TEMPLATE',
|
||||
'GEN_CONTEXT',
|
||||
'GEN_TUNABLE',
|
||||
# m4
|
||||
'IFELSE',
|
||||
'IFDEF',
|
||||
@ -192,6 +193,7 @@ reserved = {
|
||||
'gen_require' : 'GEN_REQ',
|
||||
'template' : 'TEMPLATE',
|
||||
'gen_context' : 'GEN_CONTEXT',
|
||||
'gen_tunable' : 'GEN_TUNABLE',
|
||||
# M4
|
||||
'ifelse' : 'IFELSE',
|
||||
'ifndef' : 'IFNDEF',
|
||||
@ -518,6 +520,7 @@ def p_policy_stmt(p):
|
||||
| range_transition_def
|
||||
| role_transition_def
|
||||
| bool
|
||||
| gen_tunable
|
||||
| define
|
||||
| initial_sid
|
||||
| genfscon
|
||||
@ -844,6 +847,17 @@ def p_bool(p):
|
||||
b.state = False
|
||||
p[0] = b
|
||||
|
||||
def p_gen_tunable(p):
|
||||
'''gen_tunable : GEN_TUNABLE OPAREN TICK IDENTIFIER SQUOTE COMMA TRUE CPAREN
|
||||
| GEN_TUNABLE OPAREN TICK IDENTIFIER SQUOTE COMMA FALSE CPAREN'''
|
||||
b = refpolicy.Bool()
|
||||
b.name = p[4]
|
||||
if p[7] == "true":
|
||||
b.state = True
|
||||
else:
|
||||
b.state = False
|
||||
p[0] = b
|
||||
|
||||
def p_conditional(p):
|
||||
''' conditional : IF OPAREN cond_expr CPAREN OBRACE interface_stmts CBRACE
|
||||
| IF OPAREN cond_expr CPAREN OBRACE interface_stmts CBRACE ELSE OBRACE interface_stmts CBRACE
|
||||
|
Loading…
Reference in New Issue
Block a user