mirror of
https://github.com/SELinuxProject/selinux
synced 2025-03-07 10:47:36 +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',
|
'GEN_REQ',
|
||||||
'TEMPLATE',
|
'TEMPLATE',
|
||||||
'GEN_CONTEXT',
|
'GEN_CONTEXT',
|
||||||
|
'GEN_TUNABLE',
|
||||||
# m4
|
# m4
|
||||||
'IFELSE',
|
'IFELSE',
|
||||||
'IFDEF',
|
'IFDEF',
|
||||||
@ -192,6 +193,7 @@ reserved = {
|
|||||||
'gen_require' : 'GEN_REQ',
|
'gen_require' : 'GEN_REQ',
|
||||||
'template' : 'TEMPLATE',
|
'template' : 'TEMPLATE',
|
||||||
'gen_context' : 'GEN_CONTEXT',
|
'gen_context' : 'GEN_CONTEXT',
|
||||||
|
'gen_tunable' : 'GEN_TUNABLE',
|
||||||
# M4
|
# M4
|
||||||
'ifelse' : 'IFELSE',
|
'ifelse' : 'IFELSE',
|
||||||
'ifndef' : 'IFNDEF',
|
'ifndef' : 'IFNDEF',
|
||||||
@ -518,6 +520,7 @@ def p_policy_stmt(p):
|
|||||||
| range_transition_def
|
| range_transition_def
|
||||||
| role_transition_def
|
| role_transition_def
|
||||||
| bool
|
| bool
|
||||||
|
| gen_tunable
|
||||||
| define
|
| define
|
||||||
| initial_sid
|
| initial_sid
|
||||||
| genfscon
|
| genfscon
|
||||||
@ -844,6 +847,17 @@ def p_bool(p):
|
|||||||
b.state = False
|
b.state = False
|
||||||
p[0] = b
|
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):
|
def p_conditional(p):
|
||||||
''' conditional : IF OPAREN cond_expr CPAREN OBRACE interface_stmts CBRACE
|
''' conditional : IF OPAREN cond_expr CPAREN OBRACE interface_stmts CBRACE
|
||||||
| IF OPAREN cond_expr CPAREN OBRACE interface_stmts CBRACE ELSE 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