Marius Tomaschewski
d2a944c552
along with this package or online at: - Replaced hostname patch with a dhcpv6 and fqdn aware variant: [- 0006-dhcp-4.2.5-dhclient-send-hostname-rml.patch, + 0006-dhcp-4.3.2-dhclient-send-hostname-or-fqdn.patch] - Adjusted patch numbers in the spec file: [- 0008-dhcp-4.1.1-P1-lpf-bind-msg-fix.patch, - 0010-dhcp-4.2.2-dhclient-option-checks.patch, - 0011-dhcp-4.2.6-close-on-exec.patch, - 0012-dhcp-4.2.2-quiet-dhclient.patch, - 0014-Fixed-linux-interface-discovery-using-getifaddrs.patch, - 0020-dhcp-4.2.x-chown-server-leases.bnc868253.patch, - 0024-dhcp-4.2.x-dhcpv6-decline-on-DAD-failure.872609.patch, + 0008-dhcp-4.2.2-dhclient-option-checks.patch, + 0009-dhcp-4.2.6-close-on-exec.patch, + 0010-dhcp-4.2.2-quiet-dhclient.patch, + 0011-Fixed-linux-interface-discovery-using-getifaddrs.patch, + 0012-dhcp-4.2.x-chown-server-leases.bnc868253.patch, + 0013-dhcp-4.2.x-dhcpv6-decline-on-DAD-failure.872609.patch] - Fixed to not pass DHCPv6 address lifetimes a positive (unsigned 32bit) integers to scripts and properly format timestamps as long to not break them on 64bit architectures (bsc#926159). [+ 0014-dhclient6-unsigned-lifetimes-for-script-bsc-926159.patch] - dhclient: expose next-server DHCPv4 option to script (bsc#928390) [+ 0015-Expose-next-server-DHCPv4-option-to-dhclient-script.patch] - Replaced infiniband support patch with fixed variant (bsc#910984): [- 0017-dhcp-4.2.6-lpf-ip-over-ib-support.patch, - 0018-dhcp-4.2.6-improved-xid.patch, + 0016-infiniband-support.patch] - Moved dhcp-devel package include files and static libraries OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=154
85 lines
3.0 KiB
Diff
85 lines
3.0 KiB
Diff
From 9267da086dcbb39509eae05d1d60ba37596a3f89 Mon Sep 17 00:00:00 2001
|
|
From: Marius Tomaschewski <mt@suse.de>
|
|
Date: Wed, 29 Apr 2015 11:18:36 +0200
|
|
Subject: dhclient6: unsigned lifetimes for script (bsc#926159)
|
|
|
|
Address/IA lifetimes are all unsigned, don't turn into signed
|
|
(negative e.g. in infinite case) when passing them to scripts
|
|
and format timestamps as long to not break them on 64bit archs.
|
|
|
|
References: bsc#926159
|
|
|
|
diff --git a/client/dhc6.c b/client/dhc6.c
|
|
index bec1c87..e4a85fc 100644
|
|
--- a/client/dhc6.c
|
|
+++ b/client/dhc6.c
|
|
@@ -3877,8 +3877,8 @@ dhc6_marshall_values(const char *prefix, struct client_state *client,
|
|
client_envadd(client, prefix,
|
|
"ip6_type", "temporary");
|
|
}
|
|
- client_envadd(client, prefix, "life_starts", "%d",
|
|
- (int)(addr->starts));
|
|
+ client_envadd(client, prefix, "life_starts", "%ld",
|
|
+ (long)(addr->starts));
|
|
client_envadd(client, prefix, "preferred_life", "%u",
|
|
addr->preferred_life);
|
|
client_envadd(client, prefix, "max_life", "%u",
|
|
@@ -3889,8 +3889,8 @@ dhc6_marshall_values(const char *prefix, struct client_state *client,
|
|
if (ia != NULL) {
|
|
client_envadd(client, prefix, "iaid", "%s",
|
|
print_hex_1(4, ia->iaid, 12));
|
|
- client_envadd(client, prefix, "starts", "%d",
|
|
- (int)(ia->starts));
|
|
+ client_envadd(client, prefix, "starts", "%ld",
|
|
+ (long)(ia->starts));
|
|
client_envadd(client, prefix, "renew", "%u", ia->renew);
|
|
client_envadd(client, prefix, "rebind", "%u", ia->rebind);
|
|
}
|
|
diff --git a/client/dhclient.c b/client/dhclient.c
|
|
index 2eb28db..4d7394d 100644
|
|
--- a/client/dhclient.c
|
|
+++ b/client/dhclient.c
|
|
@@ -3119,13 +3119,13 @@ write_client6_lease(struct client_state *client, struct dhc6_lease *lease,
|
|
return ISC_R_IOERROR;
|
|
|
|
if (ia->ia_type != D6O_IA_TA)
|
|
- stat = fprintf(leaseFile, " starts %d;\n"
|
|
+ stat = fprintf(leaseFile, " starts %ld;\n"
|
|
" renew %u;\n"
|
|
" rebind %u;\n",
|
|
- (int)ia->starts, ia->renew, ia->rebind);
|
|
+ (long)ia->starts, ia->renew, ia->rebind);
|
|
else
|
|
- stat = fprintf(leaseFile, " starts %d;\n",
|
|
- (int)ia->starts);
|
|
+ stat = fprintf(leaseFile, " starts %ld;\n",
|
|
+ (long)ia->starts);
|
|
if (stat <= 0)
|
|
return ISC_R_IOERROR;
|
|
|
|
@@ -3142,10 +3142,10 @@ write_client6_lease(struct client_state *client, struct dhc6_lease *lease,
|
|
if (stat <= 0)
|
|
return ISC_R_IOERROR;
|
|
|
|
- stat = fprintf(leaseFile, " starts %d;\n"
|
|
+ stat = fprintf(leaseFile, " starts %ld;\n"
|
|
" preferred-life %u;\n"
|
|
" max-life %u;\n",
|
|
- (int)addr->starts, addr->preferred_life,
|
|
+ (long)addr->starts, addr->preferred_life,
|
|
addr->max_life);
|
|
if (stat <= 0)
|
|
return ISC_R_IOERROR;
|
|
@@ -3519,7 +3519,7 @@ void script_write_params (client, prefix, lease)
|
|
universes [i],
|
|
&es, client_option_envadd);
|
|
}
|
|
- client_envadd (client, prefix, "expiry", "%d", (int)(lease -> expiry));
|
|
+ client_envadd (client, prefix, "expiry", "%ld", (long)(lease -> expiry));
|
|
}
|
|
|
|
/*
|
|
--
|
|
2.1.4
|
|
|