Merge "Debian: use DHCPv6 FQDN hostname field to set hostname"
This commit is contained in:
commit
2c71642e6e
@ -0,0 +1,73 @@
|
||||
From 66726d7b42e2b36cb9707cf47a92616eaf4b454d Mon Sep 17 00:00:00 2001
|
||||
From: Andre Fernando Zanella Kantek
|
||||
<AndreFernandoZanella.Kantek@windriver.com>
|
||||
Date: Tue, 6 Sep 2022 12:27:10 -0300
|
||||
Subject: [PATCH] use DHCPv6 FQDN hostname field to set hostname
|
||||
|
||||
It was detected on StarlingX the lack of correct hostname after
|
||||
address atribution by the server. This change makes the script read
|
||||
the field fqdn_hostname to set the name.
|
||||
|
||||
Also added the field to the dhclient debug script
|
||||
|
||||
Signed-off-by: Andre Fernando Zanella Kantek <AndreFernandoZanella.Kantek@windriver.com>
|
||||
---
|
||||
debian/debug | 3 ++-
|
||||
debian/dhclient-script.linux | 20 +++++++++++++++++++-
|
||||
2 files changed, 21 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/debian/debug b/debian/debug
|
||||
index 593e7df..a2d8cf2 100644
|
||||
--- a/debian/debug
|
||||
+++ b/debian/debug
|
||||
@@ -23,7 +23,8 @@ if [ "$RUN" = "yes" ]; then
|
||||
netbios_name_servers netbios_scope \
|
||||
ntp_servers \
|
||||
ip6_address ip6_prefix ip6_prefixlen \
|
||||
- dhcp6_domain_search dhcp6_name_servers ; do
|
||||
+ dhcp6_domain_search dhcp6_name_servers \
|
||||
+ fqdn_hostname ; do
|
||||
var="${prefix}${basevar}"
|
||||
eval "content=\$$var"
|
||||
|
||||
diff --git a/debian/dhclient-script.linux b/debian/dhclient-script.linux
|
||||
index 915cc13..68a7252 100644
|
||||
--- a/debian/dhclient-script.linux
|
||||
+++ b/debian/dhclient-script.linux
|
||||
@@ -142,6 +142,23 @@ set_hostname() {
|
||||
fi
|
||||
}
|
||||
|
||||
+# set host name using DHCPv6 FQDN hostname field
|
||||
+set_hostname_v6() {
|
||||
+ if [ -n "$new_fqdn_hostname" ]; then
|
||||
+ local current_hostname=$(hostname)
|
||||
+
|
||||
+ # current host name is empty, '(none)' or 'localhost' or differs from new one from DHCP
|
||||
+ if [ -z "$current_hostname" ] ||
|
||||
+ [ "$current_hostname" = '(none)' ] ||
|
||||
+ [ "$current_hostname" = 'localhost' ] ||
|
||||
+ [ "$current_hostname" = "$old_fqdn_hostname" ]; then
|
||||
+ if [ "$old_fqdn_hostname" != "$current_hostname" ]; then
|
||||
+ hostname "$new_fqdn_hostname"
|
||||
+ fi
|
||||
+ fi
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
# run given script
|
||||
run_hook() {
|
||||
local script="$1"
|
||||
@@ -399,7 +416,8 @@ case "$reason" in
|
||||
;;
|
||||
|
||||
BOUND6|RENEW6|REBIND6)
|
||||
- set_hostname
|
||||
+ set_hostname # use if host_name is provided
|
||||
+ set_hostname_v6 # use if fqdn_hostname is provided
|
||||
|
||||
if [ "${new_ip6_address}" ]; then
|
||||
# set leased IP
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,3 +1,4 @@
|
||||
0001-dhclient-dhcp6-set-hostname.patch
|
||||
0002-Update-dn-and-dns-only-with-diff-upon-RENEW.patch
|
||||
0003-Use-prefixlen-for-IPv6-address-operations.patch
|
||||
0003-Use-prefixlen-for-IPv6-address-operations.patch
|
||||
0004-use-DHCPv6-FQDN-hostname-field-to-set-hostname.patch
|
Loading…
Reference in New Issue
Block a user