public enum PathSyntaxPolicy extends Enum<PathSyntaxPolicy>
These tests restrict valid file names to a subset of names that are valid on both Windows and UNIX operating systems and that do not represent attempts to exploit potential weaknesses in underlying APIs such as strings containing null characters or percent encoded characters.
The following tests are applied:
<,>,:,",|,?,*,#,;,%,
CON, PRN, AUX, CLOCK$, NUL, COM0, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT0, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9
We apply these rules regardless of operating system, so that data can be migrated from one operating system to another without hitting an operating system specific restriction during the migration.
Enum Constant and Description |
---|
CHECK
Default, all request paths will be checked to ensure they comply with the above validation rules
|
DO_NOT_CHECK
No validation will be performed on request paths.
|
Modifier and Type | Field and Description |
---|---|
static int |
MAX_PATH_LENGTH
Over-long path names can cause diminished/denial of service attacks, so we restrict the maximum file path we will process
|
Modifier and Type | Method and Description |
---|---|
static PathSyntaxPolicy |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static PathSyntaxPolicy[] |
values()
Returns an array containing the constants of this enum type, in the order they are declared.
|
public static final PathSyntaxPolicy CHECK
public static final PathSyntaxPolicy DO_NOT_CHECK
public static int MAX_PATH_LENGTH
public static PathSyntaxPolicy[] values()
for (PathSyntaxPolicy c : PathSyntaxPolicy.values()) System.out.println(c);
public static PathSyntaxPolicy valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null