ZipPathValidator
class ZipPathValidator
| kotlin.Any | |
| ↳ | dalvik.system.ZipPathValidator |
Enables validation of zip file entry paths to prevent exploitation of the path traversal vulnerability, e.g. zip path entries containing ".." or "/". For more details, read this.
The default implementation accepts all zip file entry paths without raising any exceptions.
For custom validation rules, the core functionality should be implemented in a Callback interface and that instance should be set in setCallback(dalvik.system.ZipPathValidator.Callback).
Existing validation could be set to a default one by calling clearCallback().
Summary
| Nested classes | |
|---|---|
| abstract |
Interface that defines the core validation mechanism when accessing zip file entry paths. |
| Public methods | |
|---|---|
| static Unit |
Clears the current validation mechanism by setting the current callback instance to a default validation. |
| static Unit |
setCallback(callback: ZipPathValidator.Callback)Sets the current callback implementation for zip paths. |
Public methods
clearCallback
static fun clearCallback(): Unit
Clears the current validation mechanism by setting the current callback instance to a default validation.
setCallback
static fun setCallback(callback: ZipPathValidator.Callback): Unit
Sets the current callback implementation for zip paths.
The provided callback should not perform IO or any blocking operations, but only perform path validation. A typical implementation will validate String entries in a single pass and throw a ZipException if the path contains potentially hazardous components such as "..".
| Parameters | |
|---|---|
callback |
ZipPathValidator.Callback: An instance of Callback's implementation. This value cannot be null. |