[richfaces-issues] [JBoss JIRA] Work started: (RF-7322) DropdownMenu: invalid parameters submitted
Nick Belaevski (JIRA)
jira-events at lists.jboss.org
Fri Jun 5 10:29:28 EDT 2009
[ https://jira.jboss.org/jira/browse/RF-7322?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Work on RF-7322 started by Nick Belaevski.
> 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(/</, "<").replace(/\s*<!--[^\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