Class SubmoduleValidator
java.lang.Object
org.eclipse.jgit.internal.submodule.SubmoduleValidator
Validations for the git submodule fields (name, path, uri).
Invalid values in these fields can cause security problems as reported in
CVE-2018-11235 and CVE-2018-17456
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Error validating a git submodule declaration -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
assertValidGitModulesFile
(String gitModulesContents) Validate a .gitmodules filestatic void
Validate name for a submodulestatic void
Validate path for a submodulestatic void
Validate URI for a submodule
-
Constructor Details
-
SubmoduleValidator
public SubmoduleValidator()
-
-
Method Details
-
assertValidSubmoduleName
public static void assertValidSubmoduleName(String name) throws SubmoduleValidator.SubmoduleValidationException Validate name for a submodule- Parameters:
name
- name of a submodule- Throws:
SubmoduleValidator.SubmoduleValidationException
- name doesn't seem valid (detail in message)
-
assertValidSubmoduleUri
public static void assertValidSubmoduleUri(String uri) throws SubmoduleValidator.SubmoduleValidationException Validate URI for a submodule- Parameters:
uri
- uri of a submodule- Throws:
SubmoduleValidator.SubmoduleValidationException
- uri doesn't seem valid
-
assertValidSubmodulePath
public static void assertValidSubmodulePath(String path) throws SubmoduleValidator.SubmoduleValidationException Validate path for a submodule- Parameters:
path
- path of a submodule- Throws:
SubmoduleValidator.SubmoduleValidationException
- path doesn't look right
-
assertValidGitModulesFile
public static void assertValidGitModulesFile(String gitModulesContents) throws SubmoduleValidator.SubmoduleValidationException Validate a .gitmodules file- Parameters:
gitModulesContents
- Contents of a .gitmodule file. They will be parsed internally.- Throws:
SubmoduleValidator.SubmoduleValidationException
- if the contents don't look like a configuration file or field values are not valid
-