diff --git a/fdroidserver/lint.py b/fdroidserver/lint.py index ba6fd442..e8881a84 100644 --- a/fdroidserver/lint.py +++ b/fdroidserver/lint.py @@ -120,7 +120,11 @@ http_url_shorteners = [ ] http_checks = https_enforcings + http_url_shorteners + [ - (re.compile(r'.*github\.com/[^/]+/[^/]+\.git'), + (re.compile(r'^(?!https?://)[^/]+'), + _("URL must start with https:// or http://")), + (re.compile(r'^http://[^.]+\.(github|gitlab)\.io/'), + _("URL must start with https://")), + (re.compile(r'^https://(github|gitlab)\.com(/[^/]+){2,3}\.git'), _("Appending .git is not necessary")), (re.compile(r'^https://[^/]*(github|gitlab|bitbucket|rawgit)\.[a-zA-Z]+/([^/]+/){2,3}master/'), _("Use /HEAD instead of /master to point at a file in the default branch")), diff --git a/tests/lint.TestCase b/tests/lint.TestCase index 12285431..65f351c0 100755 --- a/tests/lint.TestCase +++ b/tests/lint.TestCase @@ -101,8 +101,12 @@ class LintTest(unittest.TestCase): self.assertFalse(anywarns) bad_urls = [ + 'github.com/my/proj', + 'https://github.com/foo/bar.git', + 'https://gitlab.com/group/subgroup/project.git', 'https://raw.githubusercontent.com/Seva-coder/Finder/master/ChangeLog.txt', 'https://github.com/scoutant/blokish/blob/master/README.md#changelog', + 'http://htmlpreview.github.io/?https://github.com/my/project/blob/HEAD/index.html', ] anywarns = False logging.debug('bad urls:')