mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-11 07:55:47 +01:00
do not allow "/./" or "//" in repository names
This commit is contained in:
@@ -143,7 +143,7 @@ public class ValidationUtil
|
|||||||
{
|
{
|
||||||
return Util.isNotEmpty(name) && name.matches(REGEX_REPOSITORYNAME)
|
return Util.isNotEmpty(name) && name.matches(REGEX_REPOSITORYNAME)
|
||||||
&&!name.contains("..") &&!name.endsWith("/.") &&!name.endsWith(".")
|
&&!name.contains("..") &&!name.endsWith("/.") &&!name.endsWith(".")
|
||||||
&&!name.endsWith("/");
|
&&!name.endsWith("/") &&!name.contains("/./") &&!name.contains("//");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -151,6 +151,10 @@ public class ValidationUtilTest
|
|||||||
assertFalse(ValidationUtil.isRepositoryNameValid("scm/../plugins"));
|
assertFalse(ValidationUtil.isRepositoryNameValid("scm/../plugins"));
|
||||||
assertFalse(ValidationUtil.isRepositoryNameValid("scm/main/"));
|
assertFalse(ValidationUtil.isRepositoryNameValid("scm/main/"));
|
||||||
assertFalse(ValidationUtil.isRepositoryNameValid("/scm/main/"));
|
assertFalse(ValidationUtil.isRepositoryNameValid("/scm/main/"));
|
||||||
|
|
||||||
|
// issue 144
|
||||||
|
assertFalse(ValidationUtil.isRepositoryNameValid("scm/./main"));
|
||||||
|
assertFalse(ValidationUtil.isRepositoryNameValid("scm//main"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -57,7 +57,9 @@ Ext.apply(Ext.form.VTypes, {
|
|||||||
&& ! val.contains('..')
|
&& ! val.contains('..')
|
||||||
&& ! val.endsWith('/.')
|
&& ! val.endsWith('/.')
|
||||||
&& ! val.endsWith('/')
|
&& ! val.endsWith('/')
|
||||||
&& ! val.endsWith('.');
|
&& ! val.endsWith('.')
|
||||||
|
&& ! val.contains('/./')
|
||||||
|
&& ! val.contains('//');
|
||||||
},
|
},
|
||||||
|
|
||||||
repositoryNameText: 'The name of the repository is invalid.',
|
repositoryNameText: 'The name of the repository is invalid.',
|
||||||
|
|||||||
Reference in New Issue
Block a user