summaryrefslogtreecommitdiffstats
path: root/core/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx
diff options
context:
space:
mode:
authorJonathan Bauer2016-12-23 13:12:09 +0100
committerJonathan Bauer2016-12-23 13:12:09 +0100
commit6806ae4a850fc7785a8c05304237cf53b5b8f951 (patch)
treeb1dd8413d6c7b9a250251da7f0d49bb52b4ddc57 /core/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx
parentwrong kernel version variable used (diff)
downloadmltk-6806ae4a850fc7785a8c05304237cf53b5b8f951.tar.gz
mltk-6806ae4a850fc7785a8c05304237cf53b5b8f951.tar.xz
mltk-6806ae4a850fc7785a8c05304237cf53b5b8f951.zip
merge with latest dev version (tm-scripts commit f5a59daf8d70a9027118292cd40b18c221897408)
Diffstat (limited to 'core/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx')
-rwxr-xr-xcore/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx41
1 files changed, 25 insertions, 16 deletions
diff --git a/core/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx b/core/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx
index dd8cd8ba..776f3f3b 100755
--- a/core/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx
+++ b/core/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx
@@ -87,16 +87,29 @@ case "$1" in
# Update resolver configuration file
CONF=""
+ # Own domain suffix
if [ -n "$domain" ]; then
- printf -v CONF "${CONF}domain $domain\n"
+ :
elif [ -n "$dns_fqdn" ]; then
domain="${dns_fqdn#*.}"
- printf -v CONF "${CONF}domain $domain\n"
elif [ -n "$SLX_NET_DOMAIN" ]; then
domain="$SLX_NET_DOMAIN"
- printf -v CONF "${CONF}domain $domain\n"
fi
+ if [ -n "$domain" ]; then
+ printf -v CONF "${CONF}domain ${domain%% *}\n"
+ fi
+ # Add domain to list of search domains if not in there yet
+ if [ -n "$domain" ] && [ -n "$search" ]; then
+ FOUND=no
+ for sd in $search; do
+ [ "x$sd" = "x$domain" ] && FOUND=yes
+ done
+ [ "$FOUND" = "no" ] && search="$domain $search"
+ elif [ -n "$domain" ]; then
+ search="$domain"
+ fi
+ # Search domains
if [ -n "$search" ]; then
printf -v CONF "${CONF}search $search\n"
elif [ -n "$SLX_SEARCH_DOMAIN" ]; then
@@ -125,6 +138,15 @@ case "$1" in
if [ "$interface" == "br0" ]; then
# Update IP
sed -i "s/^\(SLX_PXE_CLIENT_IP=\).*$/\1'$ip'/" /opt/openslx/config
+ # Write DOMAIN and SEARCH to /opt/openslx/config if empty
+ if [ -z "$SLX_NET_DOMAIN" ] && [ -n "$domain" ]; then
+ sed -i "/^SLX_NET_DOMAIN=/d" /opt/openslx/config
+ echo "SLX_NET_DOMAIN='$domain'" >> /opt/openslx/config
+ fi
+ if [ -z "$SLX_NET_SEARCH" ] && [ -n "$search" ]; then
+ sed -i "/^SLX_NET_SEARCH=/d" /opt/openslx/config
+ echo "SLX_NET_SEARCH='$search'" >> /opt/openslx/config
+ fi
# Only if network is not ready yet
if [ ! -e "/run/network/network-ready" ]; then
@@ -150,16 +172,6 @@ case "$1" in
fi
fi
- # if domain is given from dhcp, save it to openslx config for later use in VMs
- if [ -n "$domain" ]; then
- # check if SLX_NET_DOMAIN is in the config at all
- if grep '^SLX_NET_DOMAIN=' /opt/openslx/config 2>/dev/null; then
- sed -i "s/^\(SLX_NET_DOMAIN=\).*$/\1'$domain'/" /opt/openslx/config
- else
- # not set, add it
- echo "SLX_NET_DOMAIN='$domain'" >> /opt/openslx/config
- fi
- fi
# Update /etc/issue for proper spacing
/opt/openslx/scripts/openslx-create_issue
touch "/run/network/network-ready"
@@ -200,9 +212,6 @@ case "$1" in
# "default route exists" target
if [ -n "$router" ] && [ ! -e "/run/network/gateway-ready" ]; then
touch "/run/network/gateway-ready"
- # Write to openslx-config
- echo "# Config written by openslx-dhcp-script (3)" >> /opt/openslx/config
- echo "SLX_DNS='$dns'" >> /opt/openslx/config
systemctl start network-gateway.target &
fi