>> Do we call this a bug?
>
>Probably, but I don't if it's an S2 or OGNL issue.
>
>Dave
com.opensymphony.xwork2.interceptor.ParametersInterceptor
private String acceptedParamNames = "[a-zA-Z0-9\\.\\]\\[\\(\\)_'\\s]+";
private Pattern acceptedPattern = Pattern.compile(acceptedParamNames);
...
protected boolean acceptableName(String name) {
if (isAccepted(name) && !isExcluded(name)) {
return true;
}
return false;
}
protected boolean isAccepted(String paramName) {
if (!this.acceptParams.isEmpty()) {
for (Pattern pattern : acceptParams) {
Matcher matcher = pattern.matcher(paramName);
if (matcher.matches()) {
return true;
}
}
return false;
} else
return acceptedPattern.matcher(paramName).matches();
}
Using the sample app. the debugger lands on "return false" in
acceptableName and never makes it to isExcluded, so isAccepted appears to
be where it gets stopped (returns false). That must be on account of what
is considered "acceptedParamNames".