From 8b8bdb30fbc522c38a35aad46a0036b926f5db9d Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Wed, 7 Sep 2022 22:18:51 +0200 Subject: [PATCH] Allow uppercase ASCII alphabet in PyPI package names (#21095) The PyPI name regexp is too restrictive and only permits lowercase characters. This PR adjusts the regexp to add in support for uppercase characters. Fix #21014 --- routers/api/packages/pypi/pypi.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routers/api/packages/pypi/pypi.go b/routers/api/packages/pypi/pypi.go index 07cf766c6..3a046abe1 100644 --- a/routers/api/packages/pypi/pypi.go +++ b/routers/api/packages/pypi/pypi.go @@ -23,7 +23,7 @@ import ( // https://www.python.org/dev/peps/pep-0503/#normalized-names var normalizer = strings.NewReplacer(".", "-", "_", "-") -var nameMatcher = regexp.MustCompile(`\A[a-z0-9\.\-_]+\z`) +var nameMatcher = regexp.MustCompile(`\A[a-zA-Z0-9\.\-_]+\z`) // https://www.python.org/dev/peps/pep-0440/#appendix-b-parsing-version-strings-with-regular-expressions var versionMatcher = regexp.MustCompile(`^([1-9][0-9]*!)?(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))*((a|b|rc)(0|[1-9][0-9]*))?(\.post(0|[1-9][0-9]*))?(\.dev(0|[1-9][0-9]*))?$`)