Class InputValidator
java.lang.Object
io.jenkins.plugins.swarmcloud.security.InputValidator
Utility class for validating and sanitizing user input.
Provides protection against injection attacks and invalid input.
-
Method Summary
Modifier and TypeMethodDescriptionstatic booleanisNotBlank(String value) Checks if a string is not null and not blank.static booleanisValidCloudName(String name) Validates a cloud name.static booleanisValidCpuSpec(String cpu) Validates a CPU limit specification (e.g., "0.5", "2.0", "4").static booleanisValidDockerHost(String dockerHost) Validates a Docker host URL.static booleanisValidDockerImage(String image) Validates a Docker image name.static booleanisValidEnvVarName(String name) Validates an environment variable name.static booleanisValidLabelString(String labels) Validates a label string.static booleanisValidMemorySpec(String memory) Validates a memory specification (e.g., "512m", "1g", "2048m").static booleanisValidNetworkName(String network) Validates a Docker network name.static booleanisValidPlacementConstraint(String constraint) Validates a placement constraint.static booleanisValidPort(int port) Validates a port number.static booleanisValidServiceId(String serviceId) Validates a Docker Swarm service ID.static booleanisValidTemplateName(String name) Validates a template name.static booleanisValidTimeout(int timeout) Validates a timeout value in seconds.static booleanisValidUrl(String url) Validates a URL.static StringsanitizeForDisplay(String input) Sanitizes a string for display, escaping HTML.static StringsanitizeForLog(String input) Sanitizes a string for safe use in logs.
-
Method Details
-
isValidCloudName
Validates a cloud name.- Parameters:
name- The cloud name to validate- Returns:
- true if valid
-
isValidTemplateName
Validates a template name.- Parameters:
name- The template name to validate- Returns:
- true if valid
-
isValidDockerImage
Validates a Docker image name.- Parameters:
image- The Docker image to validate- Returns:
- true if valid
-
isValidServiceId
Validates a Docker Swarm service ID.- Parameters:
serviceId- The service ID to validate- Returns:
- true if valid
-
isValidLabelString
Validates a label string.- Parameters:
labels- The label string to validate- Returns:
- true if valid
-
isValidNetworkName
Validates a Docker network name.- Parameters:
network- The network name to validate- Returns:
- true if valid
-
isValidDockerHost
Validates a Docker host URL.- Parameters:
dockerHost- The Docker host URL to validate- Returns:
- true if valid
-
sanitizeForLog
Sanitizes a string for safe use in logs. Removes newlines and limits length to prevent log injection.- Parameters:
input- The input string- Returns:
- Sanitized string
-
sanitizeForDisplay
Sanitizes a string for display, escaping HTML.- Parameters:
input- The input string- Returns:
- Sanitized string safe for HTML display
-
isValidMemorySpec
Validates a memory specification (e.g., "512m", "1g", "2048m").- Parameters:
memory- The memory specification to validate- Returns:
- true if valid
-
isValidCpuSpec
Validates a CPU limit specification (e.g., "0.5", "2.0", "4").- Parameters:
cpu- The CPU specification to validate- Returns:
- true if valid
-
isValidPort
public static boolean isValidPort(int port) Validates a port number.- Parameters:
port- The port number to validate- Returns:
- true if valid
-
isValidTimeout
public static boolean isValidTimeout(int timeout) Validates a timeout value in seconds.- Parameters:
timeout- The timeout in seconds- Returns:
- true if valid (1 second to 1 hour)
-
isValidUrl
Validates a URL.- Parameters:
url- The URL to validate- Returns:
- true if valid
-
isValidPlacementConstraint
Validates a placement constraint.- Parameters:
constraint- The placement constraint to validate- Returns:
- true if valid
-
isValidEnvVarName
Validates an environment variable name.- Parameters:
name- The environment variable name- Returns:
- true if valid
-
isNotBlank
Checks if a string is not null and not blank.- Parameters:
value- The string to check- Returns:
- true if not null and not blank
-