From 422e36c71db886229d98c9f56ef0b9d6e274d8a9 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Jul 25 2018 13:07:11 +0000 Subject: Ensure we are consistent about the character set allowed in tags Fixes https://pagure.io/pagure/issue/3406 Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/ui/issues.py b/pagure/ui/issues.py index e4ff8cd..9b6859f 100644 --- a/pagure/ui/issues.py +++ b/pagure/ui/issues.py @@ -557,10 +557,11 @@ def update_tags(repo, username=None, namespace=None): if col.strip() ] + pattern = re.compile(pagure.forms.TAGS_REGEX, re.IGNORECASE) for tag in tags: - if '/' in tag: + if not pattern.match(tag): flask.flash( - 'Tag: %s contains an invalid character: "/"' % tag, + 'Tag: %s contains one or more invalid characters' % tag, 'error') error = True diff --git a/tests/test_pagure_flask_ui_issues.py b/tests/test_pagure_flask_ui_issues.py index 3274747..cde1122 100644 --- a/tests/test_pagure_flask_ui_issues.py +++ b/tests/test_pagure_flask_ui_issues.py @@ -3409,7 +3409,7 @@ class PagureFlaskIssuestests(tests.Modeltests): 'Settings - test - Pagure', output_text) self.assertIn( '' - 'Tag: red/green contains an invalid character: "/"', + 'Tag: red/green contains one or more invalid characters', output_text) self.assertIn( '
Project '