Merge pull request #6709 from vvlladd28/bug/vulnerabilities/js-msa
[3.4] UI: Fixed vulnerabilities in msa repositories
This commit is contained in:
		
						commit
						eeada1f494
					
				@ -12,20 +12,19 @@
 | 
			
		||||
    "start-prod": "NODE_ENV=production nodemon server.js"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@azure/service-bus": "^1.1.9",
 | 
			
		||||
    "@google-cloud/pubsub": "^2.5.0",
 | 
			
		||||
    "amqplib": "^0.6.0",
 | 
			
		||||
    "aws-sdk": "^2.741.0",
 | 
			
		||||
    "azure-sb": "^0.11.1",
 | 
			
		||||
    "config": "^3.3.1",
 | 
			
		||||
    "express": "^4.17.1",
 | 
			
		||||
    "js-yaml": "^3.14.0",
 | 
			
		||||
    "kafkajs": "^1.15.0",
 | 
			
		||||
    "long": "^4.0.0",
 | 
			
		||||
    "@azure/service-bus": "^7.5.1",
 | 
			
		||||
    "@google-cloud/pubsub": "^3.0.1",
 | 
			
		||||
    "amqplib": "^0.10.0",
 | 
			
		||||
    "aws-sdk": "^2.1152.0",
 | 
			
		||||
    "config": "^3.3.7",
 | 
			
		||||
    "express": "^4.18.1",
 | 
			
		||||
    "js-yaml": "^4.1.0",
 | 
			
		||||
    "kafkajs": "^2.0.2",
 | 
			
		||||
    "long": "^5.2.0",
 | 
			
		||||
    "uuid-parse": "^1.1.0",
 | 
			
		||||
    "uuid-random": "^1.3.2",
 | 
			
		||||
    "winston": "^3.3.3",
 | 
			
		||||
    "winston-daily-rotate-file": "^4.5.0"
 | 
			
		||||
    "winston": "^3.7.2",
 | 
			
		||||
    "winston-daily-rotate-file": "^4.7.1"
 | 
			
		||||
  },
 | 
			
		||||
  "nyc": {
 | 
			
		||||
    "exclude": [
 | 
			
		||||
@ -36,13 +35,19 @@
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "fs-extra": "^10.0.0",
 | 
			
		||||
    "nodemon": "^2.0.12",
 | 
			
		||||
    "pkg": "^5.3.1"
 | 
			
		||||
    "fs-extra": "^10.1.0",
 | 
			
		||||
    "nodemon": "^2.0.16",
 | 
			
		||||
    "pkg": "^5.7.0"
 | 
			
		||||
  },
 | 
			
		||||
  "pkg": {
 | 
			
		||||
    "assets": [
 | 
			
		||||
      "node_modules/config/**/*.*"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "resolutions": {
 | 
			
		||||
    "ansi-regex": "^5.0.1",
 | 
			
		||||
    "color-string": "^1.5.5",
 | 
			
		||||
    "minimist": "^1.2.6",
 | 
			
		||||
    "node-fetch": "^2.6.7"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -71,8 +71,8 @@
 | 
			
		||||
                            <goal>install-node-and-yarn</goal>
 | 
			
		||||
                        </goals>
 | 
			
		||||
                        <configuration>
 | 
			
		||||
                            <nodeVersion>v12.16.1</nodeVersion>
 | 
			
		||||
                            <yarnVersion>v1.22.4</yarnVersion>
 | 
			
		||||
                            <nodeVersion>v16.13.1</nodeVersion>
 | 
			
		||||
                            <yarnVersion>v1.22.17</yarnVersion>
 | 
			
		||||
                        </configuration>
 | 
			
		||||
                    </execution>
 | 
			
		||||
                    <execution>
 | 
			
		||||
 | 
			
		||||
@ -18,8 +18,7 @@
 | 
			
		||||
const config = require('config'),
 | 
			
		||||
    JsInvokeMessageProcessor = require('../api/jsInvokeMessageProcessor'),
 | 
			
		||||
    logger = require('../config/logger')._logger('serviceBusTemplate');
 | 
			
		||||
const {ServiceBusClient, ReceiveMode} = require("@azure/service-bus");
 | 
			
		||||
const azure = require('azure-sb');
 | 
			
		||||
const {ServiceBusClient, ServiceBusAdministrationClient} = require("@azure/service-bus");
 | 
			
		||||
 | 
			
		||||
const requestTopic = config.get('request_topic');
 | 
			
		||||
const namespaceName = config.get('service_bus.namespace_name');
 | 
			
		||||
@ -28,7 +27,6 @@ const sasKey = config.get('service_bus.sas_key');
 | 
			
		||||
const queueProperties = config.get('service_bus.queue_properties');
 | 
			
		||||
 | 
			
		||||
let sbClient;
 | 
			
		||||
let receiverClient;
 | 
			
		||||
let receiver;
 | 
			
		||||
let serviceBusService;
 | 
			
		||||
 | 
			
		||||
@ -61,11 +59,10 @@ function ServiceBusProducer() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function CustomSender(topic) {
 | 
			
		||||
    this.queueClient = sbClient.createQueueClient(topic);
 | 
			
		||||
    this.sender = this.queueClient.createSender();
 | 
			
		||||
    this.sender = sbClient.createSender(topic);
 | 
			
		||||
 | 
			
		||||
    this.send = async (message) => {
 | 
			
		||||
        return this.sender.send(message);
 | 
			
		||||
        return this.sender.sendMessages(message);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -74,8 +71,8 @@ function CustomSender(topic) {
 | 
			
		||||
        logger.info('Starting ThingsBoard JavaScript Executor Microservice...');
 | 
			
		||||
 | 
			
		||||
        const connectionString = `Endpoint=sb://${namespaceName}.servicebus.windows.net/;SharedAccessKeyName=${sasKeyName};SharedAccessKey=${sasKey}`;
 | 
			
		||||
        sbClient = ServiceBusClient.createFromConnectionString(connectionString);
 | 
			
		||||
        serviceBusService = azure.createServiceBusService(connectionString);
 | 
			
		||||
        sbClient = new ServiceBusClient(connectionString)
 | 
			
		||||
        serviceBusService = new ServiceBusAdministrationClient(connectionString);
 | 
			
		||||
 | 
			
		||||
        parseQueueProperties();
 | 
			
		||||
 | 
			
		||||
@ -84,9 +81,9 @@ function CustomSender(topic) {
 | 
			
		||||
                if (err) {
 | 
			
		||||
                    reject(err);
 | 
			
		||||
                } else {
 | 
			
		||||
                    data.forEach(queue => {
 | 
			
		||||
                        queues.push(queue.QueueName);
 | 
			
		||||
                    });
 | 
			
		||||
                    for (const queue of data) {
 | 
			
		||||
                        queues.push(queue.name);
 | 
			
		||||
                    }
 | 
			
		||||
                    resolve();
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
@ -97,8 +94,7 @@ function CustomSender(topic) {
 | 
			
		||||
            queues.push(requestTopic);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        receiverClient = sbClient.createQueueClient(requestTopic);
 | 
			
		||||
        receiver = receiverClient.createReceiver(ReceiveMode.peekLock);
 | 
			
		||||
        receiver = sbClient.createReceiver(requestTopic, {receiveMode: 'peekLock'});
 | 
			
		||||
 | 
			
		||||
        const messageProcessor = new JsInvokeMessageProcessor(new ServiceBusProducer());
 | 
			
		||||
 | 
			
		||||
@ -111,18 +107,18 @@ function CustomSender(topic) {
 | 
			
		||||
        const errorHandler = (error) => {
 | 
			
		||||
            logger.error('Failed to receive message from queue.', error);
 | 
			
		||||
        };
 | 
			
		||||
        receiver.registerMessageHandler(messageHandler, errorHandler);
 | 
			
		||||
        receiver.subscribe({processMessage: messageHandler, processError: errorHandler})
 | 
			
		||||
    } catch (e) {
 | 
			
		||||
        logger.error('Failed to start ThingsBoard JavaScript Executor Microservice: %s', e.message);
 | 
			
		||||
        logger.error(e.stack);
 | 
			
		||||
        exit(-1);
 | 
			
		||||
        await exit(-1);
 | 
			
		||||
    }
 | 
			
		||||
})();
 | 
			
		||||
 | 
			
		||||
async function createQueueIfNotExist(topic) {
 | 
			
		||||
    return new Promise((resolve, reject) => {
 | 
			
		||||
        serviceBusService.createQueueIfNotExists(topic, queueOptions, (err) => {
 | 
			
		||||
            if (err) {
 | 
			
		||||
        serviceBusService.createQueue(topic, queueOptions, (err) => {
 | 
			
		||||
            if (err && err.code !== "MessageEntityAlreadyExistsError") {
 | 
			
		||||
                reject(err);
 | 
			
		||||
            } else {
 | 
			
		||||
                resolve();
 | 
			
		||||
@ -139,10 +135,10 @@ function parseQueueProperties() {
 | 
			
		||||
        properties[p.substring(0, delimiterPosition)] = p.substring(delimiterPosition + 1);
 | 
			
		||||
    });
 | 
			
		||||
    queueOptions = {
 | 
			
		||||
        DuplicateDetection: 'false',
 | 
			
		||||
        MaxSizeInMegabytes: properties['maxSizeInMb'],
 | 
			
		||||
        DefaultMessageTimeToLive: `PT${properties['messageTimeToLiveInSec']}S`,
 | 
			
		||||
        LockDuration: `PT${properties['lockDurationInSec']}S`
 | 
			
		||||
        requiresDuplicateDetection: false,
 | 
			
		||||
        maxSizeInMegabytes: properties['maxSizeInMb'],
 | 
			
		||||
        defaultMessageTimeToLive: `PT${properties['messageTimeToLiveInSec']}S`,
 | 
			
		||||
        lockDuration: `PT${properties['lockDurationInSec']}S`
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -161,24 +157,11 @@ async function exit(status) {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (receiverClient) {
 | 
			
		||||
        try {
 | 
			
		||||
            await receiverClient.close();
 | 
			
		||||
        } catch (e) {
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    senderMap.forEach((k, v) => {
 | 
			
		||||
        try {
 | 
			
		||||
            v.sender.close();
 | 
			
		||||
        } catch (e) {
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
        try {
 | 
			
		||||
            v.queueClient.close();
 | 
			
		||||
        } catch (e) {
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
@ -191,4 +174,4 @@ async function exit(status) {
 | 
			
		||||
    }
 | 
			
		||||
    logger.info('Azure Service Bus resources stopped.')
 | 
			
		||||
    process.exit(status);
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -13,14 +13,14 @@
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "compression": "^1.7.4",
 | 
			
		||||
    "config": "^3.3.1",
 | 
			
		||||
    "config": "^3.3.7",
 | 
			
		||||
    "connect-history-api-fallback": "^1.6.0",
 | 
			
		||||
    "express": "^4.17.1",
 | 
			
		||||
    "express": "^4.18.1",
 | 
			
		||||
    "http": "0.0.0",
 | 
			
		||||
    "http-proxy": "^1.18.1",
 | 
			
		||||
    "js-yaml": "^3.14.0",
 | 
			
		||||
    "winston": "^3.3.3",
 | 
			
		||||
    "winston-daily-rotate-file": "^4.5.0"
 | 
			
		||||
    "js-yaml": "^4.1.0",
 | 
			
		||||
    "winston": "^3.7.2",
 | 
			
		||||
    "winston-daily-rotate-file": "^4.7.1"
 | 
			
		||||
  },
 | 
			
		||||
  "nyc": {
 | 
			
		||||
    "exclude": [
 | 
			
		||||
@ -31,13 +31,18 @@
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "fs-extra": "^10.0.0",
 | 
			
		||||
    "nodemon": "^2.0.12",
 | 
			
		||||
    "pkg": "^5.3.1"
 | 
			
		||||
    "fs-extra": "^10.1.0",
 | 
			
		||||
    "nodemon": "^2.0.16",
 | 
			
		||||
    "pkg": "^5.7.0"
 | 
			
		||||
  },
 | 
			
		||||
  "pkg": {
 | 
			
		||||
    "assets": [
 | 
			
		||||
      "node_modules/config/**/*.*"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "resolutions": {
 | 
			
		||||
    "color-string": "^1.5.5",
 | 
			
		||||
    "follow-redirects": "^1.14.8",
 | 
			
		||||
    "minimist": "^1.2.6"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -80,8 +80,8 @@
 | 
			
		||||
                            <goal>install-node-and-yarn</goal>
 | 
			
		||||
                        </goals>
 | 
			
		||||
                        <configuration>
 | 
			
		||||
                            <nodeVersion>v12.16.1</nodeVersion>
 | 
			
		||||
                            <yarnVersion>v1.22.4</yarnVersion>
 | 
			
		||||
                            <nodeVersion>v16.13.1</nodeVersion>
 | 
			
		||||
                            <yarnVersion>v1.22.17</yarnVersion>
 | 
			
		||||
                        </configuration>
 | 
			
		||||
                    </execution>
 | 
			
		||||
                    <execution>
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user