- Carry over RES_OPTIONS from ifcfg-ethX files to /etc/resolv.conf
(#202923) - Clean up Requires tags for devel packages - Allow SEARCH variable in ifcfg files to override search path (#454152) - Do not down interface if there is an active lease (#453982) - Clean up how dhclient-script restarts ypbind
This commit is contained in:
parent
d016d23988
commit
ddfb139a17
@ -1,15 +0,0 @@
|
||||
--- dhcp-3.0.5/common/dispatch.c.ecat 2006-02-22 17:43:27.000000000 -0500
|
||||
+++ dhcp-3.0.5/common/dispatch.c 2007-03-30 15:54:15.000000000 -0400
|
||||
@@ -195,7 +195,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
-#if defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT)
|
||||
void cancel_all_timeouts ()
|
||||
{
|
||||
struct timeout *t, *n;
|
||||
@@ -216,4 +215,3 @@
|
||||
dfree (t, MDL);
|
||||
}
|
||||
}
|
||||
-#endif
|
@ -1,37 +0,0 @@
|
||||
diff -up dhcp-3.0.6/minires/ns_name.c.memory dhcp-3.0.6/minires/ns_name.c
|
||||
--- dhcp-3.0.6/minires/ns_name.c.memory 2004-06-10 13:59:40.000000000 -0400
|
||||
+++ dhcp-3.0.6/minires/ns_name.c 2007-07-10 11:43:29.000000000 -0400
|
||||
@@ -71,6 +71,11 @@ ns_name_ntop(const u_char *src, char *ds
|
||||
dn = dst;
|
||||
eom = dst + dstsiz;
|
||||
|
||||
+ if (dn >= eom) {
|
||||
+ errno = EMSGSIZE;
|
||||
+ return (-1);
|
||||
+ }
|
||||
+
|
||||
while ((n = *cp++) != 0) {
|
||||
if ((n & NS_CMPRSFLGS) != 0) {
|
||||
/* Some kind of compression pointer. */
|
||||
diff -up dhcp-3.0.6/common/packet.c.memory dhcp-3.0.6/common/packet.c
|
||||
--- dhcp-3.0.6/common/packet.c.memory 2007-05-01 16:42:55.000000000 -0400
|
||||
+++ dhcp-3.0.6/common/packet.c 2007-07-10 11:43:29.000000000 -0400
|
||||
@@ -140,6 +140,7 @@ void assemble_udp_ip_header (interface,
|
||||
struct ip ip;
|
||||
struct udphdr udp;
|
||||
|
||||
+ memset( &ip, '\0', sizeof ip);
|
||||
/* Fill out the IP header */
|
||||
IP_V_SET (&ip, 4);
|
||||
IP_HL_SET (&ip, 20);
|
||||
diff -up dhcp-3.0.6/common/lpf.c.memory dhcp-3.0.6/common/lpf.c
|
||||
--- dhcp-3.0.6/common/lpf.c.memory 2007-07-10 11:43:29.000000000 -0400
|
||||
+++ dhcp-3.0.6/common/lpf.c 2007-07-10 11:43:29.000000000 -0400
|
||||
@@ -246,6 +246,7 @@ static void lpf_tr_filter_setup (info)
|
||||
struct interface_info *info;
|
||||
{
|
||||
struct sock_fprog p;
|
||||
+ memset(&p,'\0', sizeof(struct sock_fprog));
|
||||
|
||||
/* Set up the bpf filter program structure. This is defined in
|
||||
bpf.c */
|
@ -1,6 +1,7 @@
|
||||
--- dhcp-3.0.5/client/dhclient.c.decline 2007-03-30 15:29:58.000000000 -0400
|
||||
+++ dhcp-3.0.5/client/dhclient.c 2007-03-30 15:50:25.000000000 -0400
|
||||
@@ -934,6 +934,7 @@
|
||||
diff -up dhcp-4.0.0//client/dhclient.c.backoff dhcp-4.0.0//client/dhclient.c
|
||||
--- dhcp-4.0.0//client/dhclient.c.backoff 2008-08-01 10:09:17.000000000 -1000
|
||||
+++ dhcp-4.0.0//client/dhclient.c 2008-08-01 10:10:10.000000000 -1000
|
||||
@@ -1003,6 +1003,7 @@ void state_init (cpp)
|
||||
void *cpp;
|
||||
{
|
||||
struct client_state *client = cpp;
|
||||
@ -8,7 +9,7 @@
|
||||
|
||||
ASSERT_STATE(state, S_INIT);
|
||||
|
||||
@@ -946,9 +947,16 @@
|
||||
@@ -1015,9 +1016,16 @@ void state_init (cpp)
|
||||
client -> first_sending = cur_time;
|
||||
client -> interval = client -> config -> initial_interval;
|
||||
|
||||
@ -28,7 +29,7 @@
|
||||
}
|
||||
|
||||
/* state_selecting is called when one or more DHCPOFFER packets have been
|
||||
@@ -1215,6 +1223,7 @@
|
||||
@@ -1284,6 +1292,7 @@ void bind_lease (client)
|
||||
send_decline (client);
|
||||
destroy_client_lease (client -> new);
|
||||
client -> new = (struct client_lease *)0;
|
||||
@ -36,7 +37,7 @@
|
||||
state_init (client);
|
||||
return;
|
||||
}
|
||||
@@ -3183,6 +3192,7 @@
|
||||
@@ -3439,6 +3448,7 @@ void client_location_changed ()
|
||||
case S_INIT:
|
||||
case S_REBINDING:
|
||||
case S_STOPPED:
|
||||
@ -44,9 +45,10 @@
|
||||
break;
|
||||
}
|
||||
client -> state = S_INIT;
|
||||
--- dhcp-3.0.5/includes/dhcpd.h.decline 2007-03-30 15:30:14.000000000 -0400
|
||||
+++ dhcp-3.0.5/includes/dhcpd.h 2007-03-30 15:50:53.000000000 -0400
|
||||
@@ -704,7 +704,8 @@
|
||||
diff -up dhcp-4.0.0//includes/dhcpd.h.backoff dhcp-4.0.0//includes/dhcpd.h
|
||||
--- dhcp-4.0.0//includes/dhcpd.h.backoff 2008-08-01 10:09:01.000000000 -1000
|
||||
+++ dhcp-4.0.0//includes/dhcpd.h 2008-08-01 10:10:10.000000000 -1000
|
||||
@@ -992,7 +992,8 @@ enum dhcp_state {
|
||||
S_BOUND = 5,
|
||||
S_RENEWING = 6,
|
||||
S_REBINDING = 7,
|
16
dhcp-4.0.0-enable-timeout-functions.patch
Normal file
16
dhcp-4.0.0-enable-timeout-functions.patch
Normal file
@ -0,0 +1,16 @@
|
||||
diff -up dhcp-4.0.0//common/dispatch.c.timeout dhcp-4.0.0//common/dispatch.c
|
||||
--- dhcp-4.0.0//common/dispatch.c.timeout 2007-09-05 07:32:10.000000000 -1000
|
||||
+++ dhcp-4.0.0//common/dispatch.c 2008-08-01 10:11:35.000000000 -1000
|
||||
@@ -190,7 +190,6 @@ void cancel_timeout (where, what)
|
||||
}
|
||||
}
|
||||
|
||||
-#if defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT)
|
||||
void cancel_all_timeouts ()
|
||||
{
|
||||
struct timeout *t, *n;
|
||||
@@ -211,4 +210,3 @@ void relinquish_timeouts ()
|
||||
dfree (t, MDL);
|
||||
}
|
||||
}
|
||||
-#endif
|
@ -1,6 +1,7 @@
|
||||
--- dhcp-3.0.5/omapip/errwarn.c.message 2007-03-29 15:03:12.000000000 -0400
|
||||
+++ dhcp-3.0.5/omapip/errwarn.c 2007-03-29 15:08:50.000000000 -0400
|
||||
@@ -80,20 +80,13 @@
|
||||
diff -up dhcp-4.0.0//omapip/errwarn.c.errwarn dhcp-4.0.0//omapip/errwarn.c
|
||||
--- dhcp-4.0.0//omapip/errwarn.c.errwarn 2007-07-12 20:43:42.000000000 -1000
|
||||
+++ dhcp-4.0.0//omapip/errwarn.c 2008-08-01 10:06:05.000000000 -1000
|
||||
@@ -76,20 +76,13 @@ void log_fatal (const char * fmt, ... )
|
||||
|
||||
#if !defined (NOMINUM)
|
||||
log_error ("%s", "");
|
@ -1,6 +1,7 @@
|
||||
--- dhcp-3.0.5/server/confpars.c.failover 2007-03-30 16:28:08.000000000 -0400
|
||||
+++ dhcp-3.0.5/server/confpars.c 2007-03-30 16:32:39.000000000 -0400
|
||||
@@ -998,10 +998,17 @@
|
||||
diff -up dhcp-4.0.0//server/confpars.c.failover dhcp-4.0.0//server/confpars.c
|
||||
--- dhcp-4.0.0//server/confpars.c.failover 2008-08-01 10:07:46.000000000 -1000
|
||||
+++ dhcp-4.0.0//server/confpars.c 2008-08-01 10:14:03.000000000 -1000
|
||||
@@ -1065,10 +1065,17 @@ void parse_failover_peer (cfile, group,
|
||||
parse_warn (cfile, "peer address may not be omitted");
|
||||
|
||||
/* XXX - when/if we get a port number assigned, just set as default */
|
@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.0.0/client/dhclient.c.fast dhcp-4.0.0/client/dhclient.c
|
||||
--- dhcp-4.0.0/client/dhclient.c.fast 2007-12-29 06:07:14.000000000 -1000
|
||||
+++ dhcp-4.0.0/client/dhclient.c 2007-12-29 06:08:07.000000000 -1000
|
||||
@@ -3624,10 +3624,7 @@ isc_result_t dhclient_interface_startup_
|
||||
diff -up dhcp-4.0.0//client/dhclient.c.fast_timeout dhcp-4.0.0//client/dhclient.c
|
||||
--- dhcp-4.0.0//client/dhclient.c.fast_timeout 2008-08-01 10:10:10.000000000 -1000
|
||||
+++ dhcp-4.0.0//client/dhclient.c 2008-08-01 10:13:37.000000000 -1000
|
||||
@@ -3613,10 +3613,7 @@ isc_result_t dhclient_interface_startup_
|
||||
ip -> flags |= INTERFACE_RUNNING;
|
||||
for (client = ip -> client; client; client = client -> next) {
|
||||
client -> state = S_INIT;
|
||||
|
19
dhcp-4.0.0-inherit-leases.patch
Normal file
19
dhcp-4.0.0-inherit-leases.patch
Normal file
@ -0,0 +1,19 @@
|
||||
diff -up dhcp-4.0.0//client/dhclient.c.inherit dhcp-4.0.0//client/dhclient.c
|
||||
--- dhcp-4.0.0//client/dhclient.c.inherit 2008-08-01 09:49:36.000000000 -1000
|
||||
+++ dhcp-4.0.0//client/dhclient.c 2008-08-01 09:53:28.000000000 -1000
|
||||
@@ -2393,6 +2393,15 @@ void send_request (cpp)
|
||||
/* Now do a preinit on the interface so that we can
|
||||
discover a new address. */
|
||||
script_init (client, "PREINIT", (struct string_list *)0);
|
||||
+ /* Has an active lease */
|
||||
+ if (client -> active &&
|
||||
+ client -> active -> is_bootp &&
|
||||
+ client -> active -> expiry > cur_time &&
|
||||
+ primary_address.s_addr != 0 &&
|
||||
+ client -> active -> address.len == 4 &&
|
||||
+ memcpy (client -> active -> address.iabuf, &primary_address, 4) == 0)
|
||||
+ client_envadd (client, "", "keep_old_ip", "%s", "yes");
|
||||
+
|
||||
if (client -> alias)
|
||||
script_write_params (client, "alias_",
|
||||
client -> alias);
|
File diff suppressed because it is too large
Load Diff
37
dhcp-4.0.0-memory.patch
Normal file
37
dhcp-4.0.0-memory.patch
Normal file
@ -0,0 +1,37 @@
|
||||
diff -up dhcp-4.0.0//common/lpf.c.memory dhcp-4.0.0//common/lpf.c
|
||||
--- dhcp-4.0.0//common/lpf.c.memory 2007-07-12 20:43:41.000000000 -1000
|
||||
+++ dhcp-4.0.0//common/lpf.c 2008-08-01 10:08:01.000000000 -1000
|
||||
@@ -245,6 +245,7 @@ static void lpf_tr_filter_setup (info)
|
||||
struct interface_info *info;
|
||||
{
|
||||
struct sock_fprog p;
|
||||
+ memset(&p,'\0', sizeof(struct sock_fprog));
|
||||
|
||||
/* Set up the bpf filter program structure. This is defined in
|
||||
bpf.c */
|
||||
diff -up dhcp-4.0.0//common/packet.c.memory dhcp-4.0.0//common/packet.c
|
||||
--- dhcp-4.0.0//common/packet.c.memory 2007-11-30 11:51:43.000000000 -1000
|
||||
+++ dhcp-4.0.0//common/packet.c 2008-08-01 10:08:01.000000000 -1000
|
||||
@@ -135,6 +135,7 @@ void assemble_udp_ip_header (interface,
|
||||
struct ip ip;
|
||||
struct udphdr udp;
|
||||
|
||||
+ memset( &ip, '\0', sizeof ip);
|
||||
/* Fill out the IP header */
|
||||
IP_V_SET (&ip, 4);
|
||||
IP_HL_SET (&ip, 20);
|
||||
diff -up dhcp-4.0.0//minires/ns_name.c.memory dhcp-4.0.0//minires/ns_name.c
|
||||
--- dhcp-4.0.0//minires/ns_name.c.memory 2005-03-17 10:15:17.000000000 -1000
|
||||
+++ dhcp-4.0.0//minires/ns_name.c 2008-08-01 10:08:01.000000000 -1000
|
||||
@@ -71,6 +71,11 @@ ns_name_ntop(const u_char *src, char *ds
|
||||
dn = dst;
|
||||
eom = dst + dstsiz;
|
||||
|
||||
+ if (dn >= eom) {
|
||||
+ errno = EMSGSIZE;
|
||||
+ return (-1);
|
||||
+ }
|
||||
+
|
||||
while ((n = *cp++) != 0) {
|
||||
if ((n & NS_CMPRSFLGS) != 0) {
|
||||
/* Some kind of compression pointer. */
|
@ -1,7 +1,8 @@
|
||||
--- dhcp-3.0.5/client/dhclient.c.release 2007-03-30 15:30:14.000000000 -0400
|
||||
+++ dhcp-3.0.5/client/dhclient.c 2007-03-30 15:29:58.000000000 -0400
|
||||
@@ -366,9 +366,81 @@
|
||||
}
|
||||
diff -up dhcp-4.0.0//client/dhclient.c.release dhcp-4.0.0//client/dhclient.c
|
||||
--- dhcp-4.0.0//client/dhclient.c.release 2008-08-01 10:09:01.000000000 -1000
|
||||
+++ dhcp-4.0.0//client/dhclient.c 2008-08-01 10:09:17.000000000 -1000
|
||||
@@ -412,9 +412,81 @@ main(int argc, char **argv) {
|
||||
kill(oldpid, SIGTERM);
|
||||
}
|
||||
fclose(pidfd);
|
||||
+ } else {
|
||||
@ -80,5 +81,5 @@
|
||||
+ write_client_pid_file();
|
||||
+
|
||||
if (!quiet) {
|
||||
log_info ("%s %s", message, DHCP_VERSION);
|
||||
log_info ("%s %s", message, PACKAGE_VERSION);
|
||||
log_info (copyright);
|
@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.0.0//client/dhclient.c.selinux dhcp-4.0.0//client/dhclient.c
|
||||
--- dhcp-4.0.0//client/dhclient.c.selinux 2008-05-16 13:42:18.000000000 -1000
|
||||
+++ dhcp-4.0.0//client/dhclient.c 2008-05-16 13:57:54.000000000 -1000
|
||||
@@ -2908,6 +2908,11 @@ void rewrite_client_leases ()
|
||||
--- dhcp-4.0.0//client/dhclient.c.selinux 2008-08-01 10:16:48.000000000 -1000
|
||||
+++ dhcp-4.0.0//client/dhclient.c 2008-08-01 10:16:48.000000000 -1000
|
||||
@@ -2708,6 +2708,11 @@ void rewrite_client_leases ()
|
||||
return;
|
||||
}
|
||||
|
||||
@ -13,7 +13,7 @@ diff -up dhcp-4.0.0//client/dhclient.c.selinux dhcp-4.0.0//client/dhclient.c
|
||||
/* If there is a default duid, write it out. */
|
||||
if (default_duid.len != 0)
|
||||
write_duid(&default_duid);
|
||||
@@ -3011,6 +3016,10 @@ write_duid(struct data_string *duid)
|
||||
@@ -2811,6 +2816,10 @@ write_duid(struct data_string *duid)
|
||||
log_error("can't create %s: %m", path_dhclient_db);
|
||||
return ISC_R_IOERROR;
|
||||
}
|
||||
@ -24,7 +24,7 @@ diff -up dhcp-4.0.0//client/dhclient.c.selinux dhcp-4.0.0//client/dhclient.c
|
||||
}
|
||||
|
||||
/* It would make more sense to write this as a hex string,
|
||||
@@ -3058,6 +3067,10 @@ write_client6_lease(struct client_state
|
||||
@@ -2858,6 +2867,10 @@ write_client6_lease(struct client_state
|
||||
log_error("can't create %s: %m", path_dhclient_db);
|
||||
return ISC_R_IOERROR;
|
||||
}
|
||||
@ -35,7 +35,7 @@ diff -up dhcp-4.0.0//client/dhclient.c.selinux dhcp-4.0.0//client/dhclient.c
|
||||
}
|
||||
|
||||
stat = fprintf(leaseFile, "lease6 {\n");
|
||||
@@ -3161,6 +3174,10 @@ int write_client_lease (client, lease, r
|
||||
@@ -2961,6 +2974,10 @@ int write_client_lease (client, lease, r
|
||||
log_error ("can't create %s: %m", path_dhclient_db);
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
--- dhcp-3.0.5/server/bootp.c.unicast 2005-05-18 15:54:17.000000000 -0400
|
||||
+++ dhcp-3.0.5/server/bootp.c 2007-03-30 16:16:00.000000000 -0400
|
||||
@@ -62,6 +62,7 @@
|
||||
diff -up dhcp-4.0.0//server/bootp.c.unicast dhcp-4.0.0//server/bootp.c
|
||||
--- dhcp-4.0.0//server/bootp.c.unicast 2007-10-26 12:46:50.000000000 -1000
|
||||
+++ dhcp-4.0.0//server/bootp.c 2008-08-01 10:12:38.000000000 -1000
|
||||
@@ -58,6 +58,7 @@ void bootp (packet)
|
||||
char msgbuf [1024];
|
||||
int ignorep;
|
||||
int peer_has_leases = 0;
|
||||
@ -8,7 +9,7 @@
|
||||
|
||||
if (packet -> raw -> op != BOOTREQUEST)
|
||||
return;
|
||||
@@ -77,7 +78,7 @@
|
||||
@@ -73,7 +74,7 @@ void bootp (packet)
|
||||
? inet_ntoa (packet -> raw -> giaddr)
|
||||
: packet -> interface -> name);
|
||||
|
||||
@ -17,7 +18,7 @@
|
||||
log_info ("%s: network unknown", msgbuf);
|
||||
return;
|
||||
}
|
||||
@@ -357,6 +358,13 @@
|
||||
@@ -384,6 +385,13 @@ void bootp (packet)
|
||||
from, &to, &hto);
|
||||
goto out;
|
||||
}
|
||||
@ -31,17 +32,18 @@
|
||||
|
||||
/* If it comes from a client that already knows its address
|
||||
and is not requesting a broadcast response, and we can
|
||||
--- dhcp-3.0.5/server/dhcp.c.unicast 2007-03-30 16:13:36.000000000 -0400
|
||||
+++ dhcp-3.0.5/server/dhcp.c 2007-03-30 16:19:35.000000000 -0400
|
||||
@@ -3817,6 +3817,7 @@
|
||||
diff -up dhcp-4.0.0//server/dhcp.c.unicast dhcp-4.0.0//server/dhcp.c
|
||||
--- dhcp-4.0.0//server/dhcp.c.unicast 2007-11-02 12:09:02.000000000 -1000
|
||||
+++ dhcp-4.0.0//server/dhcp.c 2008-08-01 10:12:38.000000000 -1000
|
||||
@@ -3904,6 +3904,7 @@ int locate_network (packet)
|
||||
struct data_string data;
|
||||
struct subnet *subnet = (struct subnet *)0;
|
||||
struct option_cache *oc;
|
||||
+ int norelay = 0;
|
||||
|
||||
/* See if there's a subnet selection option. */
|
||||
oc = lookup_option (&dhcp_universe, packet -> options,
|
||||
@@ -3826,12 +3827,24 @@
|
||||
/* See if there's a Relay Agent Link Selection Option, or a
|
||||
* Subnet Selection Option. The Link-Select and Subnet-Select
|
||||
@@ -3919,12 +3920,24 @@ int locate_network (packet)
|
||||
from the interface, if there is one. If not, fail. */
|
||||
if (!oc && !packet -> raw -> giaddr.s_addr) {
|
||||
if (packet -> interface -> shared_network) {
|
||||
@ -70,8 +72,8 @@
|
||||
- return 0;
|
||||
}
|
||||
|
||||
/* If there's an SSO, and it's valid, use it to figure out the
|
||||
@@ -3853,7 +3866,10 @@
|
||||
/* If there's an option indicating link connection, and it's valid,
|
||||
@@ -3947,7 +3960,10 @@ int locate_network (packet)
|
||||
data_string_forget (&data, MDL);
|
||||
} else {
|
||||
ia.len = 4;
|
||||
@ -83,7 +85,7 @@
|
||||
}
|
||||
|
||||
/* If we know the subnet on which the IP address lives, use it. */
|
||||
@@ -3861,7 +3877,10 @@
|
||||
@@ -3955,7 +3971,10 @@ int locate_network (packet)
|
||||
shared_network_reference (&packet -> shared_network,
|
||||
subnet -> shared_network, MDL);
|
||||
subnet_dereference (&subnet, MDL);
|
23
dhcp.spec
23
dhcp.spec
@ -26,16 +26,16 @@ Source10: libdhcp_control.h
|
||||
Source11: dhcp.schema
|
||||
Source12: get-ldap-patch.sh
|
||||
|
||||
Patch0: %{name}-3.0.5-errwarn-message.patch
|
||||
Patch0: %{name}-4.0.0-errwarn-message.patch
|
||||
Patch1: %{name}-4.0.0-ldap-configuration.patch
|
||||
Patch2: %{name}-3.0.6-memory.patch
|
||||
Patch2: %{name}-4.0.0-memory.patch
|
||||
Patch3: %{name}-4.0.0-options.patch
|
||||
Patch4: %{name}-3.0.5-release-by-ifup.patch
|
||||
Patch5: %{name}-3.0.5-dhclient-decline-backoff.patch
|
||||
Patch6: %{name}-3.0.5-enable-timeout-functions.patch
|
||||
Patch7: %{name}-3.0.5-unicast-bootp.patch
|
||||
Patch4: %{name}-4.0.0-release-by-ifup.patch
|
||||
Patch5: %{name}-4.0.0-dhclient-decline-backoff.patch
|
||||
Patch6: %{name}-4.0.0-enable-timeout-functions.patch
|
||||
Patch7: %{name}-4.0.0-unicast-bootp.patch
|
||||
Patch8: %{name}-4.0.0-fast-timeout.patch
|
||||
Patch9: %{name}-3.0.5-failover-ports.patch
|
||||
Patch9: %{name}-4.0.0-failover-ports.patch
|
||||
Patch10: %{name}-4.0.0-dhclient-usage.patch
|
||||
Patch11: %{name}-4.0.0-default-requested-options.patch
|
||||
Patch12: %{name}-4.0.0-xen-checksum.patch
|
||||
@ -46,6 +46,7 @@ Patch16: %{name}-4.0.0-NetworkManager-crash.patch
|
||||
Patch17: %{name}-4.0.0-selinux.patch
|
||||
Patch18: %{name}-4.0.0-libdhcp4client.patch
|
||||
Patch19: %{name}-4.0.0-O_CLOEXEC.patch
|
||||
Patch20: %{name}-4.0.0-inherit-leases.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
BuildRequires: autoconf
|
||||
@ -199,6 +200,9 @@ client library.
|
||||
# Make sure all open file descriptors are closed-on-exec for SELinux
|
||||
%patch19 -p1
|
||||
|
||||
# If we have an active lease, do not down the interface (#453982)
|
||||
%patch20 -p1
|
||||
|
||||
# Copy in documentation and example scripts for LDAP patch to dhcpd
|
||||
%{__install} -p -m 0644 %{SOURCE5} .
|
||||
%{__install} -p -m 0644 %{SOURCE6} doc/
|
||||
@ -427,9 +431,12 @@ fi
|
||||
%{_libdir}/libdhcp4client.so
|
||||
|
||||
%changelog
|
||||
* Thu Jul 24 2008 David Cantrell <dcantrell@redhat.com> - 12:4.0.0-17
|
||||
* Fri Aug 01 2008 David Cantrell <dcantrell@redhat.com> - 12:4.0.0-17
|
||||
- Carry over RES_OPTIONS from ifcfg-ethX files to /etc/resolv.conf (#202923)
|
||||
- Clean up Requires tags for devel packages
|
||||
- Allow SEARCH variable in ifcfg files to override search path (#454152)
|
||||
- Do not down interface if there is an active lease (#453982)
|
||||
- Clean up how dhclient-script restarts ypbind
|
||||
|
||||
* Sat Jun 21 2008 David Cantrell <dcantrell@redhat.com> - 12:4.0.0-16
|
||||
- Remove instaces of \032 in domain search option (#450042)
|
||||
|
37
linux
37
linux
@ -47,16 +47,20 @@ make_resolv_conf() {
|
||||
rscf=`mktemp /tmp/XXXXXX`;
|
||||
echo '; generated by /sbin/dhclient-script' > $rscf
|
||||
|
||||
if [ -n "$new_domain_search" ]; then
|
||||
echo "search ${new_domain_search//\\032/ }" >> $rscf
|
||||
else
|
||||
if [ -n "$new_domain_name" ]; then
|
||||
echo "search ${new_domain_name//\\032/ }" >> $rscf
|
||||
if [ -z "$SEARCH" ]; then
|
||||
if [ -n "$new_domain_search" ]; then
|
||||
echo "search ${new_domain_search//\\032/ }" >> $rscf
|
||||
else
|
||||
if [ -n "$new_domain_name" ]; then
|
||||
echo "search ${new_domain_name//\\032/ }" >> $rscf
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "search $SEARCH" >> $rscf
|
||||
fi
|
||||
|
||||
if [ -n "$RES_OPTIONS" ]; then
|
||||
echo options $RES_OPTIONS >> $rscf
|
||||
echo "options $RES_OPTIONS" >> $rscf
|
||||
fi
|
||||
|
||||
for nameserver in $new_domain_name_servers; do
|
||||
@ -355,8 +359,10 @@ function dhconfig() {
|
||||
let contents=contents+1
|
||||
fi
|
||||
|
||||
if [ $contents -gt 0 ] && [ -r /var/run/ypbind.pid ] && yppid=$(cat /var/run/ypbind.pid) && [ -d /proc/${yppid} ] && [ "$(if [ -x /usr/bin/readlink ]; then readlink /proc/${yppid}/exe; else echo /sbin/ypbind; fi)" = "/sbin/ypbind" ]; then
|
||||
kill -HUP $yppid
|
||||
if [ $contents -gt 0 ]; then
|
||||
if [ -x /etc/rc.d/init.d/ypbind ] && [ -r /var/run/ypbind.pid ]; then
|
||||
service ypbind restart >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
elif [ -n "$new_nis_servers" ]; then
|
||||
save_previous /etc/yp.conf
|
||||
@ -368,8 +374,10 @@ function dhconfig() {
|
||||
let contents=contents+1
|
||||
done
|
||||
|
||||
if [ $contents -gt 0 ] && [ -r /var/run/ypbind.pid ] && yppid=$(cat /var/run/ypbind.pid) && [ -d /proc/${yppid} ] && [ "$(if [ -x /usr/bin/readlink ]; then readlink /proc/${yppid}/exe; else echo /sbin/ypbind; fi)" = "/sbin/ypbind" ]; then
|
||||
kill -HUP $yppid
|
||||
if [ $contents -gt 0 ]; then
|
||||
if [ -x /etc/rc.d/init.d/ypbind ] && [ -r /var/run/ypbind.pid ]; then
|
||||
service ypbind restart >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -511,8 +519,8 @@ if [ x$reason = xEXPIRE ] || [ x$reason = xFAIL ] || [ x$reason = xRELEASE ] \
|
||||
/bin/rm -f /etc/yp.conf
|
||||
/bin/mv -f /etc/yp.conf.predhclient.$interface /etc/yp.conf
|
||||
|
||||
if [ -r /var/run/ypbind.pid ] && yppid=$(cat /var/run/ypbind.pid) && [ -d /proc/${yppid} ] && [ "$(if [ -x /usr/bin/readlink ]; then readlink /proc/${yppid}/exe; else echo /sbin/ypbind; fi)" = "/sbin/ypbind" ]; then
|
||||
kill -HUP $yppid
|
||||
if [ -x /etc/rc.d/init.d/ypbind ] && [ -r /var/run/ypbind.pid ]; then
|
||||
service ypbind restart >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@ -554,10 +562,7 @@ if [ x$reason = xTIMEOUT ] && [ "x$new_routers" != 'x' ]; then
|
||||
exit_with_hooks 0
|
||||
fi
|
||||
|
||||
if [ -z "${dhc_dbus}" ] || (( ( dhc_dbus & 2 ) != 2 )); then
|
||||
ifconfig $interface inet 0 down
|
||||
fi
|
||||
|
||||
ifconfig $interface inet 0 down
|
||||
exit_with_hooks 1
|
||||
elif [ x$reason = xTIMEOUT ]; then
|
||||
exit_with_hooks 1
|
||||
|
Loading…
Reference in New Issue
Block a user