summaryrefslogtreecommitdiffstats
path: root/tests/testserver/danted
diff options
context:
space:
mode:
authorRyan Chu <ryan.chu@qt.io>2018-10-01 16:40:07 +0200
committerRyan Chu <ryan.chu@qt.io>2018-10-18 13:18:29 +0000
commit0d4d06647a9c15dfbe637926557b163ee736c642 (patch)
tree2c80669ec0ff6fdbb93c29ed905c74fec56df9a4 /tests/testserver/danted
parentaaae0274353544bba9f6eb50ded6c9ffd040dc18 (diff)
Use environment variable to configure the interfaces of a Dante server
The internal and external keywords in the server configuration are used to specify the network interface (IP address) that the Dante server should bind to. Because docker-compose allows a container to join more than one network (by adding multiple entries under the top level networks key to a docker-compose file), the default server configuration (danted.conf) shall be updated in accordance with the settings in the docker-compose file. The user can pass the setting of a docker-compose file to containers by adding environment variables in the docker-compose file. After the container gets created, the danted.sh script uses the input environment variables to overwrite the default value of internal and external interfaces before starting the Dante server. environment: - danted_internal=eth1 - danted_external=eth1 - danted_auth_internal=eth1 - danted_auth_external=eth1 Change-Id: I7c65cdd136ba5dac387bee5e22e1f4335e960101 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Diffstat (limited to 'tests/testserver/danted')
-rwxr-xr-xtests/testserver/danted/danted.sh19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/testserver/danted/danted.sh b/tests/testserver/danted/danted.sh
index bf3d154f33..97e2142401 100755
--- a/tests/testserver/danted/danted.sh
+++ b/tests/testserver/danted/danted.sh
@@ -39,6 +39,25 @@ useradd -d /dev/null -s /bin/false qsockstest; echo "qsockstest:$PASS" | chpassw
# install configurations and test data
cp $TESTDATA/danted{,-authenticating}.conf /etc/
+# Use the input environment variables to overwrite the default value of internal interfaces.
+if [ "$danted_internal" -a "$danted_internal" != eth0 ]
+then sed -i "s,internal: eth0 port = 1080,internal: $danted_internal port = 1080," /etc/danted.conf
+fi
+
+if [ "$danted_auth_internal" -a "$danted_auth_internal" != eth0 ]
+then sed -i "s,internal: eth0 port = 1081,internal: $danted_auth_internal port = 1081," \
+ /etc/danted-authenticating.conf
+fi
+
+# Use the input environment variables to overwrite the default value of external interfaces.
+if [ "$danted_external" -a "$danted_external" != eth0 ]
+then sed -i "s,external: eth0,external: $danted_external," /etc/danted.conf
+fi
+
+if [ "$danted_auth_external" -a "$danted_auth_external" != eth0 ]
+then sed -i "s,external: eth0,external: $danted_auth_external," /etc/danted-authenticating.conf
+fi
+
# enable service with installed configurations
service danted start
service danted-authenticating start