>> 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". 

Reply via email to