Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/ShaSaslClient.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/ShaSaslClient.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/ShaSaslClient.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/ShaSaslClient.js Fri Apr 29 11:04:40 2016 @@ -26,243 +26,242 @@ define(["dojo/_base/declare", "dojo/Deferred", "qpid/sasl/CredentialBasedSaslClient", "qpid/sasl/UsernamePasswordProvider"], - function(declare, lang, base64, json, script, uuid, Deferred, SaslClient, UsernamePasswordProvider) - { + function (declare, lang, base64, json, script, uuid, Deferred, SaslClient, UsernamePasswordProvider) + { - var toBase64 = function toBase64( input ) - { - var result = []; - for(var i = 0; i < input.length; i++) - { - result[i] = input.charCodeAt(i); - } - return base64.encode( result ) - }; - - var fromBase64 = function fromBase64( input ) - { - var decoded = base64.decode( input ); - var result = ""; - for(var i = 0; i < decoded.length; i++) - { - result+= String.fromCharCode(decoded[i]); - } - return result; - }; - - var xor = function xor(lhs, rhs) - { - var words = []; - for(var i = 0; i < lhs.words.length; i++) - { - words.push(lhs.words[i]^rhs.words[i]); - } - return CryptoJS.lib.WordArray.create(words); - }; - - var hasNonAscii = function hasNonAscii(name) - { - for(var i = 0; i < name.length; i++) - { - if(name.charCodeAt(i) > 127) - { - return true; - } - } - return false; - }; - - var generateSaltedPassword = function generateSaltedPassword(digest, salt, password, iterationCount) - { - var hmac = CryptoJS.algo.HMAC.create(CryptoJS.algo[digest], password); - hmac.update(salt); - hmac.update(CryptoJS.enc.Hex.parse("00000001")); - var result = hmac.finalize(); - var previous = null; - for(var i = 1 ;i < iterationCount; i++) - { - hmac = CryptoJS.algo.HMAC.create(CryptoJS.algo[digest], password); - hmac.update( previous != null ? previous : result ); - previous = hmac.finalize(); - result = xor(result, previous); - } - return result; - }; - - var scriptLoadError = function scriptLoadError(error) - { - var message = "Cannot load script due to " + json.stringify(error); - console.error(message); - throw {message: message}; - }; - - // hidden context scope variables - var shaName = null; - var digest = null; - var hmac = null; - var gs2_header= "n,,"; - var initialized = new Deferred(); - return declare("qpid.sasl.ShaSaslClient", - [SaslClient], - { - _state: "initial", - "-chains-": { - constructor: "manual" // disable auto-constructor invocation - }, - constructor:function(mechanism) - { - this._mechanism = mechanism; - shaName = mechanism.substring(6).replace('-','').toLowerCase(); - digest = shaName.toUpperCase(); - hmac = "Hmac" + digest; - - // loading crypto-js functionality based on mechanism - script.get("js/crypto-js/hmac-" + shaName + ".js").then( - function() - { - script.get("js/crypto-js/enc-base64-min.js").then( - function() - { - initialized.resolve(true); - }, - function(error) - { - initialized.reject(error); - scriptLoadError(error); - } - ); - }, - function(error) - { - initialized.reject("error"); - scriptLoadError(error); - } - ); - }, - getMechanismName: function() { return this._mechanism;}, - isComplete: function() { return this._state == "completed";}, - getResponse: function(data) - { - if (initialized.promise.isResolved()) - { - return this._getResponse(data); - } - else - { - throw {message: "Not initialized"}; - } - }, - _getResponse: function(data) - { - if (this._state == "initial") - { - if(!hasNonAscii(data.username)) - { - var user = data.username; - user = user.replace(/=/g, "=3D"); - user = user.replace(/,/g, "=2C"); - this._password = data.password; - this._username = user; - this._clientNonce = uuid(); - this._clientFirstMessageBare = "n=" + this._username + - ",r=" + this._clientNonce; - var response = toBase64(gs2_header + this._clientFirstMessageBare); - this._state = "initiated"; - return { - mechanism: this.getMechanismName(), - response: response - }; - } - else - { - this._state = "error"; - throw {message: "Username '" + challenge.username + - "' is invalid"}; - } - } - else if (this._state == "initiated") - { - var serverFirstMessage = fromBase64(data.challenge); - var id = data.id; - var parts = serverFirstMessage.split(","); - var nonce = parts[0].substring(2); - if (!nonce.substr(0, this._clientNonce.length) == this._clientNonce) - { - this._state = "error"; - throw {message: "Authentication error - server nonce does " + - "not start with client nonce"}; - } - else - { - var salt = CryptoJS.enc.Base64.parse(parts[1].substring(2)); - var iterationCount = parts[2].substring(2); - var saltedPassword = generateSaltedPassword(digest, salt, - this._password, iterationCount); - var clientFinalMessageWithoutProof = "c=" + - toBase64(gs2_header) + ",r=" + nonce; - var authMessage = this._clientFirstMessageBare + "," + - serverFirstMessage + "," + clientFinalMessageWithoutProof; - var clientKey = CryptoJS[hmac]("Client Key", saltedPassword); - var storedKey = CryptoJS[digest](clientKey); - var clientSignature = CryptoJS[hmac](authMessage, storedKey); - var clientProof = xor(clientKey, clientSignature); - var serverKey = CryptoJS[hmac]("Server Key", saltedPassword); - this._serverSignature = CryptoJS[hmac](authMessage, serverKey); - var response = toBase64(clientFinalMessageWithoutProof + - ",p=" + clientProof.toString(CryptoJS.enc.Base64)); - this._state = "generated"; - return { - id: id, - response: response - }; - } - } - else if (this._state == "generated") - { - var serverFinalMessage = fromBase64(data.challenge); - if (this._serverSignature.toString(CryptoJS.enc.Base64) == - serverFinalMessage.substring(2)) - { - this._state = "completed"; - return null; - } - else - { - this._state == "error"; - throw {message: "Server signature does not match"}; - } - } - else - { - throw {message: "Unexpected state '" + this._state + - ". Cannot handle challenge!"}; - } - }, - toString: function() { return "[SaslClient" + this.getMechanismName() + "]";}, - getCredentials: function() - { - var credentials = new Deferred(); - var successHandler = function(data) - { - credentials.resolve(data); - }; - var errorHandler = function(data) - { - credentials.reject(data) - }; - initialized.then(function(initData) - { - dojo.when(UsernamePasswordProvider.get()) - .then(function(data) - { - successHandler(data); - }, - errorHandler); - },errorHandler); - return credentials.promise; - } - } - ); + var toBase64 = function toBase64(input) + { + var result = []; + for (var i = 0; i < input.length; i++) + { + result[i] = input.charCodeAt(i); + } + return base64.encode(result) + }; + + var fromBase64 = function fromBase64(input) + { + var decoded = base64.decode(input); + var result = ""; + for (var i = 0; i < decoded.length; i++) + { + result += String.fromCharCode(decoded[i]); + } + return result; + }; + + var xor = function xor(lhs, rhs) + { + var words = []; + for (var i = 0; i < lhs.words.length; i++) + { + words.push(lhs.words[i] ^ rhs.words[i]); + } + return CryptoJS.lib.WordArray.create(words); + }; + + var hasNonAscii = function hasNonAscii(name) + { + for (var i = 0; i < name.length; i++) + { + if (name.charCodeAt(i) > 127) + { + return true; + } + } + return false; + }; + + var generateSaltedPassword = function generateSaltedPassword(digest, salt, password, iterationCount) + { + var hmac = CryptoJS.algo.HMAC.create(CryptoJS.algo[digest], password); + hmac.update(salt); + hmac.update(CryptoJS.enc.Hex.parse("00000001")); + var result = hmac.finalize(); + var previous = null; + for (var i = 1; i < iterationCount; i++) + { + hmac = CryptoJS.algo.HMAC.create(CryptoJS.algo[digest], password); + hmac.update(previous != null ? previous : result); + previous = hmac.finalize(); + result = xor(result, previous); + } + return result; + }; + + var scriptLoadError = function scriptLoadError(error) + { + var message = "Cannot load script due to " + json.stringify(error); + console.error(message); + throw {message: message}; + }; + + // hidden context scope variables + var shaName = null; + var digest = null; + var hmac = null; + var gs2_header = "n,,"; + var initialized = new Deferred(); + return declare("qpid.sasl.ShaSaslClient", [SaslClient], { + _state: "initial", + "-chains-": { + constructor: "manual" // disable auto-constructor invocation + }, + constructor: function (mechanism) + { + this._mechanism = mechanism; + shaName = mechanism.substring(6).replace('-', '').toLowerCase(); + digest = shaName.toUpperCase(); + hmac = "Hmac" + digest; + + // loading crypto-js functionality based on mechanism + script.get("js/crypto-js/hmac-" + shaName + ".js").then(function () + { + script.get( + "js/crypto-js/enc-base64-min.js") + .then(function () + { + initialized.resolve(true); + }, function (error) + { + initialized.reject(error); + scriptLoadError(error); + }); + }, function (error) + { + initialized.reject("error"); + scriptLoadError(error); + }); + }, + getMechanismName: function () + { + return this._mechanism; + }, + isComplete: function () + { + return this._state == "completed"; + }, + getResponse: function (data) + { + if (initialized.promise.isResolved()) + { + return this._getResponse(data); + } + else + { + throw {message: "Not initialized"}; + } + }, + _getResponse: function (data) + { + if (this._state == "initial") + { + if (!hasNonAscii(data.username)) + { + var user = data.username; + user = user.replace(/=/g, "=3D"); + user = user.replace(/,/g, "=2C"); + this._password = data.password; + this._username = user; + this._clientNonce = uuid(); + this._clientFirstMessageBare = "n=" + this._username + ",r=" + this._clientNonce; + var response = toBase64(gs2_header + this._clientFirstMessageBare); + this._state = "initiated"; + return { + mechanism: this.getMechanismName(), + response: response + }; + } + else + { + this._state = "error"; + throw { + message: "Username '" + challenge.username + "' is invalid" + }; + } + } + else if (this._state == "initiated") + { + var serverFirstMessage = fromBase64(data.challenge); + var id = data.id; + var parts = serverFirstMessage.split(","); + var nonce = parts[0].substring(2); + if (!nonce.substr(0, this._clientNonce.length) == this._clientNonce) + { + this._state = "error"; + throw { + message: "Authentication error - server nonce does " + "not start with client nonce" + }; + } + else + { + var salt = CryptoJS.enc.Base64.parse(parts[1].substring(2)); + var iterationCount = parts[2].substring(2); + var saltedPassword = generateSaltedPassword(digest, salt, this._password, iterationCount); + var clientFinalMessageWithoutProof = "c=" + toBase64(gs2_header) + ",r=" + nonce; + var authMessage = this._clientFirstMessageBare + "," + serverFirstMessage + "," + + clientFinalMessageWithoutProof; + var clientKey = CryptoJS[hmac]("Client Key", saltedPassword); + var storedKey = CryptoJS[digest](clientKey); + var clientSignature = CryptoJS[hmac](authMessage, storedKey); + var clientProof = xor(clientKey, clientSignature); + var serverKey = CryptoJS[hmac]("Server Key", saltedPassword); + this._serverSignature = CryptoJS[hmac](authMessage, serverKey); + var response = toBase64(clientFinalMessageWithoutProof + ",p=" + clientProof.toString( + CryptoJS.enc.Base64)); + this._state = "generated"; + return { + id: id, + response: response + }; + } + } + else if (this._state == "generated") + { + var serverFinalMessage = fromBase64(data.challenge); + if (this._serverSignature.toString(CryptoJS.enc.Base64) == serverFinalMessage.substring(2)) + { + this._state = "completed"; + return null; + } + else + { + this._state == "error"; + throw {message: "Server signature does not match"}; + } + } + else + { + throw { + message: "Unexpected state '" + this._state + ". Cannot handle challenge!" + }; + } + }, + toString: function () + { + return "[SaslClient" + this.getMechanismName() + "]"; + }, + getCredentials: function () + { + var credentials = new Deferred(); + var successHandler = function (data) + { + credentials.resolve(data); + }; + var errorHandler = function (data) + { + credentials.reject(data) + }; + initialized.then(function (initData) + { + dojo.when(UsernamePasswordProvider.get()) + .then(function (data) + { + successHandler(data); + }, errorHandler); + }, errorHandler); + return credentials.promise; + } + }); - } -); \ No newline at end of file + }); \ No newline at end of file
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/UsernamePasswordProvider.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/UsernamePasswordProvider.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/UsernamePasswordProvider.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/UsernamePasswordProvider.js Fri Apr 29 11:04:40 2016 @@ -18,26 +18,24 @@ * under the License. * */ -define(["dijit/registry", - "dojo/domReady!"], - function (registry) - { - return { - get: function() - { - if (registry.byId("username") == null) - { - // it is not a login page - // redirecting to login.html - window.location = "login.html"; - return; - } +define(["dijit/registry", "dojo/domReady!"], function (registry) +{ + return { + get: function () + { + if (registry.byId("username") == null) + { + // it is not a login page + // redirecting to login.html + window.location = "login.html"; + return; + } - return { - username: registry.byId("username").value, - password: registry.byId("password").value - }; - } - }; + return { + username: registry.byId("username").value, + password: registry.byId("password").value + }; + } + }; - }); \ No newline at end of file +}); \ No newline at end of file Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/cram-md5-hex/SaslClient.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/cram-md5-hex/SaslClient.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/cram-md5-hex/SaslClient.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/cram-md5-hex/SaslClient.js Fri Apr 29 11:04:40 2016 @@ -22,18 +22,25 @@ define(["dojo/_base/declare", "dojox/encoding/base64", "dojox/encoding/digests/_base", "dojox/encoding/digests/MD5", - "qpid/sasl/cram-md5/SaslClient" ], - function(declare, lang, base64, digestsBase, MD5, SaslClientCramMD5) + "qpid/sasl/cram-md5/SaslClient"], function (declare, lang, base64, digestsBase, MD5, SaslClientCramMD5) { - return declare("qpid.sasl.SaslClientCramMD5Hex", [SaslClientCramMD5],{ - getMechanismName: function() {return "CRAM-MD5-HEX";}, - getPriority: function() {return 2;}, - initialize: function(username, password) - { - var hashedPassword = MD5(password, digestsBase.outputTypes.Hex); - this.inherited(arguments, [username, hashedPassword]); - }, - toString: function() { return "[SaslClientCramMD5Hex]";} - }); - } -); \ No newline at end of file + return declare("qpid.sasl.SaslClientCramMD5Hex", [SaslClientCramMD5], { + getMechanismName: function () + { + return "CRAM-MD5-HEX"; + }, + getPriority: function () + { + return 2; + }, + initialize: function (username, password) + { + var hashedPassword = MD5(password, digestsBase.outputTypes.Hex); + this.inherited(arguments, [username, hashedPassword]); + }, + toString: function () + { + return "[SaslClientCramMD5Hex]"; + } + }); + }); \ No newline at end of file Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/cram-md5/SaslClient.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/cram-md5/SaslClient.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/cram-md5/SaslClient.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/cram-md5/SaslClient.js Fri Apr 29 11:04:40 2016 @@ -24,85 +24,95 @@ define(["dojo/_base/declare", "dojox/encoding/digests/MD5", "qpid/sasl/CredentialBasedSaslClient", "qpid/sasl/UsernamePasswordProvider"], - function(declare, lang, base64, digestsBase, MD5, SaslClient, UsernamePasswordProvider) + function (declare, lang, base64, digestsBase, MD5, SaslClient, UsernamePasswordProvider) { - return declare("qpid.sasl.SaslClientCramMD5", - [SaslClient], - { - _state: "initial", - getMechanismName: function() {return "CRAM-MD5";}, - isComplete: function() {return this._state == "completed";}, - getPriority: function() {return 3;}, - getResponse: function(data) - { - if (this._state == "initial") - { - this.initialize(data.username, data.password); - this._state = "initiated"; - return { - mechanism: this.getMechanismName() - }; - } - else if (this._state == "initiated") - { - var challengeBytes = base64.decode(data.challenge); - var wa=[]; - var bitLength = challengeBytes.length*8; - for(var i=0; i<bitLength; i+=8) - { - wa[i>>5] |= (challengeBytes[i/8] & 0xFF)<<(i%32); - } - var challengeStr = digestsBase.wordToString(wa) - .substring(0,challengeBytes.length); + return declare("qpid.sasl.SaslClientCramMD5", [SaslClient], { + _state: "initial", + getMechanismName: function () + { + return "CRAM-MD5"; + }, + isComplete: function () + { + return this._state == "completed"; + }, + getPriority: function () + { + return 3; + }, + getResponse: function (data) + { + if (this._state == "initial") + { + this.initialize(data.username, data.password); + this._state = "initiated"; + return { + mechanism: this.getMechanismName() + }; + } + else if (this._state == "initiated") + { + var challengeBytes = base64.decode(data.challenge); + var wa = []; + var bitLength = challengeBytes.length * 8; + for (var i = 0; i < bitLength; i += 8) + { + wa[i >> 5] |= (challengeBytes[i / 8] & 0xFF) << (i % 32); + } + var challengeStr = digestsBase.wordToString(wa) + .substring(0, challengeBytes.length); - var digest = this._username + " " + - MD5._hmac(challengeStr, this._password, - digestsBase.outputTypes.Hex); - var id = data.id; + var digest = this._username + " " + MD5._hmac(challengeStr, + this._password, + digestsBase.outputTypes.Hex); + var id = data.id; - var response = base64.encode(this._encodeUTF8( digest )); - this._state = "completed"; - return { - id: id, - response: response - }; - } - else - { - throw {message: "Unexpected state '" + this._state + - ". Cannot handle challenge!"}; - } - }, - toString: function() { return "[SaslClientCramMD5]";}, - getCredentials: function() - { - return UsernamePasswordProvider.get(); - }, - initialize : function(username, password) - { - this._password = password; - this._username = username; - }, - _encodeUTF8: function (str) - { - var byteArray = []; - for (var i = 0; i < str.length; i++) - { - if (str.charCodeAt(i) <= 0x7F) - { - byteArray.push(str.charCodeAt(i)); - } - else - { - var h = encodeURIComponent(str.charAt(i)).substr(1).split('%'); - for (var j = 0; j < h.length; j++) - { - byteArray.push(parseInt(h[j], 16)); - } - } - } - return byteArray; - } - }); - } -); \ No newline at end of file + var response = base64.encode(this._encodeUTF8(digest)); + this._state = "completed"; + return { + id: id, + response: response + }; + } + else + { + throw { + message: "Unexpected state '" + this._state + ". Cannot handle challenge!" + }; + } + }, + toString: function () + { + return "[SaslClientCramMD5]"; + }, + getCredentials: function () + { + return UsernamePasswordProvider.get(); + }, + initialize: function (username, password) + { + this._password = password; + this._username = username; + }, + _encodeUTF8: function (str) + { + var byteArray = []; + for (var i = 0; i < str.length; i++) + { + if (str.charCodeAt(i) <= 0x7F) + { + byteArray.push(str.charCodeAt(i)); + } + else + { + var h = encodeURIComponent(str.charAt(i)).substr(1).split('%'); + for (var j = 0; j < h.length; j++) + { + byteArray.push(parseInt(h[j], 16)); + } + } + } + return byteArray; + } + }); + }); \ No newline at end of file Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/plain/SaslClient.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/plain/SaslClient.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/plain/SaslClient.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/plain/SaslClient.js Fri Apr 29 11:04:40 2016 @@ -21,59 +21,70 @@ define(["dojo/_base/declare", "dojo/_base/lang", "dojox/encoding/base64", "qpid/sasl/CredentialBasedSaslClient", - "qpid/sasl/UsernamePasswordProvider"], - function(declare, lang, base64, SaslClient, UsernamePasswordProvider) + "qpid/sasl/UsernamePasswordProvider"], function (declare, lang, base64, SaslClient, UsernamePasswordProvider) { - return declare("qpid.sasl.SaslClientPlain", [SaslClient], { - _state: "initial", - getMechanismName: function() {return "PLAIN";}, - isComplete: function() {return this._state == "completed";}, - getPriority: function() {return 1;}, - getResponse: function(challenge) - { - if (this._state == "initial") - { - var responseArray = [0].concat(this._encodeUTF8(challenge.username)) - .concat([0]) - .concat(this._encodeUTF8(challenge.password)); - var plainResponse = base64.encode(responseArray); - this._state = "completed" - return { - mechanism: this.getMechanismName(), - response: plainResponse - }; - } - else - { - throw {message: "Unexpected state '" + this._state + - ". Cannot handle challenge!"}; - } - }, - toString: function() { return "[SaslClientPlain]";}, - getCredentials: function() - { - return UsernamePasswordProvider.get(); - }, - _encodeUTF8: function (str) - { - var byteArray = []; - for (var i = 0; i < str.length; i++) - { - if (str.charCodeAt(i) <= 0x7F) - { - byteArray.push(str.charCodeAt(i)); - } - else - { - var h = encodeURIComponent(str.charAt(i)).substr(1).split('%'); - for (var j = 0; j < h.length; j++) - { - byteArray.push(parseInt(h[j], 16)); - } - } - } - return byteArray; - } - }); - } -); \ No newline at end of file + return declare("qpid.sasl.SaslClientPlain", [SaslClient], { + _state: "initial", + getMechanismName: function () + { + return "PLAIN"; + }, + isComplete: function () + { + return this._state == "completed"; + }, + getPriority: function () + { + return 1; + }, + getResponse: function (challenge) + { + if (this._state == "initial") + { + var responseArray = [0].concat(this._encodeUTF8(challenge.username)) + .concat([0]) + .concat(this._encodeUTF8(challenge.password)); + var plainResponse = base64.encode(responseArray); + this._state = "completed" + return { + mechanism: this.getMechanismName(), + response: plainResponse + }; + } + else + { + throw { + message: "Unexpected state '" + this._state + ". Cannot handle challenge!" + }; + } + }, + toString: function () + { + return "[SaslClientPlain]"; + }, + getCredentials: function () + { + return UsernamePasswordProvider.get(); + }, + _encodeUTF8: function (str) + { + var byteArray = []; + for (var i = 0; i < str.length; i++) + { + if (str.charCodeAt(i) <= 0x7F) + { + byteArray.push(str.charCodeAt(i)); + } + else + { + var h = encodeURIComponent(str.charAt(i)).substr(1).split('%'); + for (var j = 0; j < h.length; j++) + { + byteArray.push(parseInt(h[j], 16)); + } + } + } + return byteArray; + } + }); + }); \ No newline at end of file Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/scram-sha-1/SaslClient.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/scram-sha-1/SaslClient.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/scram-sha-1/SaslClient.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/scram-sha-1/SaslClient.js Fri Apr 29 11:04:40 2016 @@ -17,21 +17,20 @@ * under the License. */ -define(["dojo/_base/declare", - "qpid/sasl/ShaSaslClient" ], - function(declare, ShaSaslClient) - { - return declare("qpid.sasl.SaslClientScramSha1", [ShaSaslClient], - { - constructor: function() - { - this.inherited(arguments, ["SCRAM-SHA-1"]); - }, - getPriority: function() - { - return 4; - }, - toString: function() { return "[SaslClientScramSha1]";} - }); - } -); \ No newline at end of file +define(["dojo/_base/declare", "qpid/sasl/ShaSaslClient"], function (declare, ShaSaslClient) +{ + return declare("qpid.sasl.SaslClientScramSha1", [ShaSaslClient], { + constructor: function () + { + this.inherited(arguments, ["SCRAM-SHA-1"]); + }, + getPriority: function () + { + return 4; + }, + toString: function () + { + return "[SaslClientScramSha1]"; + } + }); +}); \ No newline at end of file Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/scram-sha-256/SaslClient.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/scram-sha-256/SaslClient.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/scram-sha-256/SaslClient.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/sasl/scram-sha-256/SaslClient.js Fri Apr 29 11:04:40 2016 @@ -17,21 +17,20 @@ * under the License. */ -define(["dojo/_base/declare", - "qpid/sasl/ShaSaslClient" ], - function(declare, ShaSaslClient) - { - return declare("qpid.sasl.SaslClientScramSha256", [ShaSaslClient], - { - constructor: function() - { - this.inherited(arguments, ["SCRAM-SHA-256"]); - }, - getPriority: function() - { - return 10; - }, - toString: function() { return "[SaslClientScramSha256]";} - }); - } -); \ No newline at end of file +define(["dojo/_base/declare", "qpid/sasl/ShaSaslClient"], function (declare, ShaSaslClient) +{ + return declare("qpid.sasl.SaslClientScramSha256", [ShaSaslClient], { + constructor: function () + { + this.inherited(arguments, ["SCRAM-SHA-256"]); + }, + getPriority: function () + { + return 10; + }, + toString: function () + { + return "[SaslClientScramSha256]"; + } + }); +}); \ No newline at end of file Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/login.html URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/login.html?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/login.html (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/login.html Fri Apr 29 11:04:40 2016 @@ -38,15 +38,27 @@ } var dojoConfig = { - tlmSiblingOfDojo:false, - parseOnLoad:true, - async:true, + tlmSiblingOfDojo: false, + parseOnLoad: true, + async: true, baseUrl: getContextPath(), - packages:[ - { name:"dojo", location:"dojo/dojo" }, - { name:"dijit", location:"dojo/dijit" }, - { name:"dojox", location:"dojo/dojox" }, - { name:"qpid", location:"js/qpid" } + packages: [ + { + name: "dojo", + location: "dojo/dojo" + }, + { + name: "dijit", + location: "dojo/dijit" + }, + { + name: "dojox", + location: "dojo/dojox" + }, + { + name: "qpid", + location: "js/qpid" + } ] }; @@ -55,17 +67,17 @@ </script> <script> - require(["dijit/form/Form", - "dijit/form/Button", - "dijit/form/TextBox", - "dijit/form/ValidationTextBox", - "dijit/layout/BorderContainer", - "dijit/layout/ContentPane", - "dijit/TitlePane", - "dojox/layout/TableContainer", - "dojox/validate/us", - "dojox/validate/web", - "qpid/common/footer"]); + require(["dijit/form/Form", + "dijit/form/Button", + "dijit/form/TextBox", + "dijit/form/ValidationTextBox", + "dijit/layout/BorderContainer", + "dijit/layout/ContentPane", + "dijit/TitlePane", + "dojox/layout/TableContainer", + "dojox/validate/us", + "dojox/validate/web", + "qpid/common/footer"]); </script> </head> @@ -81,14 +93,14 @@ <div data-dojo-type="dijit.form.Form" method="POST" id="loginForm"> <script type="dojo/on" data-dojo-event="submit" data-dojo-args="e"> e.preventDefault() - if(this.validate()) + if (this.validate()) { require(["qpid/management/Management", "dojo/json"], - function(Management, json) + function (Management, json) { var redirectIfAuthenticated = function redirectIfAuthenticated(data) { - if(data.user) + if (data.user) { window.location = "index.html"; @@ -102,11 +114,11 @@ { if (error.response) { - if(error.response.status == 401) + if (error.response.status == 401) { alert("Authentication Failed"); } - else if(error.response.status == 403) + else if (error.response.status == 403) { alert("Authorization Failed"); } @@ -117,7 +129,8 @@ } else { - alert(error.message ? error.message : "Authentication failed:" + json.stringify(error)); + alert(error.message ? error.message : "Authentication failed:" + + json.stringify(error)); } }; var management = new Management("", errorHandler); Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/logout.html URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/logout.html?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/logout.html (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/logout.html Fri Apr 29 11:04:40 2016 @@ -38,15 +38,27 @@ } var dojoConfig = { - tlmSiblingOfDojo:false, - parseOnLoad:true, - async:true, + tlmSiblingOfDojo: false, + parseOnLoad: true, + async: true, baseUrl: getContextPath(), - packages:[ - { name:"dojo", location:"dojo/dojo" }, - { name:"dijit", location:"dojo/dijit" }, - { name:"dojox", location:"dojo/dojox" }, - { name:"qpid", location:"js/qpid" } + packages: [ + { + name: "dojo", + location: "dojo/dojo" + }, + { + name: "dijit", + location: "dojo/dijit" + }, + { + name: "dojox", + location: "dojo/dojox" + }, + { + name: "qpid", + location: "js/qpid" + } ] }; @@ -56,11 +68,11 @@ <script> require(["dijit/form/Button", - "dijit/layout/BorderContainer", - "dijit/layout/ContentPane", - "dijit/TitlePane", - "dojox/layout/TableContainer", - "qpid/common/footer"]); + "dijit/layout/BorderContainer", + "dijit/layout/ContentPane", + "dijit/TitlePane", + "dojox/layout/TableContainer", + "qpid/common/footer"]); </script> </head> Modified: qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/add.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/add.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/add.js (original) +++ qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/add.js Fri Apr 29 11:04:40 2016 @@ -24,15 +24,13 @@ define(["dojo/_base/xhr", "dijit/registry", "dojo/text!virtualhost/memory/add.html", "dijit/form/ValidationTextBox", - "dojo/domReady!"], - function (xhr, parser, dom, domConstruct, json, registry, template) - { - return { - show: function (data) - { - this.containerNode = domConstruct.create("div", {innerHTML: template}, data.containerNode); - parser.parse(this.containerNode); - } - }; - } -); + "dojo/domReady!"], function (xhr, parser, dom, domConstruct, json, registry, template) + { + return { + show: function (data) + { + this.containerNode = domConstruct.create("div", {innerHTML: template}, data.containerNode); + parser.parse(this.containerNode); + } + }; + }); Modified: qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/edit.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/edit.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/edit.js (original) +++ qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/edit.js Fri Apr 29 11:04:40 2016 @@ -16,13 +16,11 @@ * specific language governing permissions and limitations * under the License. */ -define(["dojo/domReady!"], - function () - { - return { - show: function(data) - { - } - }; - } -); +define(["dojo/domReady!"], function () +{ + return { + show: function (data) + { + } + }; +}); Modified: qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/show.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/show.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/show.js (original) +++ qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhost/memory/show.js Fri Apr 29 11:04:40 2016 @@ -17,17 +17,15 @@ * under the License. */ -define([], - function () - { +define([], function () +{ function Memory(data) { } - Memory.prototype.update = function(data) + Memory.prototype.update = function (data) { } return Memory; - } -); +}); Modified: qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/add.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/add.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/add.js (original) +++ qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/add.js Fri Apr 29 11:04:40 2016 @@ -26,15 +26,13 @@ define(["dojo/_base/xhr", "dijit/registry", "dojo/text!virtualhostnode/memory/add.html", "dijit/form/ValidationTextBox", - "dojo/domReady!"], - function (xhr, parser, dom, domConstruct, json, registry, template) - { - return { - show: function (data) - { - this.containerNode = domConstruct.create("div", {innerHTML: template}, data.containerNode); - parser.parse(this.containerNode); - } - }; - } -); + "dojo/domReady!"], function (xhr, parser, dom, domConstruct, json, registry, template) + { + return { + show: function (data) + { + this.containerNode = domConstruct.create("div", {innerHTML: template}, data.containerNode); + parser.parse(this.containerNode); + } + }; + }); Modified: qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/edit.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/edit.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/edit.js (original) +++ qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/edit.js Fri Apr 29 11:04:40 2016 @@ -16,13 +16,11 @@ * specific language governing permissions and limitations * under the License. */ -define(["dojo/domReady!"], - function (util, registry) - { - return { - show: function(data) - { - } - }; - } -); +define(["dojo/domReady!"], function (util, registry) +{ + return { + show: function (data) + { + } + }; +}); Modified: qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/show.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/show.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/show.js (original) +++ qpid/java/trunk/broker-plugins/memory-store/src/main/java/resources/js/qpid/management/virtualhostnode/memory/show.js Fri Apr 29 11:04:40 2016 @@ -17,19 +17,17 @@ * under the License. */ -define(["dojo/domReady!"], - function () - { +define(["dojo/domReady!"], function () +{ function Memory(data) { this.parent = data.parent; } - Memory.prototype.update = function(data) + Memory.prototype.update = function (data) { - this.parent.editNodeButton.set("disabled", !(data.state == "STOPPED" || data.state == "ERRORED")); + this.parent.editNodeButton.set("disabled", !(data.state == "STOPPED" || data.state == "ERRORED")); } return Memory; - } -); +}); Modified: qpid/java/trunk/perftests/etc/testdefs/defaultTests.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/perftests/etc/testdefs/defaultTests.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/perftests/etc/testdefs/defaultTests.js (original) +++ qpid/java/trunk/perftests/etc/testdefs/defaultTests.js Fri Apr 29 11:04:40 2016 @@ -30,90 +30,109 @@ var messageSize = 1024; var maximumDuration = 10000; var numberOfParticipantPairs = 10; - function createProducerConnection(i, connectionFactory, destination, acknowledgeMode, deliveryMode) { - return { - "_name": "producingConnection_" + i, - "_factory": connectionFactory, - "_sessions": [ - { - "_sessionName": "producingSession_" + i, - "_acknowledgeMode": acknowledgeMode, - "_producers": [ - { - "_name": "Producer_" + i, - "_destinationName": destination, - "_messageSize": messageSize, - "_deliveryMode": deliveryMode, - "_maximumDuration": maximumDuration - } - ] - } - ] - }; + return { + "_name": "producingConnection_" + i, + "_factory": connectionFactory, + "_sessions": [{ + "_sessionName": "producingSession_" + i, + "_acknowledgeMode": acknowledgeMode, + "_producers": [{ + "_name": "Producer_" + i, + "_destinationName": destination, + "_messageSize": messageSize, + "_deliveryMode": deliveryMode, + "_maximumDuration": maximumDuration + }] + }] + }; } function createConsumerConnection(i, connectionFactory, destination, acknowledgeMode) { - return { - "_name": "consumingConnection_" + i, - "_factory": connectionFactory, - "_sessions": [ - { - "_sessionName": "consumingSession_" + i, - "_acknowledgeMode": acknowledgeMode, - "_consumers": [ - { - "_name": "Consumer_" + i, - "_destinationName": destination, - "_maximumDuration": maximumDuration - } - ] - } - ] - }; + return { + "_name": "consumingConnection_" + i, + "_factory": connectionFactory, + "_sessions": [{ + "_sessionName": "consumingSession_" + i, + "_acknowledgeMode": acknowledgeMode, + "_consumers": [{ + "_name": "Consumer_" + i, + "_destinationName": destination, + "_maximumDuration": maximumDuration + }] + }] + }; } function createTest(name, numberOfParticipantPairs, acknowledgeMode, deliveryMode, transport) { - var test = { - "_name": name, - "_queues": [], - "_clients": [] - } - - var connectionFactory; - if (transport.toLowerCase() == "plain") - { - connectionFactory = "connectionfactory"; - } - else if (transport.toLowerCase() == "ssl") - { - connectionFactory = "sslconnectionfactory"; - } - - for(var i=0; i < numberOfParticipantPairs; i++) - { - var queueName = "testQueue_" + i; - var destination = queueName; - test._queues.push({"_name": destination, "_durable": true}); - - test._clients.push({"_name": "producingClient_" + i, - "_connections": [ createProducerConnection(i, connectionFactory, destination, acknowledgeMode, deliveryMode) ]}); - test._clients.push({"_name": "consumingClient_" + i, - "_connections": [ createConsumerConnection(i, connectionFactory, destination, acknowledgeMode) ]}); - } + var test = { + "_name": name, + "_queues": [], + "_clients": [] + } + + var connectionFactory; + if (transport.toLowerCase() == "plain") + { + connectionFactory = "connectionfactory"; + } + else if (transport.toLowerCase() == "ssl") + { + connectionFactory = "sslconnectionfactory"; + } + + for (var i = 0; i < numberOfParticipantPairs; i++) + { + var queueName = "testQueue_" + i; + var destination = queueName; + test._queues.push({ + "_name": destination, + "_durable": true + }); + + test._clients.push({ + "_name": "producingClient_" + i, + "_connections": [createProducerConnection(i, + connectionFactory, + destination, + acknowledgeMode, + deliveryMode)] + }); + test._clients.push({ + "_name": "consumingClient_" + i, + "_connections": [createConsumerConnection(i, + connectionFactory, + destination, + acknowledgeMode)] + }); + } - return test; + return test; } - var jsonObject = { - _tests: [createTest("persistent_transaction_plain", numberOfParticipantPairs, ACKNOWLEDGE_MODE_SESSION_TRANSACTED, DELIVERY_MODE_PERSISTENT, "PLAIN"), - createTest("transient_autoack_plain", numberOfParticipantPairs, ACKNOWLEDGE_MODE_AUTO_ACKNOWLEDGE, DELIVERY_MODE_TRANSIENT, "PLAIN"), - createTest("persistent_transaction_ssl", numberOfParticipantPairs, ACKNOWLEDGE_MODE_SESSION_TRANSACTED, DELIVERY_MODE_PERSISTENT, "SSL"), - createTest("transient_autoack_ssl", numberOfParticipantPairs, ACKNOWLEDGE_MODE_AUTO_ACKNOWLEDGE, DELIVERY_MODE_TRANSIENT, "SSL") - ] + _tests: [createTest("persistent_transaction_plain", + numberOfParticipantPairs, + ACKNOWLEDGE_MODE_SESSION_TRANSACTED, + DELIVERY_MODE_PERSISTENT, + "PLAIN"), + createTest("transient_autoack_plain", + numberOfParticipantPairs, + ACKNOWLEDGE_MODE_AUTO_ACKNOWLEDGE, + DELIVERY_MODE_TRANSIENT, + "PLAIN"), + createTest("persistent_transaction_ssl", + numberOfParticipantPairs, + ACKNOWLEDGE_MODE_SESSION_TRANSACTED, + DELIVERY_MODE_PERSISTENT, + "SSL"), + createTest("transient_autoack_ssl", + numberOfParticipantPairs, + ACKNOWLEDGE_MODE_AUTO_ACKNOWLEDGE, + DELIVERY_MODE_TRANSIENT, + "SSL")] }; --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
