From f21d1f65e67dd5146f0d041aa5b60d329a08a298 Mon Sep 17 00:00:00 2001 From: Mikunj Date: Mon, 21 Jan 2019 15:39:26 +1100 Subject: [PATCH] Let OS select random open port. --- libloki/local_loki_server.js | 10 +++++++++- libtextsecure/message_receiver.js | 8 +++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/libloki/local_loki_server.js b/libloki/local_loki_server.js index b7b5c0fc1..aa4dfcc44 100644 --- a/libloki/local_loki_server.js +++ b/libloki/local_loki_server.js @@ -54,7 +54,7 @@ class LocalLokiServer extends EventEmitter { if (err) { rej(err); } else { - res(port); + res(this.server.address().port); } }); }); @@ -70,6 +70,14 @@ class LocalLokiServer extends EventEmitter { return Promise.resolve(); } + + getPort() { + if (this.server.listening) { + return this.server.address().port; + } + + return null; + } } exports.LocalLokiServer = LocalLokiServer; diff --git a/libtextsecure/message_receiver.js b/libtextsecure/message_receiver.js index d42a04a64..86f0973ec 100644 --- a/libtextsecure/message_receiver.js +++ b/libtextsecure/message_receiver.js @@ -84,7 +84,13 @@ MessageReceiver.prototype.extend({ this.localServer.removeAllListeners(); this.localServer.on('message', this.httpPollingResource.handleMessage); - this.localServer.start(8000); + + // Passing 0 as the port will automatically assign an unused port + this.localServer + .start(0) + .then(port => + window.log.info(`Local Server started at https://localhost:${port}`) + ); // TODO: Rework this socket stuff to work with online messaging const useWebSocket = false;