Skip to content

Commit

Permalink
Support file path (file:/) for download location regex
Browse files Browse the repository at this point in the history
  • Loading branch information
Varun Jain authored and goneall committed Mar 2, 2024
1 parent e7212a6 commit 61a84dd
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/main/java/org/spdx/library/SpdxConstants.java
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ public class SpdxConstants {

// Download Location Format
private static final String SUPPORTED_DOWNLOAD_REPOS = "(git|hg|svn|bzr)";
private static final String URL_PATTERN = "(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/|ssh:\\/\\/|git:\\/\\/|svn:\\/\\/|sftp:\\/\\/|ftp:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+){0,100}\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?";
private static final String URL_PATTERN = "(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/|ssh:\\/\\/|git:\\/\\/|svn:\\/\\/|sftp:\\/\\/|ftp:\\/\\/|file:\\/\\/|file:\\/)?[a-zA-Z0-9\\.\\-\\ \\_]+(:[0-9]{1,5})?(\\/.*)?";
private static final String GIT_PATTERN = "(git\\+git@[a-zA-Z0-9\\.\\-]+:[a-zA-Z0-9/\\\\.@\\-]+)";
private static final String BAZAAR_PATTERN = "(bzr\\+lp:[a-zA-Z0-9\\.\\-]+)";
public static final Pattern DOWNLOAD_LOCATION_PATTERN = Pattern.compile("^(NONE|NOASSERTION|(("+SUPPORTED_DOWNLOAD_REPOS+"\\+)?"+URL_PATTERN+")|"+GIT_PATTERN+"|"+BAZAAR_PATTERN+")$", Pattern.CASE_INSENSITIVE);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,12 @@ public void testVerifyChecksumString() {
public void testVerifyDownloadLocation() {
assertTrue(Objects.isNull(SpdxVerificationHelper.verifyDownloadLocation("NONE")));
assertTrue(Objects.isNull(SpdxVerificationHelper.verifyDownloadLocation("NOASSERTION")));
//file
assertTrue(Objects.isNull(SpdxVerificationHelper.verifyDownloadLocation("file:/Users/dummy/.m2/repository/jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar")));
assertTrue(Objects.isNull(SpdxVerificationHelper.verifyDownloadLocation("file://Users/dummy_user/.m2/repository/jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar")));
assertTrue(Objects.isNull(SpdxVerificationHelper.verifyDownloadLocation("file:/path.123A/dummy_123/.m2/repository/jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar")));
assertTrue(Objects.isNull(SpdxVerificationHelper.verifyDownloadLocation("file://path_ . -abc/dummy.user/.m2/repository/jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar")));

// http
assertTrue(Objects.isNull(SpdxVerificationHelper.verifyDownloadLocation("http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz")));
// git
Expand Down

0 comments on commit 61a84dd

Please sign in to comment.