Enum HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction
- java.lang.Object
-
- java.lang.Enum<HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction>
-
- io.envoyproxy.envoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction
-
- All Implemented Interfaces:
com.google.protobuf.Internal.EnumLite,com.google.protobuf.ProtocolMessageEnum,Serializable,Comparable<HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction>
- Enclosing class:
- HeaderValidatorConfig.UriPathNormalizationOptions
public static enum HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction extends Enum<HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction> implements com.google.protobuf.ProtocolMessageEnum
Determines the action for requests that contain ``%2F``, ``%2f``, ``%5C`` or ``%5c`` sequences in the URI path. This operation occurs before URL normalization and the merge slashes transformations if they were enabled.
Protobuf enumenvoy.extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction
-
-
Enum Constant Summary
Enum Constants Enum Constant Description IMPLEMENTATION_SPECIFIC_DEFAULTDefault behavior specific to implementation (i.e.KEEP_UNCHANGEDKeep escaped slashes.REJECT_REQUESTReject client request with the 400 status. gRPC requests will be rejected with the ``INTERNAL`` (13) error code.UNESCAPE_AND_FORWARDUnescape ``%2F`` and ``%5C`` sequences.UNESCAPE_AND_REDIRECTUnescape ``%2F`` and ``%5C`` sequences and redirect the request to the new path if these sequences were present.UNRECOGNIZED
-
Field Summary
Fields Modifier and Type Field Description static intIMPLEMENTATION_SPECIFIC_DEFAULT_VALUEDefault behavior specific to implementation (i.e.static intKEEP_UNCHANGED_VALUEKeep escaped slashes.static intREJECT_REQUEST_VALUEReject client request with the 400 status. gRPC requests will be rejected with the ``INTERNAL`` (13) error code.static intUNESCAPE_AND_FORWARD_VALUEUnescape ``%2F`` and ``%5C`` sequences.static intUNESCAPE_AND_REDIRECT_VALUEUnescape ``%2F`` and ``%5C`` sequences and redirect the request to the new path if these sequences were present.
-
Method Summary
-
-
-
Enum Constant Detail
-
IMPLEMENTATION_SPECIFIC_DEFAULT
public static final HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction IMPLEMENTATION_SPECIFIC_DEFAULT
Default behavior specific to implementation (i.e. Envoy) of this configuration option. Envoy, by default, takes the ``KEEP_UNCHANGED`` action. NOTE: the implementation may change the default behavior at-will.
IMPLEMENTATION_SPECIFIC_DEFAULT = 0;
-
KEEP_UNCHANGED
public static final HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction KEEP_UNCHANGED
Keep escaped slashes.
KEEP_UNCHANGED = 1;
-
REJECT_REQUEST
public static final HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction REJECT_REQUEST
Reject client request with the 400 status. gRPC requests will be rejected with the ``INTERNAL`` (13) error code. The ``http#.downstream_rq_failed_path_normalization`` counter is incremented for each rejected request.
REJECT_REQUEST = 2;
-
UNESCAPE_AND_REDIRECT
public static final HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction UNESCAPE_AND_REDIRECT
Unescape ``%2F`` and ``%5C`` sequences and redirect the request to the new path if these sequences were present. The redirect occurs after path normalization and merge slashes transformations if they were configured. NOTE: gRPC requests will be rejected with the ``INTERNAL`` (13) error code. This option minimizes possibility of path confusion exploits by forcing request with unescaped slashes to traverse all parties: downstream client, intermediate proxies, Envoy and upstream server. The ``http#.downstream_rq_redirected_with_normalized_path`` counter is incremented for each redirected request.
UNESCAPE_AND_REDIRECT = 3;
-
UNESCAPE_AND_FORWARD
public static final HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction UNESCAPE_AND_FORWARD
Unescape ``%2F`` and ``%5C`` sequences. Note: this option should not be enabled if intermediaries perform path based access control as it may lead to path confusion vulnerabilities.
UNESCAPE_AND_FORWARD = 4;
-
UNRECOGNIZED
public static final HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction UNRECOGNIZED
-
-
Field Detail
-
IMPLEMENTATION_SPECIFIC_DEFAULT_VALUE
public static final int IMPLEMENTATION_SPECIFIC_DEFAULT_VALUE
Default behavior specific to implementation (i.e. Envoy) of this configuration option. Envoy, by default, takes the ``KEEP_UNCHANGED`` action. NOTE: the implementation may change the default behavior at-will.
IMPLEMENTATION_SPECIFIC_DEFAULT = 0;- See Also:
- Constant Field Values
-
KEEP_UNCHANGED_VALUE
public static final int KEEP_UNCHANGED_VALUE
Keep escaped slashes.
KEEP_UNCHANGED = 1;- See Also:
- Constant Field Values
-
REJECT_REQUEST_VALUE
public static final int REJECT_REQUEST_VALUE
Reject client request with the 400 status. gRPC requests will be rejected with the ``INTERNAL`` (13) error code. The ``http#.downstream_rq_failed_path_normalization`` counter is incremented for each rejected request.
REJECT_REQUEST = 2;- See Also:
- Constant Field Values
-
UNESCAPE_AND_REDIRECT_VALUE
public static final int UNESCAPE_AND_REDIRECT_VALUE
Unescape ``%2F`` and ``%5C`` sequences and redirect the request to the new path if these sequences were present. The redirect occurs after path normalization and merge slashes transformations if they were configured. NOTE: gRPC requests will be rejected with the ``INTERNAL`` (13) error code. This option minimizes possibility of path confusion exploits by forcing request with unescaped slashes to traverse all parties: downstream client, intermediate proxies, Envoy and upstream server. The ``http#.downstream_rq_redirected_with_normalized_path`` counter is incremented for each redirected request.
UNESCAPE_AND_REDIRECT = 3;- See Also:
- Constant Field Values
-
UNESCAPE_AND_FORWARD_VALUE
public static final int UNESCAPE_AND_FORWARD_VALUE
Unescape ``%2F`` and ``%5C`` sequences. Note: this option should not be enabled if intermediaries perform path based access control as it may lead to path confusion vulnerabilities.
UNESCAPE_AND_FORWARD = 4;- See Also:
- Constant Field Values
-
-
Method Detail
-
values
public static HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction c : HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum type has no constant with the specified nameNullPointerException- if the argument is null
-
getNumber
public final int getNumber()
- Specified by:
getNumberin interfacecom.google.protobuf.Internal.EnumLite- Specified by:
getNumberin interfacecom.google.protobuf.ProtocolMessageEnum
-
valueOf
@Deprecated public static HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction valueOf(int value)
Deprecated.Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
value- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum type has no constant with the specified nameNullPointerException- if the argument is null
-
forNumber
public static HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction forNumber(int value)
- Parameters:
value- The numeric wire value of the corresponding enum entry.- Returns:
- The enum associated with the given numeric wire value.
-
internalGetValueMap
public static com.google.protobuf.Internal.EnumLiteMap<HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction> internalGetValueMap()
-
getValueDescriptor
public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
- Specified by:
getValueDescriptorin interfacecom.google.protobuf.ProtocolMessageEnum
-
getDescriptorForType
public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.ProtocolMessageEnum
-
getDescriptor
public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
-
valueOf
public static HeaderValidatorConfig.UriPathNormalizationOptions.PathWithEscapedSlashesAction valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
desc- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum type has no constant with the specified nameNullPointerException- if the argument is null
-
-