[dhcp: 1/2] [dhclient -6] infinite preferred/valid lifetime represented as -1 (#1133839)

Jiří Popelka jpopelka at fedoraproject.org
Thu Sep 4 14:31:36 UTC 2014


commit 3dc8f27fe3e03d5ff19d4182d625aa9e0dbce161
Author: Jiri Popelka <jpopelka at redhat.com>
Date:   Thu Sep 4 16:25:06 2014 +0200

    [dhclient -6] infinite preferred/valid lifetime represented as -1 (#1133839)

 dhcp-dhc6-life.patch |   37 +++++++++++++++++++++++++++++++++++++
 dhcp.spec            |   10 +++++++++-
 2 files changed, 46 insertions(+), 1 deletions(-)
---
diff --git a/dhcp-dhc6-life.patch b/dhcp-dhc6-life.patch
new file mode 100644
index 0000000..49b3a5b
--- /dev/null
+++ b/dhcp-dhc6-life.patch
@@ -0,0 +1,37 @@
+From 4d5514f9579197a4200a52332a9047da1424b3ee Mon Sep 17 00:00:00 2001
+From: Jiri Popelka <jpopelka at redhat.com>
+Date: Thu, 4 Sep 2014 16:03:38 +0200
+Subject: [PATCH] [dhclient -6] fix lease time exporting
+
+addr->preferred_life and addr->max_life are u_int32_t
+so casting them to (int) causes problems with big values,
+for example with 'infinity' (0xffffffff), which is
+then represented as '-1' in dhclient-script.
+
+Signed-off-by: Jiri Popelka <jpopelka at redhat.com>
+---
+ client/dhc6.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/client/dhc6.c b/client/dhc6.c
+index c724b58..04a8fa0 100644
+--- a/client/dhc6.c
++++ b/client/dhc6.c
+@@ -3862,10 +3862,10 @@ dhc6_marshall_values(const char *prefix, struct client_state *client,
+ 		}
+ 		client_envadd(client, prefix, "life_starts", "%d",
+ 			      (int)(addr->starts));
+-		client_envadd(client, prefix, "preferred_life", "%d",
+-			      (int)(addr->preferred_life));
+-		client_envadd(client, prefix, "max_life", "%d",
+-			      (int)(addr->max_life));
++		client_envadd(client, prefix, "preferred_life", "%u",
++			      addr->preferred_life);
++		client_envadd(client, prefix, "max_life", "%u",
++			      addr->max_life);
+ 	}
+ 
+ 	/* ia fields. */
+-- 
+2.1.0
+
diff --git a/dhcp.spec b/dhcp.spec
index 9b42fcb..6d78d2b 100644
--- a/dhcp.spec
+++ b/dhcp.spec
@@ -18,7 +18,7 @@
 Summary:  Dynamic host configuration protocol software
 Name:     dhcp
 Version:  4.3.1
-Release:  6%{?dist}
+Release:  7%{?dist}
 # NEVER CHANGE THE EPOCH on this package.  The previous maintainer (prior to
 # dcantrell maintaining the package) made incorrect use of the epoch and
 # that's why it is at 12 now.  It should have never been used, but it was.
@@ -73,6 +73,7 @@ Patch33:  dhcp-range6.patch
 Patch34:  dhcp-no-subnet-error2info.patch
 Patch35:  dhcp-ffff-checksum.patch
 Patch36:  dhcp-sd_notify.patch
+Patch37:  dhcp-dhc6-life.patch
 
 BuildRequires: autoconf
 BuildRequires: automake
@@ -318,6 +319,10 @@ rm -rf includes/isc-dhcp
 # support for sending startup notification to systemd (#1077666)
 %patch36 -p1 -b .sd_notify
 
+# [dhclient -6] infinite preferred/valid lifetime represented as -1 (#1133839)
+# (Submitted to dhcp-bugs at isc.org - [ISC-Bugs #37084])
+%patch37 -p1 -b .life
+
 # Update paths in all man pages
 for page in client/dhclient.conf.5 client/dhclient.leases.5 \
             client/dhclient-script.8 client/dhclient.8 ; do
@@ -588,6 +593,9 @@ done
 %doc doc/html/
 
 %changelog
+* Thu Sep 04 2014 Jiri Popelka <jpopelka at redhat.com> - 12:4.3.1-7
+- [dhclient -6] infinite preferred/valid lifetime represented as -1 (#1133839)
+
 * Tue Aug 26 2014 Jiri Popelka <jpopelka at redhat.com> - 12:4.3.1-6
 - dhclient-script: another improvement of add_ipv6_addr_with_DAD()
 


More information about the scm-commits mailing list