summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2018-08-08 20:52:00 -0400
committerNat Goodspeed <nat@lindenlab.com>2018-08-08 20:52:00 -0400
commit00839eb6350627c6272dea242b85ea24544cea33 (patch)
tree3c328a3d9757e54fc0b203538acafa762ebbdc4c
parent09f97172bb478a2c977d8b7b0958196e7e98c433 (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.cpp4
-rw-r--r--indra/llmessage/lliosocket.h4
-rw-r--r--indra/test/io.cpp3
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()