Top Description Inners Constructors Methods
org.eclipse.jgit.internal.submodule

public Class SubmoduleValidator

extends Object
Class Inheritance
Static Imports
org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_PATH, .ConfigConstants.CONFIG_KEY_URL, .ConfigConstants.CONFIG_SUBMODULE_SECTION, .ObjectChecker.ErrorType.GITMODULES_NAME, .ObjectChecker.ErrorType.GITMODULES_PARSE, .ObjectChecker.ErrorType.GITMODULES_PATH, .ObjectChecker.ErrorType.GITMODULES_URL

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 and Inner Type Summary

Modifier and TypeClass and Description
public static class
SubmoduleValidator.SubmoduleValidationException

Error validating a git submodule declaration

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public static void
assertValidGitModulesFile(String
Contents of a .gitmodule file. They will be parsed internally.
gitModulesContents
)

Validate a .gitmodules file

public static void
assertValidSubmoduleName(String
name of a submodule
name
)

Validate name for a submodule

public static void
assertValidSubmodulePath(String
path of a submodule
path
)

Validate path for a submodule

public static void
assertValidSubmoduleUri(String
uri of a submodule
uri
)

Validate URI for a submodule

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

SubmoduleValidatorback to summary
public SubmoduleValidator()

Method Detail

assertValidGitModulesFileback to summary
public static void assertValidGitModulesFile(String gitModulesContents) throws SubmoduleValidationException

Validate a .gitmodules file

Parameters
gitModulesContents:String

Contents of a .gitmodule file. They will be parsed internally.

Exceptions
SubmoduleValidationException:
if the contents don't look like a configuration file or field values are not valid
assertValidSubmoduleNameback to summary
public static void assertValidSubmoduleName(String name) throws SubmoduleValidationException

Validate name for a submodule

Parameters
name:String

name of a submodule

Exceptions
SubmoduleValidationException:
name doesn't seem valid (detail in message)
assertValidSubmodulePathback to summary
public static void assertValidSubmodulePath(String path) throws SubmoduleValidationException

Validate path for a submodule

Parameters
path:String

path of a submodule

Exceptions
SubmoduleValidationException:
path doesn't look right
assertValidSubmoduleUriback to summary
public static void assertValidSubmoduleUri(String uri) throws SubmoduleValidationException

Validate URI for a submodule

Parameters
uri:String

uri of a submodule

Exceptions
SubmoduleValidationException:
uri doesn't seem valid
org.eclipse.jgit.internal.submodule back to summary

public Class SubmoduleValidator.SubmoduleValidationException

extends Exception
Class Inheritance

Error validating a git submodule declaration

Field Summary

Modifier and TypeField and Description
private final ObjectChecker.ErrorType
private static final long

Constructor Summary

AccessConstructor and Description
pack-priv
SubmoduleValidationException(String
Description of the problem
message
,
ObjectChecker.ErrorType
Error identifier, following the git fsck fsck.<msg-id> format
fsckMessageId
)

Method Summary

Modifier and TypeMethod and Description
public ObjectChecker.ErrorType

Returns:

the error identifier
getFsckMessageId
()

Get the error identifier

Field Detail

fsckMessageIdback to summary
private final ObjectChecker.ErrorType fsckMessageId
serialVersionUIDback to summary
private static final long serialVersionUID

Hides java.lang.Exception.serialVersionUID.

Constructor Detail

SubmoduleValidationExceptionback to summary
pack-priv SubmoduleValidationException(String message, ObjectChecker.ErrorType fsckMessageId)
Parameters
message:String

Description of the problem

fsckMessageId:ObjectChecker.ErrorType

Error identifier, following the git fsck fsck.<msg-id> format

Method Detail

getFsckMessageIdback to summary
public ObjectChecker.ErrorType getFsckMessageId()

Get the error identifier

Returns:ObjectChecker.ErrorType

the error identifier