summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMirah Gary <mgary@vmware.com>2022-03-24 13:41:24 +0100
committerMirah Gary <mgary@vmware.com>2022-03-24 13:41:24 +0100
commit01a6003a85d18741203f0404ceb037e4e9c9b2a7 (patch)
treec30185eff0696637a797b307c0fb3418c4c26a22
parent3874e624246da723cbd4ef1b1cb2656f34773a00 (diff)
downloadrabbitmq-server-git-01a6003a85d18741203f0404ceb037e4e9c9b2a7.tar.gz
Revert "Use jsdom built-in CustomResourceLoader to fake /auth endpoint."
This reverts commit 3874e624246da723cbd4ef1b1cb2656f34773a00.
-rw-r--r--deps/rabbitmq_management/priv/www/js/node_modules/.package-lock.json18
-rw-r--r--deps/rabbitmq_management/priv/www/js/node_modules/fs/README.md9
-rw-r--r--deps/rabbitmq_management/priv/www/js/node_modules/fs/package.json20
-rw-r--r--deps/rabbitmq_management/priv/www/js/node_modules/http/README.md9
-rw-r--r--deps/rabbitmq_management/priv/www/js/node_modules/http/package.json6
-rw-r--r--deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/LICENSE15
-rw-r--r--deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/README.md21
-rw-r--r--deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/index.js19
-rw-r--r--deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/package.json17
-rw-r--r--deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/test.js31
-rw-r--r--deps/rabbitmq_management/priv/www/js/package-lock.json41
-rw-r--r--deps/rabbitmq_management/priv/www/js/package.json5
-rw-r--r--deps/rabbitmq_management/priv/www/js/test/spec/login.test.js34
13 files changed, 228 insertions, 17 deletions
diff --git a/deps/rabbitmq_management/priv/www/js/node_modules/.package-lock.json b/deps/rabbitmq_management/priv/www/js/node_modules/.package-lock.json
index 6e21a5c66e..047a7b10ab 100644
--- a/deps/rabbitmq_management/priv/www/js/node_modules/.package-lock.json
+++ b/deps/rabbitmq_management/priv/www/js/node_modules/.package-lock.json
@@ -325,6 +325,12 @@
"node": ">= 6"
}
},
+ "node_modules/fs": {
+ "version": "0.0.1-security",
+ "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
+ "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=",
+ "dev": true
+ },
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -430,6 +436,12 @@
"node": ">=12"
}
},
+ "node_modules/http": {
+ "version": "0.0.1-security",
+ "resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz",
+ "integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g==",
+ "dev": true
+ },
"node_modules/http-proxy-agent": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
@@ -781,6 +793,12 @@
"node": ">=10"
}
},
+ "node_modules/server-destroy": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz",
+ "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=",
+ "dev": true
+ },
"node_modules/shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
diff --git a/deps/rabbitmq_management/priv/www/js/node_modules/fs/README.md b/deps/rabbitmq_management/priv/www/js/node_modules/fs/README.md
new file mode 100644
index 0000000000..5e9a74cab0
--- /dev/null
+++ b/deps/rabbitmq_management/priv/www/js/node_modules/fs/README.md
@@ -0,0 +1,9 @@
+# Security holding package
+
+This package name is not currently in use, but was formerly occupied
+by another package. To avoid malicious use, npm is hanging on to the
+package name, but loosely, and we'll probably give it to you if you
+want it.
+
+You may adopt this package by contacting support@npmjs.com and
+requesting the name.
diff --git a/deps/rabbitmq_management/priv/www/js/node_modules/fs/package.json b/deps/rabbitmq_management/priv/www/js/node_modules/fs/package.json
new file mode 100644
index 0000000000..11661b0395
--- /dev/null
+++ b/deps/rabbitmq_management/priv/www/js/node_modules/fs/package.json
@@ -0,0 +1,20 @@
+{
+ "name": "fs",
+ "version": "0.0.1-security",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/security-holder.git"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "bugs": {
+ "url": "https://github.com/npm/security-holder/issues"
+ },
+ "homepage": "https://github.com/npm/security-holder#readme"
+}
diff --git a/deps/rabbitmq_management/priv/www/js/node_modules/http/README.md b/deps/rabbitmq_management/priv/www/js/node_modules/http/README.md
new file mode 100644
index 0000000000..5e9a74cab0
--- /dev/null
+++ b/deps/rabbitmq_management/priv/www/js/node_modules/http/README.md
@@ -0,0 +1,9 @@
+# Security holding package
+
+This package name is not currently in use, but was formerly occupied
+by another package. To avoid malicious use, npm is hanging on to the
+package name, but loosely, and we'll probably give it to you if you
+want it.
+
+You may adopt this package by contacting support@npmjs.com and
+requesting the name.
diff --git a/deps/rabbitmq_management/priv/www/js/node_modules/http/package.json b/deps/rabbitmq_management/priv/www/js/node_modules/http/package.json
new file mode 100644
index 0000000000..4196f28c54
--- /dev/null
+++ b/deps/rabbitmq_management/priv/www/js/node_modules/http/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "http",
+ "version": "0.0.1-security",
+ "description": "security holding package",
+ "repository": "npm/security-holder"
+}
diff --git a/deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/LICENSE b/deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/LICENSE
new file mode 100644
index 0000000000..19129e315f
--- /dev/null
+++ b/deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/LICENSE
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/README.md b/deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/README.md
new file mode 100644
index 0000000000..a05bd220a6
--- /dev/null
+++ b/deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/README.md
@@ -0,0 +1,21 @@
+# server-destroy
+
+Enable destroying a server, and all currently open connections.
+
+## Usage
+
+```javascript
+var enableDestroy = require('server-destroy');
+
+var server = http.createServer(function(req, res) {
+ // do stuff, blah blah blah
+});
+
+server.listen(PORT);
+
+// enhance with a 'destroy' function
+enableDestroy(server);
+
+// some time later...
+server.destroy();
+```
diff --git a/deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/index.js b/deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/index.js
new file mode 100644
index 0000000000..c8e7f97d24
--- /dev/null
+++ b/deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/index.js
@@ -0,0 +1,19 @@
+module.exports = enableDestroy;
+
+function enableDestroy(server) {
+ var connections = {}
+
+ server.on('connection', function(conn) {
+ var key = conn.remoteAddress + ':' + conn.remotePort;
+ connections[key] = conn;
+ conn.on('close', function() {
+ delete connections[key];
+ });
+ });
+
+ server.destroy = function(cb) {
+ server.close(cb);
+ for (var key in connections)
+ connections[key].destroy();
+ };
+}
diff --git a/deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/package.json b/deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/package.json
new file mode 100644
index 0000000000..6f49f50708
--- /dev/null
+++ b/deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "server-destroy",
+ "version": "1.0.1",
+ "description": "Enable destroying a server, and all currently open connections.",
+ "main": "index.js",
+ "scripts": {
+ "test": "node test.js"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/server-destroy"
+ },
+ "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me)",
+ "license": "ISC",
+ "readmeFilename": "README.md",
+ "gitHead": "71e22162bacb9368de045db4283f95f02194479b"
+}
diff --git a/deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/test.js b/deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/test.js
new file mode 100644
index 0000000000..9a6f6b76ca
--- /dev/null
+++ b/deps/rabbitmq_management/priv/www/js/node_modules/server-destroy/test.js
@@ -0,0 +1,31 @@
+var net = require('net');
+var assert = require('assert');
+var enableDestroy = require('./index.js');
+
+var server = net.createServer(function(conn) {
+ var i = setInterval(function() {
+ conn.read();
+ conn.write('hi\n');
+ }, 100);
+ i.unref();
+});
+server.listen(1337);
+enableDestroy(server);
+
+var connected = 0;
+for (var i = 0; i < 10; i++) {
+ var client = net.connect(1337);
+ client.on('connect', function() {
+ connected++;
+ if (connected === 10) setTimeout(destroy);
+ });
+
+ // just ignore the resets
+ client.on('error', function() {});
+}
+
+function destroy() {
+ server.destroy(function() {
+ console.log('ok');
+ });
+}
diff --git a/deps/rabbitmq_management/priv/www/js/package-lock.json b/deps/rabbitmq_management/priv/www/js/package-lock.json
index e4d6b5caff..23a61257ef 100644
--- a/deps/rabbitmq_management/priv/www/js/package-lock.json
+++ b/deps/rabbitmq_management/priv/www/js/package-lock.json
@@ -6,10 +6,13 @@
"": {
"devDependencies": {
"cross-env": "^7.0.3",
+ "fs": "^0.0.1-security",
+ "http": "^0.0.1-security",
"ignore-styles": "^5.0.1",
"jasmine": "^4.0.2",
"jasmine-node": "^3.0.0",
- "jsdom": "^19.0.0"
+ "jsdom": "^19.0.0",
+ "server-destroy": "^1.0.1"
}
},
"node_modules/@tootallnate/once": {
@@ -334,6 +337,12 @@
"node": ">= 6"
}
},
+ "node_modules/fs": {
+ "version": "0.0.1-security",
+ "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
+ "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=",
+ "dev": true
+ },
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -439,6 +448,12 @@
"node": ">=12"
}
},
+ "node_modules/http": {
+ "version": "0.0.1-security",
+ "resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz",
+ "integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g==",
+ "dev": true
+ },
"node_modules/http-proxy-agent": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
@@ -790,6 +805,12 @@
"node": ">=10"
}
},
+ "node_modules/server-destroy": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz",
+ "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=",
+ "dev": true
+ },
"node_modules/shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -1259,6 +1280,12 @@
"mime-types": "^2.1.12"
}
},
+ "fs": {
+ "version": "0.0.1-security",
+ "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
+ "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=",
+ "dev": true
+ },
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -1339,6 +1366,12 @@
"whatwg-encoding": "^2.0.0"
}
},
+ "http": {
+ "version": "0.0.1-security",
+ "resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz",
+ "integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g==",
+ "dev": true
+ },
"http-proxy-agent": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
@@ -1626,6 +1659,12 @@
"xmlchars": "^2.2.0"
}
},
+ "server-destroy": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz",
+ "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=",
+ "dev": true
+ },
"shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
diff --git a/deps/rabbitmq_management/priv/www/js/package.json b/deps/rabbitmq_management/priv/www/js/package.json
index 3e0c66587b..9b1297ec54 100644
--- a/deps/rabbitmq_management/priv/www/js/package.json
+++ b/deps/rabbitmq_management/priv/www/js/package.json
@@ -1,10 +1,13 @@
{
"devDependencies": {
"cross-env": "^7.0.3",
+ "fs": "^0.0.1-security",
+ "http": "^0.0.1-security",
"ignore-styles": "^5.0.1",
"jasmine": "^4.0.2",
"jasmine-node": "^3.0.0",
- "jsdom": "^19.0.0"
+ "jsdom": "^19.0.0",
+ "server-destroy": "^1.0.1"
},
"scripts": {
"test": "cross-env NODE_ENV=test jasmine --config=test/jasmine.json"
diff --git a/deps/rabbitmq_management/priv/www/js/test/spec/login.test.js b/deps/rabbitmq_management/priv/www/js/test/spec/login.test.js
index e6385efb2f..a4fa6f2b69 100644
--- a/deps/rabbitmq_management/priv/www/js/test/spec/login.test.js
+++ b/deps/rabbitmq_management/priv/www/js/test/spec/login.test.js
@@ -1,16 +1,26 @@
const jsdom = require('jsdom')
const { JSDOM } = jsdom
+const http = require('http')
+var enableDestroy = require('server-destroy')
+
describe("login", () => {
+ var server
var authResponse
- class CustomResourceLoader extends jsdom.ResourceLoader {
- fetch(url, options) {
- if (url === "http://localhost:15672/auth") {
- return Promise.resolve(Buffer.from(authResponse))
- }
- return super.fetch(url, options)
+ beforeAll(() => {
+ var authListener = (req,res) => {
+ res.setHeader("Content-Type", "application/json")
+ res.writeHead(200)
+ res.end(authResponse)
}
- }
+ server = http.createServer(authListener)
+ server.listen(15672)
+ enableDestroy(server)
+ })
+
+ afterAll(() => {
+ server.destroy()
+ })
describe("outer", () => {
it("should have an outer block", () => {
@@ -33,10 +43,7 @@ describe("login", () => {
})
it("should render the login form", () => {
- JSDOM.fromFile("../index.html", {
- runScripts: "dangerously",
- url: "http://localhost:15672"
- }).then(dom => {
+ JSDOM.fromFile("../index.html", { runScripts: "dangerously" }).then(dom => {
const login = dom.window.document.getElementById('login')
expect(login).toBeDefined()
const loginStatus = dom.window.document.getElementById('login-status')
@@ -75,10 +82,7 @@ describe("login", () => {
})
it("should render the link to UAA", () => {
- JSDOM.fromFile("../index.html", {
- runScripts: "dangerously",
- url: "http://localhost:15672"
- }).then(dom => {
+ JSDOM.fromFile("../index.html", { runScripts: "dangerously" }).then(dom => {
const login = dom.window.document.getElementById('login')
expect(login).toBeDefined()
const loginStatus = dom.window.document.getElementById('login-status')