From 5706facdf2290a6ce11a70624b062b543a63fab1 Mon Sep 17 00:00:00 2001 From: Chris PeBenito Date: Tue, 2 May 2006 14:34:32 +0000 Subject: [PATCH] make dupe interface and templates a fatal error. --- refpolicy/Changelog | 1 + refpolicy/Rules.modular | 4 +++- refpolicy/Rules.monolithic | 4 +++- refpolicy/policy/support/loadable_module.spt | 4 ++-- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/refpolicy/Changelog b/refpolicy/Changelog index cdf13c28..eb8fe18f 100644 --- a/refpolicy/Changelog +++ b/refpolicy/Changelog @@ -1,3 +1,4 @@ +- Make duplicate template and interface declarations a fatal error. - Patch to stabilize modules.conf `make conf` output, from Erich Schubert. - Move xconsole_device_t from devices to xserver since it is not actually a device, it is a named pipe. diff --git a/refpolicy/Rules.modular b/refpolicy/Rules.modular index 92df08de..7fd21a83 100644 --- a/refpolicy/Rules.modular +++ b/refpolicy/Rules.modular @@ -142,8 +142,10 @@ ifeq ($(ALL_INTERFACES),) $(error No enabled modules! $(notdir $(MOD_CONF)) may need to be generated by using "make conf") endif @test -d $(TMPDIR) || mkdir -p $(TMPDIR) + @echo "ifdef(\`__if_error',\`m4exit(1)')" > $(TMPDIR)/iferror.m4 @echo "divert(-1)" > $@ - $(verbose) $(M4) $^ | $(SED) -e s/dollarsstar/\$$\*/g >> $@ + $(verbose) $(M4) $^ $(TMPDIR)/iferror.m4 >> $(TMPDIR)/$(@F).tmp + $(verbose) $(SED) -e s/dollarsstar/\$$\*/g $(TMPDIR)/$(@F).tmp >> $@ @echo "divert" >> $@ $(TMPDIR)/rolemap.conf: M4PARAM += -D self_contained_policy diff --git a/refpolicy/Rules.monolithic b/refpolicy/Rules.monolithic index 89b2d1d3..af561298 100644 --- a/refpolicy/Rules.monolithic +++ b/refpolicy/Rules.monolithic @@ -123,8 +123,10 @@ ifeq ($(ALL_INTERFACES),) $(error No enabled modules! $(notdir $(MOD_CONF)) may need to be generated by using "make conf") endif @test -d $(TMPDIR) || mkdir -p $(TMPDIR) + @echo "ifdef(\`__if_error',\`m4exit(1)')" > $(TMPDIR)/iferror.m4 @echo "divert(-1)" > $@ - $(verbose) $(M4) $^ | $(SED) -e s/dollarsstar/\$$\*/g >> $@ + $(verbose) $(M4) $^ $(TMPDIR)/iferror.m4 >> $(TMPDIR)/$(@F).tmp + $(verbose) $(SED) -e s/dollarsstar/\$$\*/g $(TMPDIR)/$(@F).tmp >> $@ @echo "divert" >> $@ $(TMPDIR)/rolemap.conf: $(ROLEMAP) diff --git a/refpolicy/policy/support/loadable_module.spt b/refpolicy/policy/support/loadable_module.spt index efc9f6db..b9550f16 100644 --- a/refpolicy/policy/support/loadable_module.spt +++ b/refpolicy/policy/support/loadable_module.spt @@ -50,7 +50,7 @@ define(`policy_m4_comment',` # template(name,rules) # define(`template',` dnl - ifdef(`$1',`errprint(__file__:__line__`: duplicate definition of $1(). Original definition on '$1. __endline__)',`define(`$1',__line__)') dnl + ifdef(`$1',`errprint(__file__:__line__`: duplicate definition of $1(). Original definition on '$1. __endline__) define(`__if_error')',`define(`$1',__line__)') dnl `define(`$1',` dnl define(`policy_temp',incr(policy_call_depth)) dnl pushdef(`policy_call_depth',policy_temp) dnl @@ -71,7 +71,7 @@ define(`template',` dnl # interface(name,rules) # define(`interface',` dnl - ifdef(`$1',`errprint(__file__:__line__`: duplicate definition of $1(). Original definition on '$1. __endline__)',`define(`$1',__line__)') dnl + ifdef(`$1',`errprint(__file__:__line__`: duplicate definition of $1(). Original definition on '$1. __endline__) define(`__if_error')',`define(`$1',__line__)') dnl `define(`$1',` dnl define(`policy_temp',incr(policy_call_depth)) dnl pushdef(`policy_call_depth',policy_temp) dnl