summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Plugins/Rules.py
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2011-08-31 15:25:59 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2011-08-31 15:25:59 -0400
commit6e12111b00f892ecf194e843bcabc55d1dba78ac (patch)
treee40aa1b2eb02b04f1d497ea99383738d1159050c /src/lib/Server/Plugins/Rules.py
parent4871b198baf18e4f7a1dcb87410bc6e9d5584ecf (diff)
downloadbcfg2-6e12111b00f892ecf194e843bcabc55d1dba78ac.tar.gz
bcfg2-6e12111b00f892ecf194e843bcabc55d1dba78ac.tar.bz2
bcfg2-6e12111b00f892ecf194e843bcabc55d1dba78ac.zip
anchor rules regexes at both ends to avoid bogus matches
Diffstat (limited to 'src/lib/Server/Plugins/Rules.py')
-rw-r--r--src/lib/Server/Plugins/Rules.py10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/lib/Server/Plugins/Rules.py b/src/lib/Server/Plugins/Rules.py
index e8412c6f1..a146dca6a 100644
--- a/src/lib/Server/Plugins/Rules.py
+++ b/src/lib/Server/Plugins/Rules.py
@@ -12,12 +12,8 @@ class Rules(Bcfg2.Server.Plugin.PrioDir):
def HandlesEntry(self, entry, metadata):
if entry.tag in self.Entries:
- if entry.get("name") in self.Entries[entry.tag]:
- return True
- else:
- for rule in self.Entries[entry.tag].keys():
- if re.search(rule, entry.get('name')):
- return True
+ return self._matches(entry, metadata,
+ self.Entries[entry.tag].keys())
return False
def HandleEntry(self, entry, metadata):
@@ -35,7 +31,7 @@ class Rules(Bcfg2.Server.Plugin.PrioDir):
else:
# attempt regular expression matching
for rule in rules:
- if re.search(rule, entry.get('name')):
+ if re.match("%s$" % rule, entry.get('name')):
return True
return False