Fixed x-forwarded-host where multiple hosts are specified.

Ylian Saint-Hilaire committed Feb 16, 2022 at 13:00 UTC f791515546298883d1ddbf08b22532bbb97d0723
2 files changed +2 -3
meshcentral.js
+1 -2
@@ -1623,8 +1623,7 @@ function CreateMeshCentralServer(config, args) {
1623 }
1624
1625 // Setup and start the legacy swarm server
1626 - if ((obj.certificates.swarmserver != null) && (obj.args.swarmport !== 0)) {
1627 - if (obj.args.swarmport == null) { obj.args.swarmport = 8080; }
1626 + if ((obj.certificates.swarmserver != null) && (obj.args.swarmport != null) && (obj.args.swarmport !== 0)) {
1627 obj.swarmserver = require('./swarmserver.js').CreateSwarmServer(obj, obj.db, obj.args, obj.certificates);
1628 }
1629
webserver.js
+1 -1
@@ -5716,7 +5716,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
5716 if (clientIpSplit.length == 2) { req.clientIp = clientIpSplit[0]; }
5717
5718 // Get server host
5719 - if (req.headers['x-forwarded-host']) { xforwardedhost = req.headers['x-forwarded-host']; }
5719 + if (req.headers['x-forwarded-host']) { xforwardedhost = req.headers['x-forwarded-host'].split(',')[0]; } // If multiple hosts are specified with a comma, take the first one.
5720 } else {
5721 req.clientIp = ipex;
5722 }