mirror of
https://abf.rosa.ru/djam/dhcp.git
synced 2025-02-23 13:32:48 +00:00
Updated to 4.3.0
This commit is contained in:
parent
cd8dddd107
commit
aa9b69be57
15 changed files with 587 additions and 483 deletions
5
.abf.yml
5
.abf.yml
|
@ -1,6 +1,9 @@
|
||||||
|
removed_sources:
|
||||||
|
dhcp-4.2.5.tar.gz: d029505509aee83ea28972d5d1c95dc4b5db99f1
|
||||||
sources:
|
sources:
|
||||||
dhcp-4.2.5-P1.tar.gz: 120b6e476b2ac0d35e1dc8dee53752c42449b925
|
dhcp-4.2.5-P1.tar.gz: 120b6e476b2ac0d35e1dc8dee53752c42449b925
|
||||||
dhcp-4.2.5-P1.tar.gz.sha512.asc: d43248ba82d8a2f393f2f6c283ea06fb2df38d18
|
dhcp-4.2.5-P1.tar.gz.sha512.asc: d43248ba82d8a2f393f2f6c283ea06fb2df38d18
|
||||||
dhcp-4.2.5.tar.gz: d029505509aee83ea28972d5d1c95dc4b5db99f1
|
|
||||||
dhcp-4.2.5.tar.gz.sha512.asc: ac49b30ef17acb36cc5603faa5d780e423aa0e06
|
dhcp-4.2.5.tar.gz.sha512.asc: ac49b30ef17acb36cc5603faa5d780e423aa0e06
|
||||||
|
dhcp-4.3.0.tar.gz: deed72a4636461042b74de68c2825dc52623e1d1
|
||||||
|
dhcp-4.3.0.tar.gz.sha512.asc: e05375f86430f0d92a371fe8f619aa73e65de19a
|
||||||
dhcp-dynamic-dns-examples.tar.bz2: d33980aad3e0380fc89f8346ab37786d39157696
|
dhcp-dynamic-dns-examples.tar.bz2: d33980aad3e0380fc89f8346ab37786d39157696
|
||||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1 +0,0 @@
|
||||||
dhcp-*.tar.*
|
|
44
dhcp-4.2.0-default-requested-options.patch
Normal file
44
dhcp-4.2.0-default-requested-options.patch
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
diff -up dhcp-4.2.0/client/clparse.c.requested dhcp-4.2.0/client/clparse.c
|
||||||
|
--- dhcp-4.2.0/client/clparse.c.requested 2010-07-21 13:29:05.000000000 +0200
|
||||||
|
+++ dhcp-4.2.0/client/clparse.c 2010-07-21 13:50:29.000000000 +0200
|
||||||
|
@@ -37,7 +37,7 @@
|
||||||
|
|
||||||
|
struct client_config top_level_config;
|
||||||
|
|
||||||
|
-#define NUM_DEFAULT_REQUESTED_OPTS 9
|
||||||
|
+#define NUM_DEFAULT_REQUESTED_OPTS 14
|
||||||
|
struct option *default_requested_options[NUM_DEFAULT_REQUESTED_OPTS + 1];
|
||||||
|
|
||||||
|
static void parse_client_default_duid(struct parse *cfile);
|
||||||
|
@@ -111,6 +111,31 @@ isc_result_t read_client_conf ()
|
||||||
|
option_code_hash_lookup(&default_requested_options[8],
|
||||||
|
dhcpv6_universe.code_hash, &code, 0, MDL);
|
||||||
|
|
||||||
|
+ /* 10 */
|
||||||
|
+ code = DHO_NIS_DOMAIN;
|
||||||
|
+ option_code_hash_lookup(&default_requested_options[9],
|
||||||
|
+ dhcp_universe.code_hash, &code, 0, MDL);
|
||||||
|
+
|
||||||
|
+ /* 11 */
|
||||||
|
+ code = DHO_NIS_SERVERS;
|
||||||
|
+ option_code_hash_lookup(&default_requested_options[10],
|
||||||
|
+ dhcp_universe.code_hash, &code, 0, MDL);
|
||||||
|
+
|
||||||
|
+ /* 12 */
|
||||||
|
+ code = DHO_NTP_SERVERS;
|
||||||
|
+ option_code_hash_lookup(&default_requested_options[11],
|
||||||
|
+ dhcp_universe.code_hash, &code, 0, MDL);
|
||||||
|
+
|
||||||
|
+ /* 13 */
|
||||||
|
+ code = DHO_INTERFACE_MTU;
|
||||||
|
+ option_code_hash_lookup(&default_requested_options[12],
|
||||||
|
+ dhcp_universe.code_hash, &code, 0, MDL);
|
||||||
|
+
|
||||||
|
+ /* 14 */
|
||||||
|
+ code = DHO_DOMAIN_SEARCH;
|
||||||
|
+ option_code_hash_lookup(&default_requested_options[13],
|
||||||
|
+ dhcp_universe.code_hash, &code, 0, MDL);
|
||||||
|
+
|
||||||
|
for (code = 0 ; code < NUM_DEFAULT_REQUESTED_OPTS ; code++) {
|
||||||
|
if (default_requested_options[code] == NULL)
|
||||||
|
log_fatal("Unable to find option definition for "
|
|
@ -40,9 +40,9 @@ diff -Naur -x '*.orig' dhcp-4.2.2/relay/dhcrelay.c dhcp-4.2.2-fix-format-errors/
|
||||||
+ log_info("%s", copyright);
|
+ log_info("%s", copyright);
|
||||||
+ log_info("%s", arr);
|
+ log_info("%s", arr);
|
||||||
+ log_info("%s", url);
|
+ log_info("%s", url);
|
||||||
} else {
|
} else
|
||||||
quiet = 0;
|
|
||||||
log_perror = 0;
|
log_perror = 0;
|
||||||
|
|
||||||
diff -Naur -x '*.orig' dhcp-4.2.2/server/dhcpd.c dhcp-4.2.2-fix-format-errors/server/dhcpd.c
|
diff -Naur -x '*.orig' dhcp-4.2.2/server/dhcpd.c dhcp-4.2.2-fix-format-errors/server/dhcpd.c
|
||||||
--- dhcp-4.2.2/server/dhcpd.c 2011-04-21 16:08:15.000000000 +0200
|
--- dhcp-4.2.2/server/dhcpd.c 2011-04-21 16:08:15.000000000 +0200
|
||||||
+++ dhcp-4.2.2-fix-format-errors/server/dhcpd.c 2011-08-29 19:08:55.563183419 +0200
|
+++ dhcp-4.2.2-fix-format-errors/server/dhcpd.c 2011-08-29 19:08:55.563183419 +0200
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
diff -up dhcp-4.2.2b1/common/bpf.c.xen dhcp-4.2.2b1/common/bpf.c
|
diff -up dhcp-4.2.2b1/common/bpf.c.xen dhcp-4.2.2b1/common/bpf.c
|
||||||
--- dhcp-4.2.2b1/common/bpf.c.xen 2009-11-20 02:48:59.000000000 +0100
|
--- dhcp-4.2.2b1/common/bpf.c.xen 2009-11-20 02:48:59.000000000 +0100
|
||||||
+++ dhcp-4.2.2b1/common/bpf.c 2011-07-01 14:00:16.936959001 +0200
|
+++ dhcp-4.2.2b1/common/bpf.c 2011-07-01 14:00:16.936959001 +0200
|
||||||
@@ -485,7 +485,7 @@ ssize_t receive_packet (interface, buf,
|
@@ -481,7 +481,7 @@
|
||||||
offset = decode_udp_ip_header (interface,
|
/* Decode the IP and UDP headers... */
|
||||||
interface -> rbuf,
|
offset = decode_udp_ip_header(interface, interface->rbuf,
|
||||||
interface->rbuf_offset,
|
interface->rbuf_offset,
|
||||||
- from, hdr.bh_caplen, &paylen);
|
- from, hdr.bh_caplen, &paylen);
|
||||||
+ from, hdr.bh_caplen, &paylen, 0);
|
+ from, hdr.bh_caplen, &paylen, 0);
|
||||||
|
@ -25,10 +25,10 @@ diff -up dhcp-4.2.2b1/common/dlpi.c.xen dhcp-4.2.2b1/common/dlpi.c
|
||||||
diff -up dhcp-4.2.2b1/common/lpf.c.xen dhcp-4.2.2b1/common/lpf.c
|
diff -up dhcp-4.2.2b1/common/lpf.c.xen dhcp-4.2.2b1/common/lpf.c
|
||||||
--- dhcp-4.2.2b1/common/lpf.c.xen 2011-05-10 16:38:58.000000000 +0200
|
--- dhcp-4.2.2b1/common/lpf.c.xen 2011-05-10 16:38:58.000000000 +0200
|
||||||
+++ dhcp-4.2.2b1/common/lpf.c 2011-07-01 14:11:24.725748028 +0200
|
+++ dhcp-4.2.2b1/common/lpf.c 2011-07-01 14:11:24.725748028 +0200
|
||||||
@@ -29,19 +29,33 @@
|
@@ -29,24 +29,38 @@
|
||||||
|
|
||||||
#include "dhcpd.h"
|
#include "dhcpd.h"
|
||||||
#if defined (USE_LPF_SEND) || defined (USE_LPF_RECEIVE)
|
#if defined (USE_LPF_SEND) || defined (USE_LPF_RECEIVE)
|
||||||
#include <sys/ioctl.h>
|
|
||||||
+#include <sys/socket.h>
|
+#include <sys/socket.h>
|
||||||
#include <sys/uio.h>
|
#include <sys/uio.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
@ -42,7 +42,12 @@ diff -up dhcp-4.2.2b1/common/lpf.c.xen dhcp-4.2.2b1/common/lpf.c
|
||||||
#include "includes/netinet/ip.h"
|
#include "includes/netinet/ip.h"
|
||||||
#include "includes/netinet/udp.h"
|
#include "includes/netinet/udp.h"
|
||||||
#include "includes/netinet/if_ether.h"
|
#include "includes/netinet/if_ether.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (USE_LPF_RECEIVE) || defined (USE_LPF_HWADDR)
|
||||||
|
#include <sys/ioctl.h>
|
||||||
#include <net/if.h>
|
#include <net/if.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
+#ifndef PACKET_AUXDATA
|
+#ifndef PACKET_AUXDATA
|
||||||
+#define PACKET_AUXDATA 8
|
+#define PACKET_AUXDATA 8
|
||||||
|
@ -57,9 +62,9 @@ diff -up dhcp-4.2.2b1/common/lpf.c.xen dhcp-4.2.2b1/common/lpf.c
|
||||||
+};
|
+};
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
|
#if defined (USE_LPF_SEND) || defined (USE_LPF_RECEIVE)
|
||||||
/* Reinitializes the specified interface after an address change. This
|
/* Reinitializes the specified interface after an address change. This
|
||||||
is not required for packet-filter APIs. */
|
is not required for packet-filter APIs. */
|
||||||
|
|
||||||
@@ -67,10 +81,14 @@ int if_register_lpf (info)
|
@@ -67,10 +81,14 @@ int if_register_lpf (info)
|
||||||
struct interface_info *info;
|
struct interface_info *info;
|
||||||
{
|
{
|
||||||
|
|
22
dhcp-4.2.5-P1-man.patch
Normal file
22
dhcp-4.2.5-P1-man.patch
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
diff -Naur dhcp-4.2.5-P1/client/dhclient.conf.5 dhcp-4.2.5-P1.oden/client/dhclient.conf.5
|
||||||
|
--- dhcp-4.2.5-P1/client/dhclient.conf.5 2013-03-05 19:26:51.000000000 +0100
|
||||||
|
+++ dhcp-4.2.5-P1.oden/client/dhclient.conf.5 2013-03-28 11:55:37.131387053 +0100
|
||||||
|
@@ -202,7 +202,8 @@
|
||||||
|
options. Only the option names should be specified in the request
|
||||||
|
statement - not option parameters. By default, the DHCPv4 client
|
||||||
|
requests the subnet-mask, broadcast-address, time-offset, routers,
|
||||||
|
-domain-name, domain-name-servers and host-name options while the DHCPv6
|
||||||
|
+domain-search, domain-name, domain-name-servers, host-name, nis-domain,
|
||||||
|
+nis-servers, ntp-servers and interface-mtu options while the DHCPv6
|
||||||
|
client requests the dhcp6 name-servers and domain-search options. Note
|
||||||
|
that if you enter a \'request\' statement, you over-ride these defaults
|
||||||
|
and these options will not be requested.
|
||||||
|
@@ -713,7 +714,7 @@
|
||||||
|
supersede domain-search "fugue.com", "rc.vix.com", "home.vix.com";
|
||||||
|
prepend domain-name-servers 127.0.0.1;
|
||||||
|
request subnet-mask, broadcast-address, time-offset, routers,
|
||||||
|
- domain-name, domain-name-servers, host-name;
|
||||||
|
+ domain-search, domain-name, domain-name-servers, host-name;
|
||||||
|
require subnet-mask, domain-name-servers;
|
||||||
|
script "CLIENTBINDIR/dhclient-script";
|
||||||
|
media "media 10baseT/UTP", "media 10base2/BNC";
|
|
@ -1,7 +1,6 @@
|
||||||
diff -up dhcp-4.2.4b1/common/parse.c.64-bit_lease_parse dhcp-4.2.4b1/common/parse.c
|
--- dhcp-4.3.0/common/parse.c.64-bit_lease_parse 2014-01-31 14:20:49.000000000 -0500
|
||||||
--- dhcp-4.2.4b1/common/parse.c.64-bit_lease_parse 2012-03-09 12:28:10.000000000 +0100
|
+++ dhcp-4.3.0/common/parse.c 2014-06-15 11:48:48.559669323 -0400
|
||||||
+++ dhcp-4.2.4b1/common/parse.c 2012-04-16 17:30:55.867045149 +0200
|
@@ -932,8 +932,8 @@ TIME
|
||||||
@@ -906,8 +906,8 @@ TIME
|
|
||||||
parse_date_core(cfile)
|
parse_date_core(cfile)
|
||||||
struct parse *cfile;
|
struct parse *cfile;
|
||||||
{
|
{
|
||||||
|
@ -12,16 +11,16 @@ diff -up dhcp-4.2.4b1/common/parse.c.64-bit_lease_parse dhcp-4.2.4b1/common/pars
|
||||||
const char *val;
|
const char *val;
|
||||||
enum dhcp_token token;
|
enum dhcp_token token;
|
||||||
static int months[11] = { 31, 59, 90, 120, 151, 181,
|
static int months[11] = { 31, 59, 90, 120, 151, 181,
|
||||||
@@ -933,7 +933,7 @@ parse_date_core(cfile)
|
@@ -959,7 +959,7 @@ parse_date_core(cfile)
|
||||||
}
|
}
|
||||||
|
|
||||||
token = next_token(&val, NULL, cfile); /* consume number */
|
skip_token(&val, NULL, cfile); /* consume number */
|
||||||
- guess = atoi(val);
|
- guess = atoi(val);
|
||||||
+ guess = atol(val);
|
+ guess = atol(val);
|
||||||
|
|
||||||
return((TIME)guess);
|
return((TIME)guess);
|
||||||
}
|
}
|
||||||
@@ -961,7 +961,7 @@ parse_date_core(cfile)
|
@@ -987,7 +987,7 @@ parse_date_core(cfile)
|
||||||
somebody invents a time machine, I think we can safely disregard
|
somebody invents a time machine, I think we can safely disregard
|
||||||
it. This actually works around a stupid Y2K bug that was present
|
it. This actually works around a stupid Y2K bug that was present
|
||||||
in a very early beta release of dhcpd. */
|
in a very early beta release of dhcpd. */
|
||||||
|
@ -30,55 +29,55 @@ diff -up dhcp-4.2.4b1/common/parse.c.64-bit_lease_parse dhcp-4.2.4b1/common/pars
|
||||||
if (year > 1900)
|
if (year > 1900)
|
||||||
year -= 1900;
|
year -= 1900;
|
||||||
|
|
||||||
@@ -985,7 +985,7 @@ parse_date_core(cfile)
|
@@ -1011,7 +1011,7 @@ parse_date_core(cfile)
|
||||||
return((TIME)0);
|
return((TIME)0);
|
||||||
}
|
}
|
||||||
token = next_token(&val, NULL, cfile); /* consume month */
|
skip_token(&val, NULL, cfile); /* consume month */
|
||||||
- mon = atoi(val) - 1;
|
- mon = atoi(val) - 1;
|
||||||
+ mon = atol(val) - 1;
|
+ mon = atol(val) - 1;
|
||||||
|
|
||||||
/* Slash separating month from day... */
|
/* Slash separating month from day... */
|
||||||
token = peek_token(&val, NULL, cfile);
|
token = peek_token(&val, NULL, cfile);
|
||||||
@@ -1007,7 +1007,7 @@ parse_date_core(cfile)
|
@@ -1033,7 +1033,7 @@ parse_date_core(cfile)
|
||||||
return((TIME)0);
|
return((TIME)0);
|
||||||
}
|
}
|
||||||
token = next_token(&val, NULL, cfile); /* consume day of month */
|
skip_token(&val, NULL, cfile); /* consume day of month */
|
||||||
- mday = atoi(val);
|
- mday = atoi(val);
|
||||||
+ mday = atol(val);
|
+ mday = atol(val);
|
||||||
|
|
||||||
/* Hour... */
|
/* Hour... */
|
||||||
token = peek_token(&val, NULL, cfile);
|
token = peek_token(&val, NULL, cfile);
|
||||||
@@ -1018,7 +1018,7 @@ parse_date_core(cfile)
|
@@ -1044,7 +1044,7 @@ parse_date_core(cfile)
|
||||||
return((TIME)0);
|
return((TIME)0);
|
||||||
}
|
}
|
||||||
token = next_token(&val, NULL, cfile); /* consume hour */
|
skip_token(&val, NULL, cfile); /* consume hour */
|
||||||
- hour = atoi(val);
|
- hour = atoi(val);
|
||||||
+ hour = atol(val);
|
+ hour = atol(val);
|
||||||
|
|
||||||
/* Colon separating hour from minute... */
|
/* Colon separating hour from minute... */
|
||||||
token = peek_token(&val, NULL, cfile);
|
token = peek_token(&val, NULL, cfile);
|
||||||
@@ -1040,7 +1040,7 @@ parse_date_core(cfile)
|
@@ -1066,7 +1066,7 @@ parse_date_core(cfile)
|
||||||
return((TIME)0);
|
return((TIME)0);
|
||||||
}
|
}
|
||||||
token = next_token(&val, NULL, cfile); /* consume minute */
|
skip_token(&val, NULL, cfile); /* consume minute */
|
||||||
- min = atoi(val);
|
- min = atoi(val);
|
||||||
+ min = atol(val);
|
+ min = atol(val);
|
||||||
|
|
||||||
/* Colon separating minute from second... */
|
/* Colon separating minute from second... */
|
||||||
token = peek_token(&val, NULL, cfile);
|
token = peek_token(&val, NULL, cfile);
|
||||||
@@ -1062,13 +1062,13 @@ parse_date_core(cfile)
|
@@ -1088,13 +1088,13 @@ parse_date_core(cfile)
|
||||||
return((TIME)0);
|
return((TIME)0);
|
||||||
}
|
}
|
||||||
token = next_token(&val, NULL, cfile); /* consume second */
|
skip_token(&val, NULL, cfile); /* consume second */
|
||||||
- sec = atoi(val);
|
- sec = atoi(val);
|
||||||
+ sec = atol(val);
|
+ sec = atol(val);
|
||||||
|
|
||||||
tzoff = 0;
|
tzoff = 0;
|
||||||
token = peek_token(&val, NULL, cfile);
|
token = peek_token(&val, NULL, cfile);
|
||||||
if (token == NUMBER) {
|
if (token == NUMBER) {
|
||||||
token = next_token(&val, NULL, cfile); /* consume tzoff */
|
skip_token(&val, NULL, cfile); /* consume tzoff */
|
||||||
- tzoff = atoi(val);
|
- tzoff = atoi(val);
|
||||||
+ tzoff = atol(val);
|
+ tzoff = atol(val);
|
||||||
} else if (token != SEMI) {
|
} else if (token != SEMI) {
|
||||||
token = next_token(&val, NULL, cfile);
|
skip_token(&val, NULL, cfile);
|
||||||
parse_warn(cfile,
|
parse_warn(cfile,
|
199
dhcp.spec
199
dhcp.spec
|
@ -1,15 +1,16 @@
|
||||||
%define plevel P1
|
%define major_version 4.3.0
|
||||||
|
%define patch_version %{nil}
|
||||||
|
|
||||||
Summary: The ISC DHCP (Dynamic Host Configuration Protocol) server/relay agent/client
|
|
||||||
Name: dhcp
|
Name: dhcp
|
||||||
Epoch: 3
|
Epoch: 3
|
||||||
Version: 4.2.5
|
Version: %{major_version}%{patch_version}
|
||||||
Release: 0.%{?plevel:%{plevel}}.5
|
Release: 1
|
||||||
|
Summary: The ISC DHCP (Dynamic Host Configuration Protocol) server/relay agent/client
|
||||||
License: Distributable
|
License: Distributable
|
||||||
Group: System/Servers
|
Group: System/Servers
|
||||||
Url: http://www.isc.org/software/dhcp
|
URL: http://www.isc.org/software/dhcp
|
||||||
Source0: ftp://ftp.isc.org/isc/%{name}/%{version}-%{?plevel:%{plevel}}/%{name}-%{version}%{?plevel:-%{plevel}}.tar.gz
|
Source0: ftp://ftp.isc.org/isc/%{name}/%{major_version}%{patch_version}/%{name}-%{major_version}%{patch_version}.tar.gz
|
||||||
Source1: ftp://ftp.isc.org/isc/%{name}/%{version}-%{?plevel:%{plevel}}/%{name}-%{version}%{?plevel:-%{plevel}}.tar.gz.sha512.asc
|
Source1: ftp://ftp.isc.org/isc/%{name}/%{major_version}%{patch_version}/%{name}-%{major_version}%{patch_version}.tar.gz.sha512.asc
|
||||||
Source2: dhcpd.conf
|
Source2: dhcpd.conf
|
||||||
Source4: dhcp-dynamic-dns-examples.tar.bz2
|
Source4: dhcp-dynamic-dns-examples.tar.bz2
|
||||||
Source7: dhcpreport.pl
|
Source7: dhcpreport.pl
|
||||||
|
@ -17,11 +18,8 @@ Source8: dhcpd-chroot.sh
|
||||||
# (eugeni) dhclient-exit-hooks script
|
# (eugeni) dhclient-exit-hooks script
|
||||||
Source9: dhclient-exit-hooks
|
Source9: dhclient-exit-hooks
|
||||||
Source10: draft-ietf-dhc-ldap-schema-01.txt
|
Source10: draft-ietf-dhc-ldap-schema-01.txt
|
||||||
Source11: dhcpd.init
|
|
||||||
Source12: dhcpd.service
|
Source12: dhcpd.service
|
||||||
Source13: dhcpd6.init
|
|
||||||
Source14: dhcpd6.service
|
Source14: dhcpd6.service
|
||||||
Source15: dhcrelay.init
|
|
||||||
Source16: dhcrelay.service
|
Source16: dhcrelay.service
|
||||||
Source17: dhcpd.tmpfiles
|
Source17: dhcpd.tmpfiles
|
||||||
Source18: dhclient.tmpfiles
|
Source18: dhclient.tmpfiles
|
||||||
|
@ -31,23 +29,20 @@ Patch100: dhcp-4.2.2-ifup.patch
|
||||||
Patch101: dhcp-4.2.2-fix-format-errors.patch
|
Patch101: dhcp-4.2.2-fix-format-errors.patch
|
||||||
# prevents needless deassociation, working around mdv bug #43441
|
# prevents needless deassociation, working around mdv bug #43441
|
||||||
Patch102: dhcp-4.1.1-prevent_wireless_deassociation.patch
|
Patch102: dhcp-4.1.1-prevent_wireless_deassociation.patch
|
||||||
|
Patch103: dhcp-4.2.5-P1-man.patch
|
||||||
# fedora patches
|
# fedora patches
|
||||||
# Handle Xen partial UDP checksums
|
Patch7: dhcp-4.2.0-default-requested-options.patch
|
||||||
Patch8: dhcp-4.2.2-xen-checksum.patch
|
Patch8: dhcp-4.2.2-xen-checksum.patch
|
||||||
# If the ipv6 kernel module is missing, do not segfault
|
|
||||||
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #19367])
|
|
||||||
Patch15: dhcp-4.2.2-missing-ipv6-not-fatal.patch
|
Patch15: dhcp-4.2.2-missing-ipv6-not-fatal.patch
|
||||||
# Handle cases in add_timeout() where the function is called with a NULL
|
|
||||||
# value for the 'when' parameter
|
|
||||||
Patch17: dhcp-4.2.0-add_timeout_when_NULL.patch
|
Patch17: dhcp-4.2.0-add_timeout_when_NULL.patch
|
||||||
# Ensure 64-bit platforms parse lease file dates & times correctly
|
Patch18: dhcp-4.3.0-64_bit_lease_parse.patch
|
||||||
Patch18: dhcp-4.2.4-64_bit_lease_parse.patch
|
|
||||||
|
|
||||||
BuildRequires: libtool
|
|
||||||
BuildRequires: groff-base
|
|
||||||
BuildRequires: systemd-units
|
|
||||||
BuildRequires: bind-devel
|
BuildRequires: bind-devel
|
||||||
|
BuildRequires: groff-base
|
||||||
|
BuildRequires: groff-for-man
|
||||||
|
BuildRequires: libtool
|
||||||
BuildRequires: openldap-devel
|
BuildRequires: openldap-devel
|
||||||
|
BuildRequires: systemd-units
|
||||||
|
Requires(post,preun): rpm-helper
|
||||||
|
|
||||||
%description
|
%description
|
||||||
DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
|
DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
|
||||||
|
@ -96,9 +91,9 @@ DHCP server and a DHCP relay agent.
|
||||||
%package server
|
%package server
|
||||||
Summary: The ISC DHCP (Dynamic Host Configuration Protocol) server
|
Summary: The ISC DHCP (Dynamic Host Configuration Protocol) server
|
||||||
Group: System/Servers
|
Group: System/Servers
|
||||||
Requires: dhcp-common >= %{EVRD}
|
Requires: dhcp-common = %{EVRD}
|
||||||
|
Requires(post): systemd-units
|
||||||
Requires(post,preun): rpm-helper
|
Requires(post,preun): rpm-helper
|
||||||
Requires(post,postun): systemd-units
|
|
||||||
|
|
||||||
%description server
|
%description server
|
||||||
DHCP server is the Internet Software Consortium (ISC) DHCP server for various
|
DHCP server is the Internet Software Consortium (ISC) DHCP server for various
|
||||||
|
@ -111,8 +106,8 @@ network. You will also need to install the base dhcp package.
|
||||||
%package client
|
%package client
|
||||||
Summary: The ISC DHCP (Dynamic Host Configuration Protocol) client
|
Summary: The ISC DHCP (Dynamic Host Configuration Protocol) client
|
||||||
Group: System/Servers
|
Group: System/Servers
|
||||||
Requires: dhcp-common >= %{EVRD}
|
Requires: dhcp-common = %{EVRD}
|
||||||
Provides: dhcp-client-daemon
|
Requires(post): systemd-units
|
||||||
|
|
||||||
%description client
|
%description client
|
||||||
DHCP client is the Internet Software Consortium (ISC) DHCP client for various
|
DHCP client is the Internet Software Consortium (ISC) DHCP client for various
|
||||||
|
@ -126,7 +121,8 @@ install the base dhcp package.
|
||||||
%package relay
|
%package relay
|
||||||
Summary: The ISC DHCP (Dynamic Host Configuration Protocol) relay
|
Summary: The ISC DHCP (Dynamic Host Configuration Protocol) relay
|
||||||
Group: System/Servers
|
Group: System/Servers
|
||||||
Requires: dhcp-common >= %{EVRD}
|
Requires: dhcp-common = %{EVRD}
|
||||||
|
Requires(post): systemd-units
|
||||||
Requires(post,preun): rpm-helper
|
Requires(post,preun): rpm-helper
|
||||||
|
|
||||||
%description relay
|
%description relay
|
||||||
|
@ -135,27 +131,40 @@ packets. It is used on a subnet with DHCP clients to "relay" their requests
|
||||||
to a subnet that has a DHCP server on it. Because DHCP packets can be
|
to a subnet that has a DHCP server on it. Because DHCP packets can be
|
||||||
broadcast, they will not be routed off of the local subnet. The DHCP relay
|
broadcast, they will not be routed off of the local subnet. The DHCP relay
|
||||||
takes care of this for the client. You will need to set the environment
|
takes care of this for the client. You will need to set the environment
|
||||||
variable SERVERS and optionally OPTIONS in %{_sysconfdir}/sysconfig/dhcrelay before
|
variable SERVERS and optionally OPTIONS in /etc/sysconfig/dhcrelay before
|
||||||
starting the server.
|
starting the server.
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development headers and libraries for the dhcpctl API
|
Summary: Development headers and libraries for the dhcpctl API
|
||||||
Group: Development/Other
|
Group: Development/Other
|
||||||
Requires: dhcp-common >= %{EVRD}
|
Requires: dhcp-common = %{EVRD}
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
DHCP devel contains all of the libraries and headers for developing with the
|
DHCP devel contains all of the libraries and headers for developing with the
|
||||||
Internet Software Consortium (ISC) dhcpctl API.
|
Internet Software Consortium (ISC) dhcpctl API.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -qn %{name}-%{version}%{?plevel:-%{plevel}}
|
%setup -q -n %{name}-%{major_version}%{patch_version}
|
||||||
%apply_patches
|
%patch100 -p1 -b .ifup
|
||||||
autoreconf -fi
|
%patch101 -p1 -b .format_not_a_string_literal_and_no_format_arguments
|
||||||
|
%patch102 -p1 -b .prevent_wireless_deassociation
|
||||||
|
%patch103 -p1 -b .man
|
||||||
|
|
||||||
# remove empty files
|
# Add NIS domain, NIS servers, NTP servers, interface-mtu and domain-search
|
||||||
find -size 0 |grep ldap | xargs rm -rf
|
# to the list of default requested DHCP options
|
||||||
|
%patch7 -p1 -b .requested
|
||||||
|
# Handle Xen partial UDP checksums
|
||||||
|
%patch8 -p1 -b .xen
|
||||||
|
# If the ipv6 kernel module is missing, do not segfault
|
||||||
|
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #19367])
|
||||||
|
%patch15 -p1 -b .noipv6
|
||||||
|
# Handle cases in add_timeout() where the function is called with a NULL
|
||||||
|
# value for the 'when' parameter
|
||||||
|
%patch17 -p1 -b .dracut
|
||||||
|
# Ensure 64-bit platforms parse lease file dates & times correctly
|
||||||
|
%patch18 -p1 -b .64-bit_lease_parse
|
||||||
|
|
||||||
cp %{SOURCE10} doc
|
install -m0644 %{SOURCE10} doc
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%serverbuild_hardened
|
%serverbuild_hardened
|
||||||
|
@ -163,73 +172,66 @@ cp %{SOURCE10} doc
|
||||||
--enable-paranoia \
|
--enable-paranoia \
|
||||||
--enable-early-chroot \
|
--enable-early-chroot \
|
||||||
--with-ldapcrypto \
|
--with-ldapcrypto \
|
||||||
--with-srv-lease-file=%{_localstatedir}/lib/dhcp/dhcpd.leases \
|
--with-srv-lease-file=%{_var}/lib/dhcpd/dhcpd.leases \
|
||||||
--with-srv6-lease-file=%{_localstatedir}/lib/dhcp/dhcpd6.leases \
|
--with-srv6-lease-file=%{_var}/lib/dhcpd/dhcpd6.leases \
|
||||||
--with-cli-lease-file=%{_localstatedir}/lib/dhcp/dhclient.leases \
|
--with-cli-lease-file=%{_var}/lib/dhclient/dhclient.leases \
|
||||||
--with-cli6-lease-file=%{_localstatedir}/lib/dhcp/dhclient6.leases \
|
--with-cli6-lease-file=%{_var}/lib/dhclient/dhclient6.leases \
|
||||||
--with-srv-pid-file=%{_var}/run/dhcpd/dhcpd.pid \
|
--with-srv-pid-file=/run/dhcpd/dhcpd.pid \
|
||||||
--with-srv6-pid-file=%{_var}/run/dhcpd/dhcpd6.pid \
|
--with-srv6-pid-file=/run/dhcpd/dhcpd6.pid \
|
||||||
--with-cli-pid-file=%{_var}/run/dhclient.pid \
|
--with-cli-pid-file=/run/dhclient/dhclient.pid \
|
||||||
--with-cli6-pid-file=%{_var}/run/dhclient6.pid \
|
--with-cli6-pid-file=/run/dhclient/dhclient6.pid \
|
||||||
--with-relay-pid-file=%{_var}/run/dhcrelay.pid
|
--with-relay-pid-file=/run/dhcrelay/dhcrelay.pid \
|
||||||
|
--disable-static
|
||||||
%make
|
%make
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
|
||||||
%makeinstall_std
|
%makeinstall_std
|
||||||
|
|
||||||
# Install correct dhclient-script
|
# Install correct dhclient-script
|
||||||
install -p -m755 client/scripts/linux -D %{buildroot}/sbin/dhclient-script
|
install -d %{buildroot}/sbin
|
||||||
mv %{buildroot}%{_sbindir}/dhclient %{buildroot}/sbin/dhclient
|
mv %{buildroot}%{_sbindir}/dhclient %{buildroot}/sbin/dhclient
|
||||||
|
install -m 755 client/scripts/linux %{buildroot}/sbin/dhclient-script
|
||||||
|
|
||||||
install -m644 %{SOURCE12} -D %{buildroot}%{_unitdir}/dhcpd.service
|
install -d %{buildroot}%{_unitdir}
|
||||||
install -m644 %{SOURCE14} -D %{buildroot}%{_unitdir}/dhcpd6.service
|
install -m 644 %{SOURCE12} %{buildroot}%{_unitdir}/dhcpd.service
|
||||||
install -m644 %{SOURCE16} -D %{buildroot}%{_unitdir}/dhcrelay.service
|
install -m 644 %{SOURCE14} %{buildroot}%{_unitdir}/dhcpd6.service
|
||||||
|
install -m 644 %{SOURCE16} %{buildroot}%{_unitdir}/dhcrelay.service
|
||||||
|
|
||||||
install -D -p -m 644 %{SOURCE17} %{buildroot}%{_prefix}/lib/tmpfiles.d/dhcpd.conf
|
install -D -p -m 644 %{SOURCE17} %{buildroot}%{_tmpfilesdir}/dhcpd.conf
|
||||||
install -D -p -m 644 %{SOURCE18} %{buildroot}%{_prefix}/lib/tmpfiles.d/dhclient.conf
|
install -D -p -m 644 %{SOURCE18} %{buildroot}%{_tmpfilesdir}/dhclient.conf
|
||||||
install -D -p -m 644 %{SOURCE19} %{buildroot}%{_prefix}/lib/tmpfiles.d/dhcrelay.conf
|
install -D -p -m 644 %{SOURCE19} %{buildroot}%{_tmpfilesdir}/dhcrelay.conf
|
||||||
|
|
||||||
install -m755 %{SOURCE11} -D %{buildroot}%{_initrddir}/dhcpd
|
install -m 755 %{SOURCE7} %{SOURCE8} %{buildroot}%{_sbindir}
|
||||||
install -m755 %{SOURCE13} -D %{buildroot}%{_initrddir}/dhcpd6
|
install -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}
|
||||||
install -m755 %{SOURCE15} -D %{buildroot}%{_initrddir}/dhcrelay
|
install -m 755 contrib/ldap/dhcpd-conf-to-ldap %{buildroot}%{_sbindir}
|
||||||
|
|
||||||
install -m755 %{SOURCE7} -D %{buildroot}%{_sbindir}/dhcpreport.pl
|
|
||||||
install -m755 %{SOURCE8} -D %{buildroot}%{_sbindir}/dhcpd-chroot.sh
|
|
||||||
install -m644 %{SOURCE2} -D %{buildroot}%{_sysconfdir}/dhcpd.conf
|
|
||||||
install -m755 contrib/ldap/dhcpd-conf-to-ldap -D %{buildroot}%{_sbindir}/dhcpd-conf-to-ldap
|
|
||||||
|
|
||||||
install -d %{buildroot}%{_var}/lib/dhclient
|
|
||||||
touch %{buildroot}%{_var}/lib/dhclient/dhclient.leases
|
|
||||||
|
|
||||||
# install exit-hooks script to /etc/
|
# install exit-hooks script to /etc/
|
||||||
install -m755 %{SOURCE9} -D %{buildroot}%{_sysconfdir}/dhclient-exit-hooks
|
install -m 755 %{SOURCE9} %{buildroot}%{_sysconfdir}
|
||||||
|
|
||||||
install -d %{buildroot}%{_sysconfdir}/sysconfig
|
install -d %{buildroot}%{_sysconfdir}/sysconfig
|
||||||
cat > %{buildroot}%{_sysconfdir}/sysconfig/dhcpd <<EOF
|
cat > %{buildroot}%{_sysconfdir}/sysconfig/dhcpd <<EOF
|
||||||
# You can set here various option for dhcpd
|
# You can set here various option for dhcpd
|
||||||
|
|
||||||
# Which configuration file to use.
|
# Which configuration file to use.
|
||||||
CONFIGFILE="%{_sysconfdir}/dhcpd.conf"
|
# CONFIGFILE="/etc/dhcpd.conf"
|
||||||
|
|
||||||
# Where to store the lease state information.
|
# Where to store the lease state information.
|
||||||
LEASEFILE="%{_localstatedir}/lib/dhcp/dhcpd.leases"
|
# LEASEFILE="/var/lib/dhcpd/dhcpd.leases"
|
||||||
|
|
||||||
# Define INTERFACES to limit which network interfaces dhcpd listens on.
|
# Define INTERFACES to limit which network interfaces dhcpd listens on.
|
||||||
# The default null value causes dhcpd to listen on all interfaces.
|
# The default null value causes dhcpd to listen on all interfaces.
|
||||||
INTERFACES=""
|
#INTERFACES=""
|
||||||
|
|
||||||
# Define OPTIONS with any other options to pass to the dhcpd server.
|
# Define OPTIONS with any other options to pass to the dhcpd server.
|
||||||
# See dhcpd(8) for available options and syntax.
|
# See dhcpd(8) for available options and syntax.
|
||||||
OPTIONS="-q"
|
OPTIONS="-q"
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
install -d %{buildroot}%{_localstatedir}/lib/dhcp
|
install -d %{buildroot}%{_var}/lib/dhcpd
|
||||||
install -d %{buildroot}%{_var}/run/dhcpd
|
touch %{buildroot}%{_var}/lib/dhcpd/dhcpd.leases
|
||||||
|
install -d %{buildroot}%{_var}/lib/dhclient
|
||||||
touch %{buildroot}%{_localstatedir}/lib/dhcp/dhcpd.leases
|
touch %{buildroot}%{_var}/lib/dhclient/dhclient.leases
|
||||||
touch %{buildroot}%{_localstatedir}/lib/dhcp/dhclient.leases
|
|
||||||
|
|
||||||
cat > %{buildroot}%{_sysconfdir}/sysconfig/dhcrelay <<EOF
|
cat > %{buildroot}%{_sysconfdir}/sysconfig/dhcrelay <<EOF
|
||||||
# Define SERVERS with a list of one or more DHCP servers where
|
# Define SERVERS with a list of one or more DHCP servers where
|
||||||
|
@ -252,16 +254,19 @@ rm -rf doc/ja_JP.eucJP
|
||||||
find -size 0 |grep ldap | xargs rm -rf
|
find -size 0 |grep ldap | xargs rm -rf
|
||||||
|
|
||||||
# remove unwanted file
|
# remove unwanted file
|
||||||
rm %{buildroot}%{_sysconfdir}/dhclient.conf*
|
rm -f %{buildroot}%{_sysconfdir}/dhclient.conf.example
|
||||||
rm %{buildroot}%{_sysconfdir}/dhcpd.conf.example
|
rm -f %{buildroot}%{_sysconfdir}/dhcpd.conf.example
|
||||||
|
rm -f %{buildroot}%{_libdir}/*.a
|
||||||
|
|
||||||
|
%pre server
|
||||||
|
%_pre_useradd dhcpd /dev/null /bin/false
|
||||||
|
|
||||||
%post server
|
%post server
|
||||||
%_post_service dhcpd
|
%_post_service dhcpd
|
||||||
/bin/systemd-tmpfiles --create dhcpd
|
%tmpfiles_create dhcpd
|
||||||
# %tmpfiles_create dhcpd
|
|
||||||
# New dhcpd lease file
|
# New dhcpd lease file
|
||||||
if [ ! -f %{_localstatedir}/lib/dhcp/dhcpd.leases ]; then
|
if [ ! -f %{_var}/lib/dhcpd/dhcpd.leases ]; then
|
||||||
touch %{_localstatedir}/lib/dhcp/dhcpd.leases
|
touch %{_var}/lib/dhcpd/dhcpd.leases
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%preun server
|
%preun server
|
||||||
|
@ -269,74 +274,70 @@ fi
|
||||||
|
|
||||||
%post relay
|
%post relay
|
||||||
%_post_service dhcrelay
|
%_post_service dhcrelay
|
||||||
/bin/systemd-tmpfiles --create dhcrelay
|
%tmpfiles_create dhcrelay
|
||||||
# %tmpfiles_create dhcrelay
|
|
||||||
|
|
||||||
%preun relay
|
%preun relay
|
||||||
%_preun_service dhcrelay
|
%_preun_service dhcrelay
|
||||||
|
|
||||||
%post client
|
%post client
|
||||||
/bin/systemd-tmpfiles --create dhclient
|
touch %{_var}/lib/dhclient/dhclient.leases
|
||||||
# %tmpfiles_create dhclient
|
%tmpfiles_create dhclient
|
||||||
touch %{_localstatedir}/lib/dhclient/dhclient.leases
|
|
||||||
|
|
||||||
%postun client
|
%postun client
|
||||||
rm -rf %{_localstatedir}/lib/dhclient/dhclient.leases
|
rm -rf %{_var}/lib/dhclient/dhclient.leases
|
||||||
|
|
||||||
%files common
|
%files common
|
||||||
%doc README contrib/ldap/README.ldap RELNOTES
|
%doc README contrib/ldap/README.ldap RELNOTES
|
||||||
%doc contrib/3.0b1-lease-convert
|
%doc contrib/3.0b1-lease-convert
|
||||||
%dir %{_localstatedir}/lib/dhcp
|
|
||||||
%{_mandir}/man5/dhcp-options.5*
|
%{_mandir}/man5/dhcp-options.5*
|
||||||
|
|
||||||
%files doc
|
%files doc
|
||||||
%doc doc/*
|
%doc doc/*
|
||||||
|
|
||||||
%files server
|
%files server
|
||||||
%doc tests/failover contrib/ldap/dhcp.schema
|
%doc server/dhcpd.conf.example tests/failover contrib/ldap/dhcp.schema
|
||||||
%{_unitdir}/dhcpd.service
|
%{_unitdir}/dhcpd.service
|
||||||
%{_unitdir}/dhcpd6.service
|
%{_unitdir}/dhcpd6.service
|
||||||
%{_prefix}/lib/tmpfiles.d//dhcpd.conf
|
%{_tmpfilesdir}/dhcpd.conf
|
||||||
%{_initrddir}/dhcpd
|
|
||||||
%{_initrddir}/dhcpd6
|
|
||||||
%config(noreplace) %{_sysconfdir}/dhcpd.conf
|
%config(noreplace) %{_sysconfdir}/dhcpd.conf
|
||||||
%config(noreplace) %{_sysconfdir}/dhclient-exit-hooks
|
%config(noreplace) %{_sysconfdir}/dhclient-exit-hooks
|
||||||
%config(noreplace) %{_sysconfdir}/sysconfig/dhcpd
|
%config(noreplace) %{_sysconfdir}/sysconfig/dhcpd
|
||||||
%config(noreplace) %ghost %{_localstatedir}/lib/dhcp/dhcpd.leases
|
|
||||||
%{_sbindir}/dhcpd
|
%{_sbindir}/dhcpd
|
||||||
%{_sbindir}/dhcpreport.pl
|
%{_sbindir}/dhcpreport.pl
|
||||||
%{_sbindir}/dhcpd-conf-to-ldap
|
%{_sbindir}/dhcpd-conf-to-ldap
|
||||||
%{_sbindir}/dhcpd-chroot.sh
|
%{_sbindir}/dhcpd-chroot.sh
|
||||||
%{_bindir}/omshell
|
%{_bindir}/omshell
|
||||||
%{_mandir}/man1/omshell.1*
|
%{_mandir}/man1/omshell.1*
|
||||||
|
%{_mandir}/man3/omapi.3*
|
||||||
%{_mandir}/man5/dhcpd.conf.5*
|
%{_mandir}/man5/dhcpd.conf.5*
|
||||||
%{_mandir}/man5/dhcpd.leases.5*
|
%{_mandir}/man5/dhcpd.leases.5*
|
||||||
%{_mandir}/man5/dhcp-eval.5*
|
%{_mandir}/man5/dhcp-eval.5*
|
||||||
%{_mandir}/man8/dhcpd.8*
|
%{_mandir}/man8/dhcpd.8*
|
||||||
%dir %{_var}/run/dhcpd
|
%dir %{_var}/lib/dhcpd
|
||||||
|
%config(noreplace) %ghost %{_var}/lib/dhcpd/dhcpd.leases
|
||||||
|
|
||||||
%files relay
|
%files relay
|
||||||
%{_unitdir}/dhcrelay.service
|
%{_unitdir}/dhcrelay.service
|
||||||
%{_prefix}/lib/tmpfiles.d/dhcrelay.conf
|
%{_tmpfilesdir}/dhcrelay.conf
|
||||||
%{_initrddir}/dhcrelay
|
|
||||||
|
|
||||||
%config(noreplace) %{_sysconfdir}/sysconfig/dhcrelay
|
%config(noreplace) %{_sysconfdir}/sysconfig/dhcrelay
|
||||||
%{_prefix}/lib/tmpfiles.d/dhclient.conf
|
|
||||||
%{_sbindir}/dhcrelay
|
%{_sbindir}/dhcrelay
|
||||||
%{_mandir}/man8/dhcrelay.8*
|
%{_mandir}/man8/dhcrelay.8*
|
||||||
|
|
||||||
%files client
|
%files client
|
||||||
%config(noreplace) %ghost %{_localstatedir}/lib/dhcp/dhclient.leases
|
%doc client/dhclient.conf.example
|
||||||
%config(noreplace) %ghost %{_var}/lib/dhclient/dhclient.leases
|
%attr (0755,root,root) /sbin/dhclient-script
|
||||||
/sbin/dhclient-script
|
%{_tmpfilesdir}/dhclient.conf
|
||||||
/sbin/dhclient
|
/sbin/dhclient
|
||||||
%{_mandir}/man5/dhclient.conf.5*
|
%{_mandir}/man5/dhclient.conf.5*
|
||||||
%{_mandir}/man5/dhclient.leases.5*
|
%{_mandir}/man5/dhclient.leases.5*
|
||||||
%{_mandir}/man8/dhclient.8*
|
%{_mandir}/man8/dhclient.8*
|
||||||
%{_mandir}/man8/dhclient-script.8*
|
%{_mandir}/man8/dhclient-script.8*
|
||||||
%dir %{_var}/lib/dhclient
|
%dir %{_var}/lib/dhclient
|
||||||
|
%config(noreplace) %ghost %{_var}/lib/dhclient/dhclient.leases
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%{_includedir}/*
|
%{_includedir}/*
|
||||||
%{_libdir}/*.a
|
|
||||||
%{_mandir}/man3/*
|
%{_mandir}/man3/*
|
||||||
|
%exclude %{_mandir}/man3/omapi.3*
|
||||||
|
|
||||||
|
|
||||||
|
|
8
dhcp.spec.diff
Normal file
8
dhcp.spec.diff
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
|
||||||
|
< BuildRequires: libtool
|
||||||
|
< BuildRequires: groff-base
|
||||||
|
< BuildRequires: systemd-units
|
||||||
|
< BuildRequires: bind-devel
|
||||||
|
---
|
||||||
|
> BuildRequires: groff-for-man
|
||||||
|
50a41,42
|
342
dhcp.spec.old
Normal file
342
dhcp.spec.old
Normal file
|
@ -0,0 +1,342 @@
|
||||||
|
%define plevel P1
|
||||||
|
|
||||||
|
Summary: The ISC DHCP (Dynamic Host Configuration Protocol) server/relay agent/client
|
||||||
|
Name: dhcp
|
||||||
|
Epoch: 3
|
||||||
|
Version: 4.2.5
|
||||||
|
Release: 0.%{?plevel:%{plevel}}.5
|
||||||
|
License: Distributable
|
||||||
|
Group: System/Servers
|
||||||
|
Url: http://www.isc.org/software/dhcp
|
||||||
|
Source0: ftp://ftp.isc.org/isc/%{name}/%{version}-%{?plevel:%{plevel}}/%{name}-%{version}%{?plevel:-%{plevel}}.tar.gz
|
||||||
|
Source1: ftp://ftp.isc.org/isc/%{name}/%{version}-%{?plevel:%{plevel}}/%{name}-%{version}%{?plevel:-%{plevel}}.tar.gz.sha512.asc
|
||||||
|
Source2: dhcpd.conf
|
||||||
|
Source4: dhcp-dynamic-dns-examples.tar.bz2
|
||||||
|
Source7: dhcpreport.pl
|
||||||
|
Source8: dhcpd-chroot.sh
|
||||||
|
# (eugeni) dhclient-exit-hooks script
|
||||||
|
Source9: dhclient-exit-hooks
|
||||||
|
Source10: draft-ietf-dhc-ldap-schema-01.txt
|
||||||
|
Source11: dhcpd.init
|
||||||
|
Source12: dhcpd.service
|
||||||
|
Source13: dhcpd6.init
|
||||||
|
Source14: dhcpd6.service
|
||||||
|
Source15: dhcrelay.init
|
||||||
|
Source16: dhcrelay.service
|
||||||
|
Source17: dhcpd.tmpfiles
|
||||||
|
Source18: dhclient.tmpfiles
|
||||||
|
Source19: dhcrelay.tmpfiles
|
||||||
|
# mageia patches
|
||||||
|
Patch100: dhcp-4.2.2-ifup.patch
|
||||||
|
Patch101: dhcp-4.2.2-fix-format-errors.patch
|
||||||
|
# prevents needless deassociation, working around mdv bug #43441
|
||||||
|
Patch102: dhcp-4.1.1-prevent_wireless_deassociation.patch
|
||||||
|
# fedora patches
|
||||||
|
# Handle Xen partial UDP checksums
|
||||||
|
Patch8: dhcp-4.2.2-xen-checksum.patch
|
||||||
|
# If the ipv6 kernel module is missing, do not segfault
|
||||||
|
# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #19367])
|
||||||
|
Patch15: dhcp-4.2.2-missing-ipv6-not-fatal.patch
|
||||||
|
# Handle cases in add_timeout() where the function is called with a NULL
|
||||||
|
# value for the 'when' parameter
|
||||||
|
Patch17: dhcp-4.2.0-add_timeout_when_NULL.patch
|
||||||
|
# Ensure 64-bit platforms parse lease file dates & times correctly
|
||||||
|
Patch18: dhcp-4.2.4-64_bit_lease_parse.patch
|
||||||
|
|
||||||
|
BuildRequires: libtool
|
||||||
|
BuildRequires: groff-base
|
||||||
|
BuildRequires: systemd-units
|
||||||
|
BuildRequires: bind-devel
|
||||||
|
BuildRequires: openldap-devel
|
||||||
|
|
||||||
|
%description
|
||||||
|
DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
|
||||||
|
individual devices on an IP network to get their own network configuration
|
||||||
|
information (IP address, subnetmask, broadcast address, etc.) from a DHCP
|
||||||
|
server. The overall purpose of DHCP is to make it easier to administer a
|
||||||
|
large network. The dhcp package includes the DHCP server and a DHCP relay
|
||||||
|
agent. You will also need to install the dhcp-client or dhcpcd package,
|
||||||
|
or pump or dhcpxd, which provides the DHCP client daemon, on client machines.
|
||||||
|
|
||||||
|
If you want the DHCP server and/or relay, you will also need to install the
|
||||||
|
dhcp-server and/or dhcp-relay packages.
|
||||||
|
|
||||||
|
%package common
|
||||||
|
Summary: The ISC DHCP (Dynamic Host Configuration Protocol) server
|
||||||
|
Group: System/Servers
|
||||||
|
|
||||||
|
%description common
|
||||||
|
DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
|
||||||
|
individual devices on an IP network to get their own network
|
||||||
|
configuration information (IP address, subnetmask, broadcast address,
|
||||||
|
etc.) from a DHCP server. The overall purpose of DHCP is to make it
|
||||||
|
easier to administer a large network. The dhcp package includes the
|
||||||
|
DHCP server and a DHCP relay agent.
|
||||||
|
|
||||||
|
You will also need to install the dhcp-client or dhcpcd package, or pump or
|
||||||
|
dhcpxd, which provides the DHCP client daemon, on client machines. If you
|
||||||
|
want the DHCP server and/or relay, you will also need to install the
|
||||||
|
dhcp-server and/or dhcp-relay packages.
|
||||||
|
|
||||||
|
%package doc
|
||||||
|
Summary: Documentation about the ISC DHCP server/client
|
||||||
|
Group: System/Servers
|
||||||
|
|
||||||
|
%description doc
|
||||||
|
This package contains RFC/API/protocol documentation about the ISC
|
||||||
|
DHCP server and client.
|
||||||
|
|
||||||
|
DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
|
||||||
|
individual devices on an IP network to get their own network
|
||||||
|
configuration information (IP address, subnetmask, broadcast address,
|
||||||
|
etc.) from a DHCP server. The overall purpose of DHCP is to make it
|
||||||
|
easier to administer a large network. The dhcp package includes the
|
||||||
|
DHCP server and a DHCP relay agent.
|
||||||
|
|
||||||
|
%package server
|
||||||
|
Summary: The ISC DHCP (Dynamic Host Configuration Protocol) server
|
||||||
|
Group: System/Servers
|
||||||
|
Requires: dhcp-common >= %{EVRD}
|
||||||
|
Requires(post,preun): rpm-helper
|
||||||
|
Requires(post,postun): systemd-units
|
||||||
|
|
||||||
|
%description server
|
||||||
|
DHCP server is the Internet Software Consortium (ISC) DHCP server for various
|
||||||
|
UNIX operating systems. It allows a UNIX mac hine to serve DHCP requests from
|
||||||
|
the network.
|
||||||
|
|
||||||
|
You should install dhcp-server if you want to set up a DHCP server on your
|
||||||
|
network. You will also need to install the base dhcp package.
|
||||||
|
|
||||||
|
%package client
|
||||||
|
Summary: The ISC DHCP (Dynamic Host Configuration Protocol) client
|
||||||
|
Group: System/Servers
|
||||||
|
Requires: dhcp-common >= %{EVRD}
|
||||||
|
Provides: dhcp-client-daemon
|
||||||
|
|
||||||
|
%description client
|
||||||
|
DHCP client is the Internet Software Consortium (ISC) DHCP client for various
|
||||||
|
UNIX operating systems. It allows a UNIX mac hine to obtain it's networking
|
||||||
|
parameters from a DHCP server.
|
||||||
|
|
||||||
|
You should install dhcp-client if you want to use the ISC DHCP client instead
|
||||||
|
of the Red Hat DHCP client, pump, or dhcpcd, or dhcpxd. You will also need to
|
||||||
|
install the base dhcp package.
|
||||||
|
|
||||||
|
%package relay
|
||||||
|
Summary: The ISC DHCP (Dynamic Host Configuration Protocol) relay
|
||||||
|
Group: System/Servers
|
||||||
|
Requires: dhcp-common >= %{EVRD}
|
||||||
|
Requires(post,preun): rpm-helper
|
||||||
|
|
||||||
|
%description relay
|
||||||
|
DHCP relay is the Internet Software Consortium (ISC) relay agent for DHCP
|
||||||
|
packets. It is used on a subnet with DHCP clients to "relay" their requests
|
||||||
|
to a subnet that has a DHCP server on it. Because DHCP packets can be
|
||||||
|
broadcast, they will not be routed off of the local subnet. The DHCP relay
|
||||||
|
takes care of this for the client. You will need to set the environment
|
||||||
|
variable SERVERS and optionally OPTIONS in %{_sysconfdir}/sysconfig/dhcrelay before
|
||||||
|
starting the server.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development headers and libraries for the dhcpctl API
|
||||||
|
Group: Development/Other
|
||||||
|
Requires: dhcp-common >= %{EVRD}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
DHCP devel contains all of the libraries and headers for developing with the
|
||||||
|
Internet Software Consortium (ISC) dhcpctl API.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -qn %{name}-%{version}%{?plevel:-%{plevel}}
|
||||||
|
%apply_patches
|
||||||
|
autoreconf -fi
|
||||||
|
|
||||||
|
# remove empty files
|
||||||
|
find -size 0 |grep ldap | xargs rm -rf
|
||||||
|
|
||||||
|
cp %{SOURCE10} doc
|
||||||
|
|
||||||
|
%build
|
||||||
|
%serverbuild_hardened
|
||||||
|
%configure2_5x \
|
||||||
|
--enable-paranoia \
|
||||||
|
--enable-early-chroot \
|
||||||
|
--with-ldapcrypto \
|
||||||
|
--with-srv-lease-file=%{_localstatedir}/lib/dhcp/dhcpd.leases \
|
||||||
|
--with-srv6-lease-file=%{_localstatedir}/lib/dhcp/dhcpd6.leases \
|
||||||
|
--with-cli-lease-file=%{_localstatedir}/lib/dhcp/dhclient.leases \
|
||||||
|
--with-cli6-lease-file=%{_localstatedir}/lib/dhcp/dhclient6.leases \
|
||||||
|
--with-srv-pid-file=%{_var}/run/dhcpd/dhcpd.pid \
|
||||||
|
--with-srv6-pid-file=%{_var}/run/dhcpd/dhcpd6.pid \
|
||||||
|
--with-cli-pid-file=%{_var}/run/dhclient.pid \
|
||||||
|
--with-cli6-pid-file=%{_var}/run/dhclient6.pid \
|
||||||
|
--with-relay-pid-file=%{_var}/run/dhcrelay.pid
|
||||||
|
|
||||||
|
%make
|
||||||
|
|
||||||
|
%install
|
||||||
|
%makeinstall_std
|
||||||
|
|
||||||
|
# Install correct dhclient-script
|
||||||
|
install -p -m755 client/scripts/linux -D %{buildroot}/sbin/dhclient-script
|
||||||
|
mv %{buildroot}%{_sbindir}/dhclient %{buildroot}/sbin/dhclient
|
||||||
|
|
||||||
|
install -m644 %{SOURCE12} -D %{buildroot}%{_unitdir}/dhcpd.service
|
||||||
|
install -m644 %{SOURCE14} -D %{buildroot}%{_unitdir}/dhcpd6.service
|
||||||
|
install -m644 %{SOURCE16} -D %{buildroot}%{_unitdir}/dhcrelay.service
|
||||||
|
|
||||||
|
install -D -p -m 644 %{SOURCE17} %{buildroot}%{_prefix}/lib/tmpfiles.d/dhcpd.conf
|
||||||
|
install -D -p -m 644 %{SOURCE18} %{buildroot}%{_prefix}/lib/tmpfiles.d/dhclient.conf
|
||||||
|
install -D -p -m 644 %{SOURCE19} %{buildroot}%{_prefix}/lib/tmpfiles.d/dhcrelay.conf
|
||||||
|
|
||||||
|
install -m755 %{SOURCE11} -D %{buildroot}%{_initrddir}/dhcpd
|
||||||
|
install -m755 %{SOURCE13} -D %{buildroot}%{_initrddir}/dhcpd6
|
||||||
|
install -m755 %{SOURCE15} -D %{buildroot}%{_initrddir}/dhcrelay
|
||||||
|
|
||||||
|
install -m755 %{SOURCE7} -D %{buildroot}%{_sbindir}/dhcpreport.pl
|
||||||
|
install -m755 %{SOURCE8} -D %{buildroot}%{_sbindir}/dhcpd-chroot.sh
|
||||||
|
install -m644 %{SOURCE2} -D %{buildroot}%{_sysconfdir}/dhcpd.conf
|
||||||
|
install -m755 contrib/ldap/dhcpd-conf-to-ldap -D %{buildroot}%{_sbindir}/dhcpd-conf-to-ldap
|
||||||
|
|
||||||
|
install -d %{buildroot}%{_var}/lib/dhclient
|
||||||
|
touch %{buildroot}%{_var}/lib/dhclient/dhclient.leases
|
||||||
|
|
||||||
|
# install exit-hooks script to /etc/
|
||||||
|
install -m755 %{SOURCE9} -D %{buildroot}%{_sysconfdir}/dhclient-exit-hooks
|
||||||
|
|
||||||
|
install -d %{buildroot}%{_sysconfdir}/sysconfig
|
||||||
|
cat > %{buildroot}%{_sysconfdir}/sysconfig/dhcpd <<EOF
|
||||||
|
# You can set here various option for dhcpd
|
||||||
|
|
||||||
|
# Which configuration file to use.
|
||||||
|
CONFIGFILE="%{_sysconfdir}/dhcpd.conf"
|
||||||
|
|
||||||
|
# Where to store the lease state information.
|
||||||
|
LEASEFILE="%{_localstatedir}/lib/dhcp/dhcpd.leases"
|
||||||
|
|
||||||
|
# Define INTERFACES to limit which network interfaces dhcpd listens on.
|
||||||
|
# The default null value causes dhcpd to listen on all interfaces.
|
||||||
|
INTERFACES=""
|
||||||
|
|
||||||
|
# Define OPTIONS with any other options to pass to the dhcpd server.
|
||||||
|
# See dhcpd(8) for available options and syntax.
|
||||||
|
OPTIONS="-q"
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
install -d %{buildroot}%{_localstatedir}/lib/dhcp
|
||||||
|
install -d %{buildroot}%{_var}/run/dhcpd
|
||||||
|
|
||||||
|
touch %{buildroot}%{_localstatedir}/lib/dhcp/dhcpd.leases
|
||||||
|
touch %{buildroot}%{_localstatedir}/lib/dhcp/dhclient.leases
|
||||||
|
|
||||||
|
cat > %{buildroot}%{_sysconfdir}/sysconfig/dhcrelay <<EOF
|
||||||
|
# Define SERVERS with a list of one or more DHCP servers where
|
||||||
|
# DHCP packets are to be relayed to and from. This is mandatory.
|
||||||
|
#SERVERS="10.11.12.13 10.9.8.7"
|
||||||
|
SERVERS=""
|
||||||
|
|
||||||
|
# Define OPTIONS with any other options to pass to the dhcrelay server.
|
||||||
|
# See dhcrelay(8) for available options and syntax.
|
||||||
|
#OPTIONS="-q -i eth0 -i eth1"
|
||||||
|
OPTIONS="-q"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
find . -type d -exec chmod 0755 {} \;
|
||||||
|
find . -type f -exec chmod 0644 {} \;
|
||||||
|
|
||||||
|
rm -rf doc/ja_JP.eucJP
|
||||||
|
|
||||||
|
# remove empty files
|
||||||
|
find -size 0 |grep ldap | xargs rm -rf
|
||||||
|
|
||||||
|
# remove unwanted file
|
||||||
|
rm %{buildroot}%{_sysconfdir}/dhclient.conf*
|
||||||
|
rm %{buildroot}%{_sysconfdir}/dhcpd.conf.example
|
||||||
|
|
||||||
|
%post server
|
||||||
|
%_post_service dhcpd
|
||||||
|
/bin/systemd-tmpfiles --create dhcpd
|
||||||
|
# %tmpfiles_create dhcpd
|
||||||
|
# New dhcpd lease file
|
||||||
|
if [ ! -f %{_localstatedir}/lib/dhcp/dhcpd.leases ]; then
|
||||||
|
touch %{_localstatedir}/lib/dhcp/dhcpd.leases
|
||||||
|
fi
|
||||||
|
|
||||||
|
%preun server
|
||||||
|
%_preun_service dhcpd
|
||||||
|
|
||||||
|
%post relay
|
||||||
|
%_post_service dhcrelay
|
||||||
|
/bin/systemd-tmpfiles --create dhcrelay
|
||||||
|
# %tmpfiles_create dhcrelay
|
||||||
|
|
||||||
|
%preun relay
|
||||||
|
%_preun_service dhcrelay
|
||||||
|
|
||||||
|
%post client
|
||||||
|
/bin/systemd-tmpfiles --create dhclient
|
||||||
|
# %tmpfiles_create dhclient
|
||||||
|
touch %{_localstatedir}/lib/dhclient/dhclient.leases
|
||||||
|
|
||||||
|
%postun client
|
||||||
|
rm -rf %{_localstatedir}/lib/dhclient/dhclient.leases
|
||||||
|
|
||||||
|
%files common
|
||||||
|
%doc README contrib/ldap/README.ldap RELNOTES
|
||||||
|
%doc contrib/3.0b1-lease-convert
|
||||||
|
%dir %{_localstatedir}/lib/dhcp
|
||||||
|
%{_mandir}/man5/dhcp-options.5*
|
||||||
|
|
||||||
|
%files doc
|
||||||
|
%doc doc/*
|
||||||
|
|
||||||
|
%files server
|
||||||
|
%doc tests/failover contrib/ldap/dhcp.schema
|
||||||
|
%{_unitdir}/dhcpd.service
|
||||||
|
%{_unitdir}/dhcpd6.service
|
||||||
|
%{_prefix}/lib/tmpfiles.d//dhcpd.conf
|
||||||
|
%{_initrddir}/dhcpd
|
||||||
|
%{_initrddir}/dhcpd6
|
||||||
|
%config(noreplace) %{_sysconfdir}/dhcpd.conf
|
||||||
|
%config(noreplace) %{_sysconfdir}/dhclient-exit-hooks
|
||||||
|
%config(noreplace) %{_sysconfdir}/sysconfig/dhcpd
|
||||||
|
%config(noreplace) %ghost %{_localstatedir}/lib/dhcp/dhcpd.leases
|
||||||
|
%{_sbindir}/dhcpd
|
||||||
|
%{_sbindir}/dhcpreport.pl
|
||||||
|
%{_sbindir}/dhcpd-conf-to-ldap
|
||||||
|
%{_sbindir}/dhcpd-chroot.sh
|
||||||
|
%{_bindir}/omshell
|
||||||
|
%{_mandir}/man1/omshell.1*
|
||||||
|
%{_mandir}/man5/dhcpd.conf.5*
|
||||||
|
%{_mandir}/man5/dhcpd.leases.5*
|
||||||
|
%{_mandir}/man5/dhcp-eval.5*
|
||||||
|
%{_mandir}/man8/dhcpd.8*
|
||||||
|
%dir %{_var}/run/dhcpd
|
||||||
|
|
||||||
|
%files relay
|
||||||
|
%{_unitdir}/dhcrelay.service
|
||||||
|
%{_prefix}/lib/tmpfiles.d/dhcrelay.conf
|
||||||
|
%{_initrddir}/dhcrelay
|
||||||
|
|
||||||
|
%config(noreplace) %{_sysconfdir}/sysconfig/dhcrelay
|
||||||
|
%{_prefix}/lib/tmpfiles.d/dhclient.conf
|
||||||
|
%{_sbindir}/dhcrelay
|
||||||
|
%{_mandir}/man8/dhcrelay.8*
|
||||||
|
|
||||||
|
%files client
|
||||||
|
%config(noreplace) %ghost %{_localstatedir}/lib/dhcp/dhclient.leases
|
||||||
|
%config(noreplace) %ghost %{_var}/lib/dhclient/dhclient.leases
|
||||||
|
/sbin/dhclient-script
|
||||||
|
/sbin/dhclient
|
||||||
|
%{_mandir}/man5/dhclient.conf.5*
|
||||||
|
%{_mandir}/man5/dhclient.leases.5*
|
||||||
|
%{_mandir}/man8/dhclient.8*
|
||||||
|
%{_mandir}/man8/dhclient-script.8*
|
||||||
|
%dir %{_var}/lib/dhclient
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_includedir}/*
|
||||||
|
%{_libdir}/*.a
|
||||||
|
%{_mandir}/man3/*
|
118
dhcpd.init
118
dhcpd.init
|
@ -1,118 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
### BEGIN INIT INFO
|
|
||||||
# Provides: dhcpd
|
|
||||||
# Default-Start:
|
|
||||||
# Default-Stop: 0 6
|
|
||||||
# Should-Start: ldap
|
|
||||||
# Required-Start: $network
|
|
||||||
# Should-Stop: ldap
|
|
||||||
# Required-Stop:
|
|
||||||
# Short-Description: Start and stop the DHCP server
|
|
||||||
# Description: dhcpd provides the Dynamic Host Configuration Protocol (DHCP)
|
|
||||||
# server.
|
|
||||||
### END INIT INFO
|
|
||||||
#
|
|
||||||
# The fields below are left around for legacy tools (will remove later).
|
|
||||||
#
|
|
||||||
# chkconfig: - 65 35
|
|
||||||
# description: dhcpd provides the Dynamic Host Configuration Protocol (DHCP) \
|
|
||||||
# server
|
|
||||||
# processname: dhcpd
|
|
||||||
# config: /etc/dhcpd.conf
|
|
||||||
# config: /var/lib/dhcpd/dhcpd.leases
|
|
||||||
# pidfile: /var/run/dhcpd.pid
|
|
||||||
|
|
||||||
. /etc/rc.d/init.d/functions
|
|
||||||
|
|
||||||
[ -x /usr/sbin/dhcpd ] || exit 0
|
|
||||||
|
|
||||||
# Which configuration file to use.
|
|
||||||
CONFIGFILE="/etc/dhcpd.conf"
|
|
||||||
# Where to store the lease state information.
|
|
||||||
LEASEFILE="/var/lib/dhcp/dhcpd.leases"
|
|
||||||
# Define INTERFACES to limit which network interfaces dhcpd listens on.
|
|
||||||
# The default null value causes dhcpd to listen on all interfaces.
|
|
||||||
INTERFACES=""
|
|
||||||
# Define OPTIONS with any other options to pass to the dhcpd server.
|
|
||||||
OPTIONS="-q"
|
|
||||||
|
|
||||||
# Values specified in this file override the defaults above.
|
|
||||||
[ -f /etc/sysconfig/dhcpd ] && . /etc/sysconfig/dhcpd
|
|
||||||
|
|
||||||
[ -f $CONFIGFILE ] || exit 0
|
|
||||||
[ -f $LEASEFILE ] || exit 0
|
|
||||||
|
|
||||||
RETVAL=0
|
|
||||||
|
|
||||||
start() {
|
|
||||||
echo -n "Starting dhcpd: "
|
|
||||||
if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
|
|
||||||
OPTIONS="${OPTIONS} -chroot ${ROOTDIR}"
|
|
||||||
fi
|
|
||||||
daemon /usr/sbin/dhcpd -cf $CONFIGFILE -lf $LEASEFILE $OPTIONS $INTERFACES
|
|
||||||
RETVAL=$?
|
|
||||||
echo
|
|
||||||
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/dhcpd
|
|
||||||
return $RETVAL
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
echo -n "Shutting down dhcpd: "
|
|
||||||
if [ -r ${ROOTDIR}/var/run/dhcpd/dhcpd.pid ]; then
|
|
||||||
kill -TERM `cat ${ROOTDIR}/var/run/dhcpd/dhcpd.pid`
|
|
||||||
RETVAL=$?
|
|
||||||
[ "$RETVAL" = 0 ] && success "stop" || failure "stop"
|
|
||||||
else
|
|
||||||
success "already stopped"
|
|
||||||
RETVAL=0
|
|
||||||
fi
|
|
||||||
[ $RETVAL -eq 0 ] && rm -f ${ROOTDIR}/var/run/dhcpd/dhcpd.pid
|
|
||||||
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/dhcpd
|
|
||||||
echo
|
|
||||||
return $RETVAL
|
|
||||||
}
|
|
||||||
|
|
||||||
configtest() {
|
|
||||||
/usr/sbin/dhcpd -q -t -cf $CONFIGFILE
|
|
||||||
RETVAL=$?
|
|
||||||
if [ $RETVAL -eq 1 ]; then
|
|
||||||
/usr/sbin/dhcpd -t -cf $CONFIGFILE
|
|
||||||
else
|
|
||||||
echo "Syntax: OK" >&2
|
|
||||||
fi
|
|
||||||
return $RETVAL
|
|
||||||
}
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
start
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
stop
|
|
||||||
;;
|
|
||||||
restart|reload)
|
|
||||||
stop
|
|
||||||
start
|
|
||||||
RETVAL=$?
|
|
||||||
;;
|
|
||||||
condrestart)
|
|
||||||
if [ -f /var/lock/subsys/dhcpd ]; then
|
|
||||||
stop
|
|
||||||
start
|
|
||||||
RETVAL=$?
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
configtest)
|
|
||||||
configtest
|
|
||||||
;;
|
|
||||||
status)
|
|
||||||
status dhcpd
|
|
||||||
RETVAL=$?
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: dhcpd {start|stop|restart|condrestart|status}"
|
|
||||||
exit 1
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit $RETVAL
|
|
|
@ -1,10 +1,13 @@
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=DHCPv4 Server Daemon
|
Description=DHCPv4 Server Daemon
|
||||||
After=syslog.target network.target
|
After=syslog.target network.target ldap.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
EnvironmentFile=/etc/sysconfig/dhcpd
|
Environment=CONFIGFILE=/etc/dhcpd.conf LEASEFILE=/var/lib/dhcpd/dhcpd.leases
|
||||||
ExecStart=/usr/sbin/dhcpd -d -cf $CONFIGFILE -lf $LEASEFILE $OPTIONS $INTERFACES
|
EnvironmentFile=-/etc/sysconfig/dhcpd
|
||||||
|
Type=forking
|
||||||
|
PIDFile=/run/dhcpd/dhcpd.pid
|
||||||
|
ExecStart=/usr/sbin/dhcpd -pf /run/dhcpd/dhcpd.pid -cf $CONFIGFILE -lf $LEASEFILE $OPTIONS $INTERFACES
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|
117
dhcpd6.init
117
dhcpd6.init
|
@ -1,117 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
### BEGIN INIT INFO
|
|
||||||
# Provides: dhcpd
|
|
||||||
# Default-Start:
|
|
||||||
# Default-Stop:
|
|
||||||
# Should-Start:
|
|
||||||
# Required-Start: $network
|
|
||||||
# Required-Stop:
|
|
||||||
# Short-Description: Start and stop the DHCPv6 server
|
|
||||||
# Description: dhcpd provides the Dynamic Host Configuration Protocol (DHCPv6)
|
|
||||||
# server.
|
|
||||||
### END INIT INFO
|
|
||||||
#
|
|
||||||
# The fields below are left around for legacy tools (will remove later).
|
|
||||||
#
|
|
||||||
# chkconfig: - 65 35
|
|
||||||
# description: dhcpd provides the Dynamic Host Configuration Protocol (DHCPv6) \
|
|
||||||
# server
|
|
||||||
# processname: dhcpd
|
|
||||||
# config: /etc/dhcpd6.conf
|
|
||||||
# config: /var/lib/dhcpd/dhcpd6.leases
|
|
||||||
# pidfile: /var/run/dhcpd6.pid
|
|
||||||
|
|
||||||
. /etc/rc.d/init.d/functions
|
|
||||||
|
|
||||||
[ -x /usr/sbin/dhcpd ] || exit 0
|
|
||||||
|
|
||||||
# Which configuration file to use.
|
|
||||||
CONFIGFILE="/etc/dhcpd6.conf"
|
|
||||||
# Where to store the lease state information.
|
|
||||||
LEASEFILE="/var/lib/dhcp/dhcpd6.leases"
|
|
||||||
# Define INTERFACES to limit which network interfaces dhcpd listens on.
|
|
||||||
# The default null value causes dhcpd to listen on all interfaces.
|
|
||||||
INTERFACES=""
|
|
||||||
# Define OPTIONS with any other options to pass to the dhcpd server.
|
|
||||||
OPTIONS="-q"
|
|
||||||
|
|
||||||
# Values specified in this file override the defaults above.
|
|
||||||
[ -f /etc/sysconfig/dhcpd6 ] && . /etc/sysconfig/dhcpd6
|
|
||||||
|
|
||||||
[ -f $CONFIGFILE ] || exit 0
|
|
||||||
[ -f $LEASEFILE ] || exit 0
|
|
||||||
|
|
||||||
RETVAL=0
|
|
||||||
|
|
||||||
start() {
|
|
||||||
echo -n "Starting dhcpd (DHCPv6): "
|
|
||||||
if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
|
|
||||||
OPTIONS="${OPTIONS} -chroot ${ROOTDIR}"
|
|
||||||
fi
|
|
||||||
daemon /usr/sbin/dhcpd -6 -cf $CONFIGFILE -lf $LEASEFILE $OPTIONS $INTERFACES
|
|
||||||
RETVAL=$?
|
|
||||||
echo
|
|
||||||
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/dhcpd6
|
|
||||||
return $RETVAL
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
echo -n "Shutting down dhcpd (DHCPv6): "
|
|
||||||
if [ -r ${ROOTDIR}/var/run/dhcpd/dhcpd6.pid ]; then
|
|
||||||
kill -TERM `cat ${ROOTDIR}/var/run/dhcpd/dhcpd6.pid`
|
|
||||||
RETVAL=$?
|
|
||||||
[ "$RETVAL" = 0 ] && success "stop" || failure "stop"
|
|
||||||
else
|
|
||||||
success "already stopped"
|
|
||||||
RETVAL=0
|
|
||||||
fi
|
|
||||||
[ $RETVAL -eq 0 ] && rm -f ${ROOTDIR}/var/run/dhcpd/dhcpd6.pid
|
|
||||||
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/dhcpd6
|
|
||||||
echo
|
|
||||||
return $RETVAL
|
|
||||||
}
|
|
||||||
|
|
||||||
configtest() {
|
|
||||||
/usr/sbin/dhcpd -q -t -6 -cf $CONFIGFILE
|
|
||||||
RETVAL=$?
|
|
||||||
if [ $RETVAL -eq 1 ]; then
|
|
||||||
/usr/sbin/dhcpd -t -6 -cf $CONFIGFILE
|
|
||||||
else
|
|
||||||
echo "Syntax: OK" >&2
|
|
||||||
fi
|
|
||||||
return $RETVAL
|
|
||||||
}
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
start
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
stop
|
|
||||||
;;
|
|
||||||
restart|reload)
|
|
||||||
stop
|
|
||||||
start
|
|
||||||
RETVAL=$?
|
|
||||||
;;
|
|
||||||
condrestart)
|
|
||||||
if [ -f /var/lock/subsys/dhcpd6 ]; then
|
|
||||||
stop
|
|
||||||
start
|
|
||||||
RETVAL=$?
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
configtest)
|
|
||||||
configtest
|
|
||||||
;;
|
|
||||||
status)
|
|
||||||
status dhcpd
|
|
||||||
RETVAL=$?
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: dhcpd6 {start|stop|restart|condrestart|status}"
|
|
||||||
exit 1
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit $RETVAL
|
|
|
@ -3,8 +3,11 @@ Description=DHCPv6 Server Daemon
|
||||||
After=syslog.target network.target
|
After=syslog.target network.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
EnvironmentFile=/etc/sysconfig/dhcpd6
|
Environment=CONFIGFILE=/etc/dhcpd6.conf LEASEFILE=/var/lib/dhcp/dhcpd6.leases
|
||||||
ExecStart=/usr/sbin/dhcpd -d 6 -cf $CONFIGFILE -lf $LEASEFILE $INTERFACES
|
EnvironmentFile=-/etc/sysconfig/dhcpd6
|
||||||
|
Type=forking
|
||||||
|
PIDFile=/var/run/dhcpd6.pid
|
||||||
|
ExecStart=/usr/sbin/dhcpd -6 -pf /var/run/dhcpd6.pid -cf $CONFIGFILE -lf $LEASEFILE $OPTIONS $INTERFACES
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|
|
@ -1,90 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
### BEGIN INIT INFO
|
|
||||||
# Provides: dhcrelay
|
|
||||||
# Default-Start: 2 3 4 5
|
|
||||||
# Default-Stop:
|
|
||||||
# Should-Start:
|
|
||||||
# Required-Start: $network
|
|
||||||
# Required-Stop: $network
|
|
||||||
# Short-Description: Start and stop the DHCP relay server
|
|
||||||
# Description: dhcrelay provides the Dynamic Host Configuration Protocol (DHCP)
|
|
||||||
# relay server. This is required when your DHCP server is on
|
|
||||||
# another network segment from the clients.
|
|
||||||
### END INIT INFO
|
|
||||||
#
|
|
||||||
# The fields below are left around for legacy tools (will remove later).
|
|
||||||
#
|
|
||||||
# chkconfig: - 65 35
|
|
||||||
# description: dhcrelay provides a relay for Dynamic Host Control Protocol.
|
|
||||||
# processname: dhcrelay
|
|
||||||
# # pidfile: /var/run/dhcrelay.pid
|
|
||||||
|
|
||||||
. /etc/rc.d/init.d/functions
|
|
||||||
|
|
||||||
[ -x /usr/sbin/dhcrelay ] || exit 0
|
|
||||||
|
|
||||||
# Define SERVERS with a list of one or more DHCP servers where
|
|
||||||
# DHCP packets are to be relayed to and from. This is mandatory.
|
|
||||||
SERVERS=""
|
|
||||||
# Define OPTIONS with any other options to pass to the dhcrelay server.
|
|
||||||
OPTIONS="-q"
|
|
||||||
|
|
||||||
# Values specified in this file override the defaults above.
|
|
||||||
[ -f /etc/sysconfig/dhcrelay ] && . /etc/sysconfig/dhcrelay
|
|
||||||
|
|
||||||
# Check that at least one DHCP server to relay to was specified.
|
|
||||||
[ "${SERVERS}" = "" ] && exit 0
|
|
||||||
|
|
||||||
RETVAL=0
|
|
||||||
|
|
||||||
start() {
|
|
||||||
# Start daemons.
|
|
||||||
echo -n "Starting dhcrelay: "
|
|
||||||
daemon /usr/sbin/dhcrelay $OPTIONS $SERVERS
|
|
||||||
RETVAL=$?
|
|
||||||
echo
|
|
||||||
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/dhcrelay
|
|
||||||
return $RETVAL
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
# Stop daemons.
|
|
||||||
echo -n "Shutting down dhcrelay: "
|
|
||||||
killproc dhcrelay
|
|
||||||
RETVAL=$?
|
|
||||||
echo
|
|
||||||
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dhcrelay
|
|
||||||
return $RETVAL
|
|
||||||
}
|
|
||||||
|
|
||||||
# See how we were called.
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
start
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
stop
|
|
||||||
;;
|
|
||||||
restart|reload)
|
|
||||||
stop
|
|
||||||
start
|
|
||||||
RETVAL=$?
|
|
||||||
;;
|
|
||||||
condrestart)
|
|
||||||
if [ -f /var/lock/subsys/dhcrelay ]; then
|
|
||||||
stop
|
|
||||||
start
|
|
||||||
RETVAL=$?
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
status)
|
|
||||||
status dhcrelay
|
|
||||||
RETVAL=$?
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: dhcrelay {start|stop|restart|condrestart|status}"
|
|
||||||
exit 1
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit $RETVAL
|
|
Loading…
Add table
Reference in a new issue