diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2018-08-08 20:52:00 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2018-08-08 20:52:00 -0400 |
commit | 00839eb6350627c6272dea242b85ea24544cea33 (patch) | |
tree | 3c328a3d9757e54fc0b203538acafa762ebbdc4c | |
parent | 09f97172bb478a2c977d8b7b0958196e7e98c433 (diff) |
Add optional hostname param to LLSocket::create() for testing.
This allows the io.cpp test to listen only on the localhost loopback, avoiding
the macOS 10.13.6 "allow listening for incoming connections" popup while
running build-time tests that might halt an unattended TeamCity build.
-rw-r--r-- | indra/llmessage/lliosocket.cpp | 4 | ||||
-rw-r--r-- | indra/llmessage/lliosocket.h | 4 | ||||
-rw-r--r-- | indra/test/io.cpp | 3 |
3 files changed, 7 insertions, 4 deletions
diff --git a/indra/llmessage/lliosocket.cpp b/indra/llmessage/lliosocket.cpp index b7460df508..b15b98db80 100644 --- a/indra/llmessage/lliosocket.cpp +++ b/indra/llmessage/lliosocket.cpp @@ -101,7 +101,7 @@ void ll_debug_socket(const char* msg, apr_socket_t* apr_sock) /// // static -LLSocket::ptr_t LLSocket::create(apr_pool_t* pool, EType type, U16 port) +LLSocket::ptr_t LLSocket::create(apr_pool_t* pool, EType type, U16 port, const char *hostname) { LLSocket::ptr_t rv; apr_socket_t* socket = NULL; @@ -150,7 +150,7 @@ LLSocket::ptr_t LLSocket::create(apr_pool_t* pool, EType type, U16 port) apr_sockaddr_t* sa = NULL; status = apr_sockaddr_info_get( &sa, - APR_ANYADDR, + hostname, APR_UNSPEC, port, 0, diff --git a/indra/llmessage/lliosocket.h b/indra/llmessage/lliosocket.h index f840f0275c..303d80eb14 100644 --- a/indra/llmessage/lliosocket.h +++ b/indra/llmessage/lliosocket.h @@ -96,12 +96,14 @@ public: * and associated with the socket. * @param type The type of socket to create * @param port The port for the socket + * @param hostname e.g. APR_ANYADDR to listen openly, or "127.0.0.1" * @return A valid socket shared pointer if the call worked. */ static ptr_t create( apr_pool_t* pool, EType type, - U16 port = PORT_EPHEMERAL); + U16 port = PORT_EPHEMERAL, + const char *hostname = APR_ANYADDR); /** * @brief Create a LLSocket when you already have an apr socket. diff --git a/indra/test/io.cpp b/indra/test/io.cpp index ff900ab96b..40243a8ad6 100644 --- a/indra/test/io.cpp +++ b/indra/test/io.cpp @@ -914,7 +914,8 @@ namespace tut mSocket = LLSocket::create( mPool, LLSocket::STREAM_TCP, - SERVER_LISTEN_PORT); + SERVER_LISTEN_PORT, + "127.0.0.1"); } ~pipe_and_pump_fitness() |