From fdc52b8277ccc3bd472e5e4584ae2b02f29d3871 Mon Sep 17 00:00:00 2001 From: Brendan Jurd Date: Thu, 2 Oct 2014 16:32:30 +1000 Subject: [PATCH] Add word boundary in apache2_module regexp Add a word boundary \b to the regexp for checking the output of a2{en,dis}mod, to avoid a false positive for a module that ends with the same text as the module we're working on. For example, the previous regexp r'.*spam already enabled' would also match against 'eggs_spam already enabled'. Also, get rid of the redundant '.*' from the end of the regexp. --- lib/ansible/modules/web_infrastructure/apache2_module.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ansible/modules/web_infrastructure/apache2_module.py b/lib/ansible/modules/web_infrastructure/apache2_module.py index bd6de56aed2..817e782aa76 100644 --- a/lib/ansible/modules/web_infrastructure/apache2_module.py +++ b/lib/ansible/modules/web_infrastructure/apache2_module.py @@ -54,7 +54,7 @@ def _disable_module(module): result, stdout, stderr = module.run_command("%s %s" % (a2dismod_binary, name)) - if re.match(r'.*' + name + r' already disabled.*', stdout, re.S): + if re.match(r'.*\b' + name + r' already disabled', stdout, re.S): module.exit_json(changed = False, result = "Success") elif result != 0: module.fail_json(msg="Failed to disable module %s: %s" % (name, stdout)) @@ -69,7 +69,7 @@ def _enable_module(module): result, stdout, stderr = module.run_command("%s %s" % (a2enmod_binary, name)) - if re.match(r'.*' + name + r' already enabled.*', stdout, re.S): + if re.match(r'.*\b' + name + r' already enabled', stdout, re.S): module.exit_json(changed = False, result = "Success") elif result != 0: module.fail_json(msg="Failed to enable module %s: %s" % (name, stdout))