diff options
author | Simon Rettberg | 2019-11-26 16:31:05 +0100 |
---|---|---|
committer | Simon Rettberg | 2019-11-26 16:31:05 +0100 |
commit | 10e77b6e08c07cb6f66fc8932a49a45edb3dd8c5 (patch) | |
tree | 9dfc04a739d6d7f0d951c557f2b200009531f842 | |
parent | [rootfs-stage32] Keep original perms/owner of files intact (diff) | |
download | mltk-10e77b6e08c07cb6f66fc8932a49a45edb3dd8c5.tar.gz mltk-10e77b6e08c07cb6f66fc8932a49a45edb3dd8c5.tar.xz mltk-10e77b6e08c07cb6f66fc8932a49a45edb3dd8c5.zip |
[rootfs-stage31] Actually request hostname via DHCP...
-rw-r--r-- | core/rootfs/rootfs-stage31/data/inc/setup_network | 2 | ||||
-rw-r--r-- | core/rootfs/rootfs-stage31/data/inc/setup_network_retry | 4 | ||||
-rwxr-xr-x | core/rootfs/rootfs-stage31/data/inc/udhcpc-trigger | 10 |
3 files changed, 11 insertions, 5 deletions
diff --git a/core/rootfs/rootfs-stage31/data/inc/setup_network b/core/rootfs/rootfs-stage31/data/inc/setup_network index 4f4c8a02..6b97fb18 100644 --- a/core/rootfs/rootfs-stage31/data/inc/setup_network +++ b/core/rootfs/rootfs-stage31/data/inc/setup_network @@ -114,7 +114,7 @@ echo "GATEWAY=$GATEWAY" >> /run/network.conf echo "BRIDGE=$BRIDGE" >> /run/network.conf echo "UID=$UID" >> /run/network.conf -udhcpc $PARAM -O ntpsrv -O domain -O search -t 5 -T 3 -A 4 -s "/inc/udhcpc-trigger" -f -n -q -i "$BRIDGE" +udhcpc $PARAM -O hostname -O ntpsrv -O domain -O search -t 5 -T 3 -A 4 -s "/inc/udhcpc-trigger" -f -n -q -i "$BRIDGE" URET=$? # if these were empty before, udhcpc might have filled them in [ -z "$CLIENTIP" ] && CLIENTIP=$(cat /run/firstip) diff --git a/core/rootfs/rootfs-stage31/data/inc/setup_network_retry b/core/rootfs/rootfs-stage31/data/inc/setup_network_retry index 76923703..c1fff39d 100644 --- a/core/rootfs/rootfs-stage31/data/inc/setup_network_retry +++ b/core/rootfs/rootfs-stage31/data/inc/setup_network_retry @@ -33,8 +33,8 @@ for i in 1 2 3 4 5 6 7 8; do wait_for_iface "$BRIDGE" 10 usleep 100000 - udhcpc $PARAM -O ntpsrv -O domain -O search -t "$(( 2 + i / 2 ))" -T "$(( 4 + i ))" -s "/inc/udhcpc-trigger" -f -n -q -i "$BRIDGE" \ - || udhcpc $PARAM -O ntpsrv -O domain -O search -t "$(( 2 + i / 2 ))" -T "$(( 4 + i ))" -s "/inc/udhcpc-trigger" -f -n -q -i "$BRIDGE" + udhcpc $PARAM -O hostname -O ntpsrv -O domain -O search -t "$(( 2 + i / 2 ))" -T "$(( 4 + i ))" -s "/inc/udhcpc-trigger" -f -n -q -i "$BRIDGE" \ + || udhcpc $PARAM -O hostname -O ntpsrv -O domain -O search -t "$(( 2 + i / 2 ))" -T "$(( 4 + i ))" -s "/inc/udhcpc-trigger" -f -n -q -i "$BRIDGE" RET="$?" if [ "$RET" -eq 0 ]; then diff --git a/core/rootfs/rootfs-stage31/data/inc/udhcpc-trigger b/core/rootfs/rootfs-stage31/data/inc/udhcpc-trigger index 15fb59bf..795dd8a0 100755 --- a/core/rootfs/rootfs-stage31/data/inc/udhcpc-trigger +++ b/core/rootfs/rootfs-stage31/data/inc/udhcpc-trigger @@ -72,6 +72,8 @@ if [ -n "$domain" ] && [ -n "$search" ]; then elif [ -n "$domain" ]; then search="$domain" fi +# Sanitize: domain must not be list +domain="${domain%% *}" # Write out if [ -n "$domain" ]; then echo "domain $domain" >> "/etc/resolv.conf" @@ -93,10 +95,14 @@ if [ -z "$hostname" ]; then [ -z "$fqdn" ] && fqdn=$(timeout -t 3 nslookup "$ip" | grep -E "^Address +[0-9]+: +$ip " | head -n 1 | awk '{print $4}') hostname="${fqdn%%.*}" elif [ -n "$domain" ]; then - fqdn="${hostname}.${domain%% *}" # in case domain is a list + fqdn="${hostname}.${domain}" +fi +# Fallback tp IP +if [ -z "$hostname" ]; then + hostname="noname-${ip//./-}" + fqdn="${hostname}.invalid" fi if [ -n "$hostname" ]; then - [ -z "$fqdn" ] && fqdn="$hostname" echo "..setting hostname $hostname (fqdn: $fqdn).." echo "$hostname" > "/proc/sys/kernel/hostname" echo "$hostname" > "/etc/hostname" |