- Fix dhclient.lease file parsing problems (#428785)
- Disable IPv6 support for now as we already ship dhcpv6 (#428987)
This commit is contained in:
parent
95192934fb
commit
a58f607ec1
@ -1,29 +0,0 @@
|
||||
diff -up dhcp-4.0.0/common/discover.c.fp dhcp-4.0.0/common/discover.c
|
||||
--- dhcp-4.0.0/common/discover.c.fp 2008-01-15 10:25:45.000000000 -1000
|
||||
+++ dhcp-4.0.0/common/discover.c 2008-01-15 10:27:08.000000000 -1000
|
||||
@@ -461,6 +461,12 @@ next_iface4(struct iface_info *info, int
|
||||
char *name;
|
||||
struct ifreq tmp;
|
||||
|
||||
+ if (!ifaces->fp) {
|
||||
+ log_error("Error reading interface information");
|
||||
+ *err = 1;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* Loop exits when we find an interface that has an address, or
|
||||
* when we run out of interfaces.
|
||||
@@ -587,6 +593,12 @@ next_iface6(struct iface_info *info, int
|
||||
struct sockaddr_in6 addr;
|
||||
struct ifreq tmp;
|
||||
|
||||
+ if (!ifaces->fp6) {
|
||||
+ log_error("Error reading interface information");
|
||||
+ *err = 1;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
do {
|
||||
/*
|
||||
* Read the next line in the file.
|
18
dhcp-4.0.0-parser.patch
Normal file
18
dhcp-4.0.0-parser.patch
Normal file
@ -0,0 +1,18 @@
|
||||
diff -up dhcp-4.0.0/common/conflex.c.parse dhcp-4.0.0/common/conflex.c
|
||||
--- dhcp-4.0.0/common/conflex.c.parse 2008-01-16 15:26:09.000000000 -1000
|
||||
+++ dhcp-4.0.0/common/conflex.c 2008-01-16 16:02:48.000000000 -1000
|
||||
@@ -182,8 +182,12 @@ static int get_char (cfile)
|
||||
c = EOF;
|
||||
}
|
||||
} else {
|
||||
- c = cfile->inbuf [cfile->bufix];
|
||||
- cfile->bufix++;
|
||||
+ if (strlen(cfile->inbuf) >= (cfile->bufix + 1)) {
|
||||
+ c = EOF;
|
||||
+ } else {
|
||||
+ c = cfile->inbuf [cfile->bufix];
|
||||
+ cfile->bufix++;
|
||||
+ }
|
||||
}
|
||||
|
||||
if (!cfile->ugflag) {
|
12
dhcp.spec
12
dhcp.spec
@ -4,7 +4,7 @@
|
||||
Summary: DHCP (Dynamic Host Configuration Protocol) server and relay agent
|
||||
Name: dhcp
|
||||
Version: 4.0.0
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
# NEVER CHANGE THE EPOCH on this package. The previous maintainer made
|
||||
# incorrect use of the epoch and that's why it is at 12 now. It should have
|
||||
# never been used, but it was. So we are stuck with it.
|
||||
@ -42,7 +42,7 @@ Patch13: %{name}-4.0.0-dhclient-anycast.patch
|
||||
Patch14: %{name}-4.0.0-manpages.patch
|
||||
Patch15: %{name}-4.0.0-paths.patch
|
||||
Patch16: %{name}-4.0.0-libdhcp4client.patch
|
||||
Patch17: %{name}-4.0.0-discover-file-handle.patch
|
||||
Patch17: %{name}-4.0.0-parser.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
BuildRequires: autoconf
|
||||
@ -189,7 +189,7 @@ client library.
|
||||
# Add the libdhcp4client target (library version of dhclient)
|
||||
%patch16 -p1
|
||||
|
||||
# Check file handle passed to fgets() in common/discover.c
|
||||
# Fix parsing errors
|
||||
%patch17 -p1
|
||||
|
||||
# Copy in documentation and example scripts for LDAP patch to dhcpd
|
||||
@ -235,7 +235,7 @@ automake --foreign --add-missing --copy
|
||||
%build
|
||||
CFLAGS="%{optflags} -fPIC" \
|
||||
%configure \
|
||||
--enable-dhcpv6 \
|
||||
--disable-dhcpv6 \
|
||||
--with-srv-lease-file=%{_localstatedir}/lib/dhcpd/dhcpd.leases \
|
||||
--with-cli-lease-file=%{_localstatedir}/lib/dhclient/dhclient.leases \
|
||||
--with-srv-pid-file=%{_localstatedir}/run/dhcpd.pid \
|
||||
@ -404,6 +404,10 @@ fi
|
||||
%{_libdir}/libdhcp4client.so
|
||||
|
||||
%changelog
|
||||
* Wed Jan 16 2008 David Cantrell <dcantrell@redhat.com> - 12:4.0.0-4
|
||||
- Fix dhclient.lease file parsing problems (#428785)
|
||||
- Disable IPv6 support for now as we already ship dhcpv6 (#428987)
|
||||
|
||||
* Tue Jan 15 2008 David Cantrell <dcantrell@redhat.com> - 12:4.0.0-3
|
||||
- Fix segfault in next_iface4() and next_iface6() (#428870)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user