summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhagbard <vyosdev@derith.de>2018-11-29 14:27:41 -0800
committerhagbard <vyosdev@derith.de>2018-11-29 14:27:41 -0800
commit74c1a8e3262480b4863a9b86bee77e2f6bf0acd3 (patch)
treef678de449b8651476d63ba0c2da081176451ca6d
parent4cc8f2d4bb9c72f662d5d453e6ac954e64cb7a16 (diff)
downloadvyatta-cfg-system-74c1a8e3262480b4863a9b86bee77e2f6bf0acd3.tar.gz
vyatta-cfg-system-74c1a8e3262480b4863a9b86bee77e2f6bf0acd3.zip
Fix: T1053 - Error when re-configuring an interface from DHCP to static IP
-rw-r--r--debian/changelog5
-rwxr-xr-xscripts/vyatta-address6
2 files changed, 10 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index bd4efe61..1f14c36e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,8 @@
+vyatta-cfg-system (0.20.44+vyos2+current16) unstable; urgency=low
+
+ * T1053 - Error when re-configuring an interface from DHCP to static IP
+
+ -- hagbard <vyosdev@derith.de> Thu, 29 Nov 2018 14:26:07 -0800
vyatta-cfg-system (0.20.44+vyos2+current15) unstable; urgency=medium
* Virtio network card, no info (maybe not fully supported?)
diff --git a/scripts/vyatta-address b/scripts/vyatta-address
index c3e57856..a35397de 100755
--- a/scripts/vyatta-address
+++ b/scripts/vyatta-address
@@ -29,7 +29,10 @@ case $1 in
# Get current address from interface when using DHCP
if [[ "$3" = "dhcp" ]]; then
lease_file=/var/lib/dhcp/dhclient_"$2".leases;
- ip_address=$(sed -n 's/^\s\sfixed-address\s\(.*\);/\1/p' $lease_file | sed -n '$p');
+ ip=$(sed -n 's/^\s\sfixed-address\s\(.*\);/\1/p' $lease_file | sed -n '$p');
+ #ip_address=$(sed -n 's/^\s\sfixed-address\s\(.*\);/\1/p' $lease_file | sed -n '$p');
+ # T1053 we need IP/prefix for normalize-ip to function
+ ip_address=$(ip a s dev $2 | grep $ip | awk '{print $2}')
elif [[ "$3" = "dhcpv6" ]]; then
lease_file=/var/lib/dhcp/dhclient_v6_"$2".leases;
ip_address=$(sed -n 's/^\s\s\s\siaaddr\s\(.*\)\s{/\1/p' $lease_file | sed -n '$p');
@@ -37,6 +40,7 @@ case $1 in
ip_address=$3;
fi
+ ### T1053 parameter $ip_address needs to be prefixed, not just the IP
ip_address=$(/usr/libexec/vyos/system/normalize-ip $ip_address)
if ! ip address show dev $2 2>/dev/null | grep -q "$ip_address"; then