Fixed IP-KVM port cleanup.
Ylian Saint-Hilaire committed
Dec 7, 2021 at 19:45 UTC
c80c1b5c98832d1a89f1e9e4cce1c919dfa27e40
1 file changed
+11
-4
meshipkvm.js
+11
-4
@@ -200,7 +200,7 @@ function CreateIPKVMManager(parent) {
200
const kvmmanager = obj.managedGroups[kvmport.meshid];
201
if (kvmmanager == null) return null;
202
urlargs.shift();
203
- var relurl = '/' + urlargs.join('/')
203
+ var relurl = '/' + urlargs.join('/');
204
if (relurl.endsWith('/.websocket')) { relurl = relurl.substring(0, relurl.length - 11); }
205
return { domain: domain.id, relurl: relurl, preurl: q.path.substring(0, i + 76), nodeid: nodeid, nid: nid, kvmmanager: kvmmanager, kvmport: kvmport };
206
}
@@ -549,7 +549,6 @@ function CreateRaritanKX3Manager(parent, hostname, port, username, password) {
549
delete kvmport.bytesIn;
550
delete kvmport.bytesOut;
551
delete kvmport.connectionStart;
552
- delete wsClient.kvmport;
552
delete wsClient.reqinfo;
553
}
554
@@ -609,8 +608,14 @@ function CreateRaritanKX3Manager(parent, hostname, port, username, password) {
608
if (this.wsClient) {
609
logDisconnection(this.wsClient);
610
try { this.wsClient.close(); } catch (ex) { }
612
- if (this.wsClient.kvmport) { delete this.wsClient.kvmport.wsClient; delete this.wsClient.kvmport; }
613
- delete this.wsClient.wsBrowser; delete this.wsClient;
611
+ try {
612
+ if (this.wsClient.kvmport) {
613
+ delete this.wsClient.kvmport.wsClient;
614
+ delete this.wsClient.kvmport;
615
+ }
616
+ delete this.wsClient.wsBrowser;
617
+ delete this.wsClient;
618
+ } catch (ex) { console.log(ex); }
619
}
620
});
621
this.wsBrowser.on('error', function (err) {
@@ -635,12 +640,14 @@ function CreateRaritanKX3Manager(parent, hostname, port, username, password) {
640
parent.parent.debug('relay', 'IPKVM: Relay websocket closed');
641
642
// Clean up
643
+ try {
644
if (this.wsBrowser) {
645
logDisconnection(this.wsBrowser.wsClient);
646
try { this.wsBrowser.close(); } catch (ex) { }
647
delete this.wsBrowser.wsClient; delete this.wsBrowser;
648
}
649
if (this.kvmport) { delete this.kvmport.wsClient; delete this.kvmport; }
650
+ } catch (ex) { console.log(ex); }
651
});
652
reqinfo.kvmport.wsClient.on('error', function (err) {
653
parent.parent.debug('relay', 'IPKVM: Relay websocket error: ' + err);