Removed upstream-merged IFNAMSIZ.patch
Polished patches according to results from static analysis of code.
This commit is contained in:
parent
fdefd274e5
commit
030991fd0d
@ -1,12 +0,0 @@
|
||||
diff -up dhcp-4.2.0/server/dhcpd.c.ifnamsiz dhcp-4.2.0/server/dhcpd.c
|
||||
--- dhcp-4.2.0/server/dhcpd.c.ifnamsiz 2010-07-21 14:31:39.000000000 +0200
|
||||
+++ dhcp-4.2.0/server/dhcpd.c 2010-07-21 16:05:49.000000000 +0200
|
||||
@@ -409,7 +409,7 @@ main(int argc, char **argv) {
|
||||
log_fatal ("Insufficient memory to %s %s: %s",
|
||||
"record interface", argv [i],
|
||||
isc_result_totext (result));
|
||||
- strcpy (tmp -> name, argv [i]);
|
||||
+ strncpy (tmp -> name, argv [i], sizeof (tmp -> name));
|
||||
if (interfaces) {
|
||||
interface_reference (&tmp -> next,
|
||||
interfaces, MDL);
|
@ -1,6 +1,6 @@
|
||||
diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
|
||||
--- dhcp-4.2.0/client/dhc6.c.sendDecline 2009-11-20 02:48:58.000000000 +0100
|
||||
+++ dhcp-4.2.0/client/dhc6.c 2010-07-21 16:18:51.000000000 +0200
|
||||
diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
|
||||
--- dhcp-4.2.1-P1/client/dhc6.c.sendDecline 2010-09-10 22:27:11.000000000 +0200
|
||||
+++ dhcp-4.2.1-P1/client/dhc6.c 2011-06-17 14:19:48.992099868 +0200
|
||||
@@ -95,6 +95,8 @@ void do_select6(void *input);
|
||||
void do_refresh6(void *input);
|
||||
static void do_release6(void *input);
|
||||
@ -10,7 +10,7 @@ diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
|
||||
static void start_informed(struct client_state *client);
|
||||
void informed_handler(struct packet *packet, struct client_state *client);
|
||||
void bound_handler(struct packet *packet, struct client_state *client);
|
||||
@@ -2140,6 +2142,7 @@ start_release6(struct client_state *clie
|
||||
@@ -2075,6 +2077,7 @@ start_release6(struct client_state *clie
|
||||
cancel_timeout(do_select6, client);
|
||||
cancel_timeout(do_refresh6, client);
|
||||
cancel_timeout(do_release6, client);
|
||||
@ -18,7 +18,7 @@ diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
|
||||
client->state = S_STOPPED;
|
||||
|
||||
/*
|
||||
@@ -2790,6 +2793,7 @@ dhc6_check_reply(struct client_state *cl
|
||||
@@ -2708,6 +2711,7 @@ dhc6_check_reply(struct client_state *cl
|
||||
break;
|
||||
|
||||
case S_STOPPED:
|
||||
@ -26,7 +26,7 @@ diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
|
||||
action = dhc6_stop_action;
|
||||
break;
|
||||
|
||||
@@ -2891,6 +2895,7 @@ dhc6_check_reply(struct client_state *cl
|
||||
@@ -2809,6 +2813,7 @@ dhc6_check_reply(struct client_state *cl
|
||||
break;
|
||||
|
||||
case S_STOPPED:
|
||||
@ -34,7 +34,7 @@ diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
|
||||
/* Nothing critical to do at this stage. */
|
||||
break;
|
||||
|
||||
@@ -3933,17 +3938,23 @@ reply_handler(struct packet *packet, str
|
||||
@@ -3799,17 +3804,23 @@ reply_handler(struct packet *packet, str
|
||||
cancel_timeout(do_select6, client);
|
||||
cancel_timeout(do_refresh6, client);
|
||||
cancel_timeout(do_release6, client);
|
||||
@ -66,7 +66,7 @@ diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -4470,7 +4481,11 @@ start_bound(struct client_state *client)
|
||||
@@ -4336,7 +4347,11 @@ start_bound(struct client_state *client)
|
||||
oldia, oldaddr);
|
||||
dhc6_marshall_values("new_", client, lease, ia, addr);
|
||||
|
||||
@ -79,7 +79,7 @@ diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
|
||||
}
|
||||
|
||||
/* XXX: maybe we should loop on the old values instead? */
|
||||
@@ -4516,6 +4531,151 @@ start_bound(struct client_state *client)
|
||||
@@ -4382,6 +4397,149 @@ start_bound(struct client_state *client)
|
||||
dhc6_check_times(client);
|
||||
}
|
||||
|
||||
@ -220,10 +220,8 @@ diff -up dhcp-4.2.0/client/dhc6.c.sendDecline dhcp-4.2.0/client/dhc6.c
|
||||
+ return;
|
||||
+
|
||||
+decline_done:
|
||||
+ if (client->active_lease != NULL) {
|
||||
+ dhc6_lease_destroy(&client->active_lease, MDL);
|
||||
+ client->active_lease = NULL;
|
||||
+ }
|
||||
+ dhc6_lease_destroy(&client->active_lease, MDL);
|
||||
+ client->active_lease = NULL;
|
||||
+ start_init6(client);
|
||||
+ return;
|
||||
+}
|
@ -1,6 +1,6 @@
|
||||
diff -up dhcp-4.2.0/common/bpf.c.xen dhcp-4.2.0/common/bpf.c
|
||||
--- dhcp-4.2.0/common/bpf.c.xen 2009-11-20 02:48:59.000000000 +0100
|
||||
+++ dhcp-4.2.0/common/bpf.c 2010-07-21 13:51:24.000000000 +0200
|
||||
diff -up dhcp-4.2.1-P1/common/bpf.c.xen dhcp-4.2.1-P1/common/bpf.c
|
||||
--- dhcp-4.2.1-P1/common/bpf.c.xen 2009-11-20 02:48:59.000000000 +0100
|
||||
+++ dhcp-4.2.1-P1/common/bpf.c 2011-06-17 13:33:18.398055078 +0200
|
||||
@@ -485,7 +485,7 @@ ssize_t receive_packet (interface, buf,
|
||||
offset = decode_udp_ip_header (interface,
|
||||
interface -> rbuf,
|
||||
@ -10,10 +10,10 @@ diff -up dhcp-4.2.0/common/bpf.c.xen dhcp-4.2.0/common/bpf.c
|
||||
|
||||
/* If the IP or UDP checksum was bad, skip the packet... */
|
||||
if (offset < 0) {
|
||||
diff -up dhcp-4.2.0/common/dlpi.c.xen dhcp-4.2.0/common/dlpi.c
|
||||
--- dhcp-4.2.0/common/dlpi.c.xen 2009-11-20 02:49:00.000000000 +0100
|
||||
+++ dhcp-4.2.0/common/dlpi.c 2010-07-21 13:51:24.000000000 +0200
|
||||
@@ -694,7 +694,7 @@ ssize_t receive_packet (interface, buf,
|
||||
diff -up dhcp-4.2.1-P1/common/dlpi.c.xen dhcp-4.2.1-P1/common/dlpi.c
|
||||
--- dhcp-4.2.1-P1/common/dlpi.c.xen 2011-02-18 20:16:04.000000000 +0100
|
||||
+++ dhcp-4.2.1-P1/common/dlpi.c 2011-06-17 13:33:18.398055078 +0200
|
||||
@@ -695,7 +695,7 @@ ssize_t receive_packet (interface, buf,
|
||||
length -= offset;
|
||||
#endif
|
||||
offset = decode_udp_ip_header (interface, dbuf, bufix,
|
||||
@ -22,9 +22,9 @@ diff -up dhcp-4.2.0/common/dlpi.c.xen dhcp-4.2.0/common/dlpi.c
|
||||
|
||||
/*
|
||||
* If the IP or UDP checksum was bad, skip the packet...
|
||||
diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
|
||||
--- dhcp-4.2.0/common/lpf.c.xen 2009-07-23 20:52:19.000000000 +0200
|
||||
+++ dhcp-4.2.0/common/lpf.c 2010-07-21 13:51:24.000000000 +0200
|
||||
diff -up dhcp-4.2.1-P1/common/lpf.c.xen dhcp-4.2.1-P1/common/lpf.c
|
||||
--- dhcp-4.2.1-P1/common/lpf.c.xen 2009-07-23 20:52:19.000000000 +0200
|
||||
+++ dhcp-4.2.1-P1/common/lpf.c 2011-06-17 13:37:31.611730430 +0200
|
||||
@@ -29,18 +29,33 @@
|
||||
#include "dhcpd.h"
|
||||
#if defined (USE_LPF_SEND) || defined (USE_LPF_RECEIVE)
|
||||
@ -76,12 +76,13 @@ diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
|
||||
htons((short)ETH_P_ALL))) < 0) {
|
||||
if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT ||
|
||||
errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT ||
|
||||
@@ -84,11 +103,16 @@ int if_register_lpf (info)
|
||||
@@ -84,11 +103,17 @@ int if_register_lpf (info)
|
||||
log_fatal ("Open a socket for LPF: %m");
|
||||
}
|
||||
|
||||
+ memset (&ifr, 0, sizeof ifr);
|
||||
+ strncpy (ifr.ifr_name, (const char *)info -> ifp, sizeof ifr.ifr_name);
|
||||
+ ifr.ifr_name[IFNAMSIZ-1] = '\0';
|
||||
+ if (ioctl (sock, SIOCGIFINDEX, &ifr))
|
||||
+ log_fatal ("Failed to get interface index: %m");
|
||||
+
|
||||
@ -96,7 +97,7 @@ diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
|
||||
if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT ||
|
||||
errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT ||
|
||||
errno == EAFNOSUPPORT || errno == EINVAL) {
|
||||
@@ -170,9 +194,18 @@ static void lpf_gen_filter_setup (struct
|
||||
@@ -170,9 +195,18 @@ static void lpf_gen_filter_setup (struct
|
||||
void if_register_receive (info)
|
||||
struct interface_info *info;
|
||||
{
|
||||
@ -115,7 +116,7 @@ diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
|
||||
#if defined (HAVE_TR_SUPPORT)
|
||||
if (info -> hw_address.hbuf [0] == HTYPE_IEEE802)
|
||||
lpf_tr_filter_setup (info);
|
||||
@@ -294,7 +327,6 @@ ssize_t send_packet (interface, packet,
|
||||
@@ -294,7 +328,6 @@ ssize_t send_packet (interface, packet,
|
||||
double hh [16];
|
||||
double ih [1536 / sizeof (double)];
|
||||
unsigned char *buf = (unsigned char *)ih;
|
||||
@ -123,7 +124,7 @@ diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
|
||||
int result;
|
||||
int fudge;
|
||||
|
||||
@@ -315,15 +347,7 @@ ssize_t send_packet (interface, packet,
|
||||
@@ -315,15 +348,7 @@ ssize_t send_packet (interface, packet,
|
||||
(unsigned char *)raw, len);
|
||||
memcpy (buf + ibufp, raw, len);
|
||||
|
||||
@ -140,7 +141,7 @@ diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
|
||||
if (result < 0)
|
||||
log_error ("send_packet: %m");
|
||||
return result;
|
||||
@@ -340,14 +364,35 @@ ssize_t receive_packet (interface, buf,
|
||||
@@ -340,14 +365,35 @@ ssize_t receive_packet (interface, buf,
|
||||
{
|
||||
int length = 0;
|
||||
int offset = 0;
|
||||
@ -177,7 +178,7 @@ diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
|
||||
bufix = 0;
|
||||
/* Decode the physical header... */
|
||||
offset = decode_hw_header (interface, ibuf, bufix, hfrom);
|
||||
@@ -364,7 +409,7 @@ ssize_t receive_packet (interface, buf,
|
||||
@@ -364,7 +410,7 @@ ssize_t receive_packet (interface, buf,
|
||||
|
||||
/* Decode the IP and UDP headers... */
|
||||
offset = decode_udp_ip_header (interface, ibuf, bufix, from,
|
||||
@ -186,9 +187,9 @@ diff -up dhcp-4.2.0/common/lpf.c.xen dhcp-4.2.0/common/lpf.c
|
||||
|
||||
/* If the IP or UDP checksum was bad, skip the packet... */
|
||||
if (offset < 0)
|
||||
diff -up dhcp-4.2.0/common/nit.c.xen dhcp-4.2.0/common/nit.c
|
||||
--- dhcp-4.2.0/common/nit.c.xen 2009-11-20 02:49:01.000000000 +0100
|
||||
+++ dhcp-4.2.0/common/nit.c 2010-07-21 13:51:24.000000000 +0200
|
||||
diff -up dhcp-4.2.1-P1/common/nit.c.xen dhcp-4.2.1-P1/common/nit.c
|
||||
--- dhcp-4.2.1-P1/common/nit.c.xen 2009-11-20 02:49:01.000000000 +0100
|
||||
+++ dhcp-4.2.1-P1/common/nit.c 2011-06-17 13:33:18.414054663 +0200
|
||||
@@ -369,7 +369,7 @@ ssize_t receive_packet (interface, buf,
|
||||
|
||||
/* Decode the IP and UDP headers... */
|
||||
@ -198,9 +199,9 @@ diff -up dhcp-4.2.0/common/nit.c.xen dhcp-4.2.0/common/nit.c
|
||||
|
||||
/* If the IP or UDP checksum was bad, skip the packet... */
|
||||
if (offset < 0)
|
||||
diff -up dhcp-4.2.0/common/packet.c.xen dhcp-4.2.0/common/packet.c
|
||||
--- dhcp-4.2.0/common/packet.c.xen 2009-07-23 20:52:20.000000000 +0200
|
||||
+++ dhcp-4.2.0/common/packet.c 2010-07-21 13:51:24.000000000 +0200
|
||||
diff -up dhcp-4.2.1-P1/common/packet.c.xen dhcp-4.2.1-P1/common/packet.c
|
||||
--- dhcp-4.2.1-P1/common/packet.c.xen 2009-07-23 20:52:20.000000000 +0200
|
||||
+++ dhcp-4.2.1-P1/common/packet.c 2011-06-17 13:33:18.414054663 +0200
|
||||
@@ -211,7 +211,7 @@ ssize_t
|
||||
decode_udp_ip_header(struct interface_info *interface,
|
||||
unsigned char *buf, unsigned bufix,
|
||||
@ -219,9 +220,9 @@ diff -up dhcp-4.2.0/common/packet.c.xen dhcp-4.2.0/common/packet.c
|
||||
udp_packets_bad_checksum++;
|
||||
if (udp_packets_seen > 4 &&
|
||||
(udp_packets_seen / udp_packets_bad_checksum) < 2) {
|
||||
diff -up dhcp-4.2.0/common/upf.c.xen dhcp-4.2.0/common/upf.c
|
||||
--- dhcp-4.2.0/common/upf.c.xen 2009-11-20 02:49:01.000000000 +0100
|
||||
+++ dhcp-4.2.0/common/upf.c 2010-07-21 13:51:24.000000000 +0200
|
||||
diff -up dhcp-4.2.1-P1/common/upf.c.xen dhcp-4.2.1-P1/common/upf.c
|
||||
--- dhcp-4.2.1-P1/common/upf.c.xen 2009-11-20 02:49:01.000000000 +0100
|
||||
+++ dhcp-4.2.1-P1/common/upf.c 2011-06-17 13:33:18.418054566 +0200
|
||||
@@ -320,7 +320,7 @@ ssize_t receive_packet (interface, buf,
|
||||
|
||||
/* Decode the IP and UDP headers... */
|
||||
@ -231,10 +232,10 @@ diff -up dhcp-4.2.0/common/upf.c.xen dhcp-4.2.0/common/upf.c
|
||||
|
||||
/* If the IP or UDP checksum was bad, skip the packet... */
|
||||
if (offset < 0)
|
||||
diff -up dhcp-4.2.0/includes/dhcpd.h.xen dhcp-4.2.0/includes/dhcpd.h
|
||||
--- dhcp-4.2.0/includes/dhcpd.h.xen 2010-07-21 13:38:31.000000000 +0200
|
||||
+++ dhcp-4.2.0/includes/dhcpd.h 2010-07-21 13:51:24.000000000 +0200
|
||||
@@ -2773,7 +2773,7 @@ ssize_t decode_hw_header PROTO ((struct
|
||||
diff -up dhcp-4.2.1-P1/includes/dhcpd.h.xen dhcp-4.2.1-P1/includes/dhcpd.h
|
||||
--- dhcp-4.2.1-P1/includes/dhcpd.h.xen 2011-06-17 13:33:18.382055486 +0200
|
||||
+++ dhcp-4.2.1-P1/includes/dhcpd.h 2011-06-17 13:33:18.420054516 +0200
|
||||
@@ -2776,7 +2776,7 @@ ssize_t decode_hw_header PROTO ((struct
|
||||
unsigned, struct hardware *));
|
||||
ssize_t decode_udp_ip_header PROTO ((struct interface_info *, unsigned char *,
|
||||
unsigned, struct sockaddr_in *,
|
27
dhcp.spec
27
dhcp.spec
@ -16,7 +16,7 @@
|
||||
Summary: Dynamic host configuration protocol software
|
||||
Name: dhcp
|
||||
Version: 4.2.1
|
||||
Release: 11.%{patchver}%{?dist}
|
||||
Release: 12.%{patchver}%{?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.
|
||||
@ -45,20 +45,19 @@ Patch3: dhcp-4.2.0-dhclient-decline-backoff.patch
|
||||
Patch4: dhcp-4.2.0-unicast-bootp.patch
|
||||
Patch6: dhcp-4.2.0-dhclient-usage.patch
|
||||
Patch7: dhcp-4.2.0-default-requested-options.patch
|
||||
Patch8: dhcp-4.2.0-xen-checksum.patch
|
||||
Patch8: dhcp-4.2.1-xen-checksum.patch
|
||||
Patch10: dhcp-4.2.1-manpages.patch
|
||||
Patch11: dhcp-4.2.0-paths.patch
|
||||
Patch12: dhcp-4.2.0-CLOEXEC.patch
|
||||
Patch13: dhcp-4.2.0-inherit-leases.patch
|
||||
Patch14: dhcp-4.2.0-garbage-chars.patch
|
||||
Patch15: dhcp-4.2.0-missing-ipv6-not-fatal.patch
|
||||
Patch16: dhcp-4.2.0-IFNAMSIZ.patch
|
||||
Patch17: dhcp-4.2.0-add_timeout_when_NULL.patch
|
||||
Patch18: dhcp-4.2.1-64_bit_lease_parse.patch
|
||||
Patch19: dhcp-4.2.1-capability.patch
|
||||
Patch20: dhcp-4.2.0-logpid.patch
|
||||
Patch21: dhcp-4.2.0-UseMulticast.patch
|
||||
Patch22: dhcp-4.2.0-sendDecline.patch
|
||||
Patch22: dhcp-4.2.1-sendDecline.patch
|
||||
Patch23: dhcp-4.2.1-retransmission.patch
|
||||
Patch24: dhcp-4.2.0-initialization-delay.patch
|
||||
Patch25: dhcp-4.2.0-rfc3442-classless-static-routes.patch
|
||||
@ -244,10 +243,6 @@ rm bind/bind.tar.gz
|
||||
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #19367])
|
||||
%patch15 -p1 -b .noipv6
|
||||
|
||||
# Read only up to IFNAMSIZ characters for the interface name in dhcpd (#441524)
|
||||
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #19617])
|
||||
%patch16 -p1 -b .ifnamsiz
|
||||
|
||||
# Handle cases in add_timeout() where the function is called with a NULL
|
||||
# value for the 'when' parameter
|
||||
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #19867])
|
||||
@ -393,17 +388,17 @@ CFLAGS="%{optflags} -fno-strict-aliasing -D_GNU_SOURCE" \
|
||||
%{__mv} %{buildroot}%{_sbindir}/dhclient %{buildroot}/sbin/dhclient
|
||||
%{__install} -p -m 0755 client/scripts/linux %{buildroot}/sbin/dhclient-script
|
||||
|
||||
# Install init scripts
|
||||
# Install legacy SysV initscripts
|
||||
%{__mkdir} -p %{buildroot}%{_initddir}
|
||||
%{__install} -p -m 0755 %{SOURCE1} %{buildroot}%{_initddir}/dhcpd
|
||||
%{__install} -p -m 0755 %{SOURCE2} %{buildroot}%{_initddir}/dhcpd6
|
||||
%{__install} -p -m 0755 %{SOURCE3} %{buildroot}%{_initddir}/dhcrelay
|
||||
|
||||
# install systemd initscripts
|
||||
mkdir -p %{buildroot}/lib/systemd/system/
|
||||
install -m 644 %{SOURCE9} %{buildroot}/lib/systemd/system/dhcpd.service
|
||||
install -m 644 %{SOURCE10} %{buildroot}/lib/systemd/system/dhcpd6.service
|
||||
install -m 644 %{SOURCE11} %{buildroot}/lib/systemd/system/dhcrelay.service
|
||||
# Install systemd unit files
|
||||
mkdir -p %{buildroot}%{_unitdir}
|
||||
install -m 644 %{SOURCE9} %{buildroot}%{_unitdir}
|
||||
install -m 644 %{SOURCE10} %{buildroot}%{_unitdir}
|
||||
install -m 644 %{SOURCE11} %{buildroot}%{_unitdir}
|
||||
|
||||
# Start empty lease databases
|
||||
%{__mkdir} -p %{buildroot}%{_localstatedir}/lib/dhcpd/
|
||||
@ -656,6 +651,10 @@ fi
|
||||
%{_initddir}/dhcrelay
|
||||
|
||||
%changelog
|
||||
* Fri Jun 17 2011 Jiri Popelka <jpopelka@redhat.com> - 12:4.2.1-12.P1
|
||||
- Removed upstream-merged IFNAMSIZ.patch
|
||||
- Polished patches according to results from static analysis of code.
|
||||
|
||||
* Thu Jun 16 2011 Jiri Popelka <jpopelka@redhat.com> - 12:4.2.1-11.P1
|
||||
- Add triggerpostun scriptlet tied to dhcp-sysvinit
|
||||
- Make it possible to build without downstream patches (Kamil Dudka)
|
||||
|
Loading…
Reference in New Issue
Block a user