[richfaces-issues] [JBoss JIRA] Created: (RF-7322) DropdownMenu: invalid parameters submitted

Nick Belaevski (JIRA) jira-events at lists.jboss.org
Wed Jun 3 21:27:56 EDT 2009


DropdownMenu: invalid parameters submitted
------------------------------------------

                 Key: RF-7322
                 URL: https://jira.jboss.org/jira/browse/RF-7322
             Project: RichFaces
          Issue Type: Bug
          Components: component-menu
    Affects Versions: 3.3.2.CR1
         Environment: MyFaces 1.2.6
            Reporter: Nick Belaevski
            Assignee: Nick Belaevski
            Priority: Critical
             Fix For: 3.3.2.CR1


<h:form>
	<rich:dropDownMenu value="menu">
		<rich:menuItem target="_blank" submitMode="server" value="Submit" />
	</rich:dropDownMenu>
</h:form>

Leads to: javax.crypto.IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher
Also submitted parameters contain number of functions:

2	

l

3	

a

4	

n

5	

k

blank	

function () {
    return /^\s*$/.test(this);
}

camelize	

function () {
    var parts = this.split("-"), len = parts.length;
    if (len == 1) {
        return parts[0];
    }
    var camelized = this.charAt(0) == "-" ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)
 : parts[0];
    for (var i = 1; i < len; i++) {
        camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);
    }
    return camelized;
}

capitalize	

function () {
    return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
}

dasherize	

function () {
    return this.gsub(/_/, "-");
}

empty	

function () {
    return this == "";
}

endsWith	

function (pattern) {
    var d = this.length - pattern.length;
    return d >= 0 && this.lastIndexOf(pattern) === d;
}

escapeHTML	

function () {
    var self = arguments.callee;
    self.text.data = this;
    return self.div.innerHTML;
}

evalJSON	

function (sanitize) {
    var json = this.unfilterJSON();
    try {
        if (!sanitize || json.isJSON()) {
            return eval("(" + json + ")");
        }
    } catch (e) {
    }
    throw new SyntaxError("Badly formed JSON string: " + this.inspect());
}

evalScripts	

function () {
    return this.extractScripts().map(function (script) {return eval(script);});
}

extractScripts	

function () {
    var matchAll = new RegExp(Prototype.ScriptFragment, "img");
    var matchOne = new RegExp(Prototype.ScriptFragment, "im");
    return (this.match(matchAll) || []).map(function (scriptTag) {var result = (scriptTag.match(matchOne
) || ["", ""])[1];result = result.replace(/</, "&lt;").replace(/\s*&lt;!--[^\r\n]*/, "");return result
;});
}

gsub	

function (pattern, replacement) {
    var result = "", source = this, match;
    replacement = arguments.callee.prepareReplacement(replacement);
    while (source.length > 0) {
        if (match = source.match(pattern)) {
            result += source.slice(0, match.index);
            result += String.interpret(replacement(match));
            source = source.slice(match.index + match[0].length);
        } else {
            result += source, source = "";
        }
    }
    return result;
}

include	

function (pattern) {
    return this.indexOf(pattern) > -1;
}

inspect	

function (useDoubleQuotes) {
    var escapedString = this.gsub(/[\x00-\x1f\\]/, function (match) {var character = String.specialChar
[match[0]];return character ? character : "\\u00" + match[0].charCodeAt().toPaddedString(2, 16);});
    if (useDoubleQuotes) {
        return "\"" + escapedString.replace(/"/g, "\\\"") + "\"";
    }
    return "'" + escapedString.replace(/'/g, "\\'") + "'";
}

interpolate	

function (object, pattern) {
    return (new Template(this, pattern)).evaluate(object);
}

isJSON	

function () {
    var str = this;
    if (str.blank()) {
        return false;
    }
    str = this.replace(/\\./g, "@").replace(/"[^"\\\n\r]*"/g, "");
    return /^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/.test(str);
}

j_id2_SUBMIT	

_

javax.faces.ViewState	

b

parseQuery	

function (separator) {
    var match = this.strip().match(/([^?#]*)(#.*)?$/);
    if (!match) {
        return {};
    }
    return match[1].split(separator || "&").inject({}, function (hash, pair) {if ((pair = pair.split
("="))[0]) {var key = decodeURIComponent(pair.shift());var value = pair.length > 1 ? pair.join("=") 
: pair[0];if (value != undefined) {value = decodeURIComponent(value);}if (key in hash) {if (!Object.isArray
(hash[key])) {hash[key] = [hash[key]];}hash[key].push(value);} else {hash[key] = value;}}return hash
;});
}

scan	

function (pattern, iterator) {
    this.gsub(pattern, iterator);
    return String(this);
}

startsWith	

function (pattern) {
    return this.indexOf(pattern) === 0;
}

strip	

function () {
    return this.replace(/^\s+/, "").replace(/\s+$/, "");
}

stripScripts	

function () {
    return this.replace(new RegExp(Prototype.ScriptFragment, "img"), "");
}

stripTags	

function () {
    return this.replace(/<\/?[^>]+>/gi, "");
}

succ	

function () {
    return this.slice(0, this.length - 1) + String.fromCharCode(this.charCodeAt(this.length - 1) + 1
);
}

times	

function (count) {
    return count < 1 ? "" : (new Array(count + 1)).join(this);
}

toArray	

function () {
    return this.split("");
}

toJSON	

function () {
    return this.inspect(true);
}

toQueryParams	

function (separator) {
    var match = this.strip().match(/([^?#]*)(#.*)?$/);
    if (!match) {
        return {};
    }
    return match[1].split(separator || "&").inject({}, function (hash, pair) {if ((pair = pair.split
("="))[0]) {var key = decodeURIComponent(pair.shift());var value = pair.length > 1 ? pair.join("=") 
: pair[0];if (value != undefined) {value = decodeURIComponent(value);}if (key in hash) {if (!Object.isArray
(hash[key])) {hash[key] = [hash[key]];}hash[key].push(value);} else {hash[key] = value;}}return hash
;});
}

truncate	

function (length, truncation) {
    length = length || 30;
    truncation = Object.isUndefined(truncation) ? "..." : truncation;
    return this.length > length ? this.slice(0, length - truncation.length) + truncation : String(this
);
}

underscore	

function () {
    return this.gsub(/::/, "/").gsub(/([A-Z]+)([A-Z][a-z])/, "#{1}_#{2}").gsub(/([a-z\d])([A-Z])/, "
#{1}_#{2}").gsub(/-/, "_").toLowerCase();
}

unescapeHTML	

function () {
    var div = new Element("div");
    div.innerHTML = this.stripTags();
    return div.childNodes[0] ? div.childNodes.length > 1 ? $A(div.childNodes).inject("", function (memo
, node) {return memo + node.nodeValue;}) : div.childNodes[0].nodeValue : "";
}

unfilterJSON	

function (filter) {
    return this.sub(filter || Prototype.JSONFilter, "#{1}");
}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the richfaces-issues mailing list