summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-03-24 15:21:37 +0100
committerDouwe Maan <douwe@gitlab.com>2015-03-27 11:10:56 +0100
commit5f93b0e3da9f84f44c5f00af5d3e48c277d68d5b (patch)
tree3bad1fab55938d2770f9a5b6891634793c64727d /lib
parentdfe0f9eedf040c6c266161239b6e2ede77c2b7dc (diff)
downloadgitlab-ce-5f93b0e3da9f84f44c5f00af5d3e48c277d68d5b.tar.gz
Don't allow username to end in period.
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/markdown.rb2
-rw-r--r--lib/gitlab/regex.rb6
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/gitlab/markdown.rb b/lib/gitlab/markdown.rb
index 41bb8d08924..0b29138a729 100644
--- a/lib/gitlab/markdown.rb
+++ b/lib/gitlab/markdown.rb
@@ -152,7 +152,7 @@ module Gitlab
text
end
- NAME_STR = '[a-zA-Z0-9_][a-zA-Z0-9_\-\.]*'
+ NAME_STR = Gitlab::Regex::NAMESPACE_REGEX_STR
PROJ_STR = "(?<project>#{NAME_STR}/#{NAME_STR})"
REFERENCE_PATTERN = %r{
diff --git a/lib/gitlab/regex.rb b/lib/gitlab/regex.rb
index 08fcf9c6dc0..0571574aa4f 100644
--- a/lib/gitlab/regex.rb
+++ b/lib/gitlab/regex.rb
@@ -2,13 +2,15 @@ module Gitlab
module Regex
extend self
+ NAMESPACE_REGEX_STR = '(?:[a-zA-Z0-9_\.][a-zA-Z0-9_\-\.]*[a-zA-Z0-9_\-]|[a-zA-Z0-9_])'.freeze
+
def namespace_regex
- @namespace_regex ||= /\A[a-zA-Z0-9_.][a-zA-Z0-9_\-\.]*(?<!\.git)\z/.freeze
+ @namespace_regex ||= /\A#{NAMESPACE_REGEX_STR}\z/.freeze
end
def namespace_regex_message
"can contain only letters, digits, '_', '-' and '.'. " \
- "Cannot start with '-' or end in '.git'" \
+ "Cannot start with '-' or end in '.'." \
end