diff --git a/app/modules/ws2p/lib/WS2PCluster.ts b/app/modules/ws2p/lib/WS2PCluster.ts index 5b8beb7d6e6ac8eab99fbdb302a11823f56a21af..4ea5d7a21df56bf5c1def34fdab5088ecbaa36d5 100644 --- a/app/modules/ws2p/lib/WS2PCluster.ts +++ b/app/modules/ws2p/lib/WS2PCluster.ts @@ -348,7 +348,7 @@ export class WS2PCluster { if (api) { try { // We do not connect to local host - if (!this.server.conf.ws2p || api.uuid !== this.server.conf.ws2p.uuid || p.pubkey !== this.server.conf.pair.pub) { + if (!this.server.conf.ws2p || api.uuid !== this.server.conf.ws2p.uuid || p.pubkey !== this.server.conf.pair.pub || api.uuid === '11111111') { await this.connectToRemoteWS(api.host, api.port, api.path, this.messageHandler, p.pubkey, api.uuid) } } catch (e) { @@ -376,7 +376,7 @@ export class WS2PCluster { // Check if already connected to the pubkey (in any way: server or client) const connectedPubkeys = this.getConnectedPubkeys() const shouldAccept = await this.acceptPubkey(peer.pubkey, connectedPubkeys, () => this.clientsCount(), this.maxLevel1Size, (this.server.conf.ws2p && this.server.conf.ws2p.preferedNodes || []), ws2pEnpoint.uuid) - if (shouldAccept && (!this.server.conf.ws2p || ws2pEnpoint.uuid !== this.server.conf.ws2p.uuid || peer.pubkey !== this.server.conf.pair.pub)) { + if (shouldAccept && (!this.server.conf.ws2p || ws2pEnpoint.uuid !== this.server.conf.ws2p.uuid || peer.pubkey !== this.server.conf.pair.pub || ws2pEnpoint.uuid === '11111111')) { await this.connectToRemoteWS(ws2pEnpoint.host, ws2pEnpoint.port, ws2pEnpoint.path, this.messageHandler, peer.pubkey) await this.trimClientConnections() } @@ -556,7 +556,10 @@ export class WS2PCluster { let accept = priorityKeys.indexOf(pub) !== -1 if (!accept && connectedPubkeys.indexOf(pub) === -1) { // Do we have room? - if (getConcurrentConnexionsCount() < maxConcurrentConnexionsSize) { + if (this.server.conf.pair.pub === pub && this.server.conf.ws2p && this.server.conf.ws2p.uuid === targetWS2PUID) { + accept = false + } + else if (getConcurrentConnexionsCount() < maxConcurrentConnexionsSize) { // Yes: just connect to it accept = true } @@ -723,4 +726,4 @@ export class WS2PCluster { } } } -} \ No newline at end of file +}