From e4de661e19695aaefa2c444225e9d819426525be8bbaa94d3fca1317ddaa5a75 Mon Sep 17 00:00:00 2001 From: Nirmoy Das Date: Thu, 6 Jul 2017 13:11:18 +0000 Subject: [PATCH 1/2] Accepting request 507823 from home:Zaitor Possible solution to issues with NM 1.8.0 OBS-URL: https://build.opensuse.org/request/show/507823 OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=173 --- dhclient.conf | 8 +------- dhcp.changes | 6 ++++++ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dhclient.conf b/dhclient.conf index 023e1e1..b61be5c 100644 --- a/dhclient.conf +++ b/dhclient.conf @@ -39,13 +39,7 @@ option rfc4833-tz-posix-string code 100 = string; option rfc4833-tz-name code 101 = string; # Request several well known/usefull dhcp options. -request subnet-mask, broadcast-address, routers, - rfc3442-classless-static-routes, - interface-mtu, host-name, domain-name, domain-search, - domain-name-servers, nis-domain, nis-servers, - nds-context, nds-servers, nds-tree-name, - netbios-name-servers, netbios-dd-server, - netbios-node-type, netbios-scope, ntp-servers; +request subnet-mask, broadcast-address, routers, rfc3442-classless-static-routes, interface-mtu, host-name, domain-name, domain-search, domain-name-servers, nis-domain, is-servers, nds-context, nds-servers, nds-tree-name, netbios-name-servers, netbios-dd-server, netbios-node-type, netbios-scope, ntp-servers; # rfc4833-tz-posix-string, rfc4833-tz-name; # We request above options, require only the IP configuration: diff --git a/dhcp.changes b/dhcp.changes index 9e3caff..bf2619f 100644 --- a/dhcp.changes +++ b/dhcp.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Jul 3 09:08:32 UTC 2017 - zaitor@opensuse.org + +- Set all requested dhcp options on a single line, so they are + actually requested (boo#1046969, boo#1047004). + ------------------------------------------------------------------- Mon Mar 13 23:53:20 CET 2017 - ndas@suse.de From 853382bddde4d4639303375312e4f7ad06dc762902c53ba41776e79e45de26f1 Mon Sep 17 00:00:00 2001 From: Nirmoy Das Date: Thu, 6 Jul 2017 15:49:46 +0000 Subject: [PATCH 2/2] Accepting request 508601 from home:ndas:branches:network:dhcp - fixed a typo in nis-servers option name breaking the config file introduced in previous change to workaround issues in NetworkManager parser. - Update to dhcp-4.3.5 - Corrected a bug which could cause the server to sporadically crash while loading lease files with the lease-id-format is set to "hex". Our thanks to Jay Ford, University of Iowa for reporting the issue. [ISC-Bugs #43185] - Eliminated a noisy, but otherwise harmless debug log statment that may appear during server startup when building with --enable-binary-leases and configuring multiple pools in a shared network. Thanks to Fernando Soto from BlueCat Networks for reporting the issue and supplying a patch. [ISC-Bugs #43262] - Fixed util/bindvar.sh error handling. [ISC-Bugs #41973] - Correct error message in relay to use remote id length instead of circuit id length. [ISC-Bugs #42556] - Add logic to test directory Makefiles to avoid copying Attfile(s) when building within the source tree. This eliminates a noisy but otherwise harmless error message when running "make check". [ISC-Bugs #41883] - Leases are now scrubbed of certain prior use information when pool re-balancing reassigns them from one FO peer to the other. This corrects an issue where leases that were offered but not used by the client retained the client hostname from the original client. Thanks to Pavel Polacek, Jan Evangelista Purkyne University for reporting the issue. [ISC-Bugs #42008] - In the LDAP code and schema add some missing '6' characters to use the v6 instead of the v4 versions. Thanks to Denis Taranushin for OBS-URL: https://build.opensuse.org/request/show/508601 OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=174 --- ...4.3.2-dhclient-send-hostname-or-fqdn.patch | 39 ++-- ...interface-discovery-using-getifaddrs.patch | 21 +- ...dhcpv6-decline-on-DAD-failure.872609.patch | 28 +-- 0016-infiniband-support.patch | 186 ++++++++++-------- ...no-success-report-before-send.919959.patch | 26 +-- dhclient.conf | 2 +- dhcp-4.3.3-P1.tar.gz | 3 - dhcp-4.3.3-P1.tar.gz.asc | 11 -- dhcp-4.3.5.tar.gz | 3 + dhcp-4.3.5.tar.gz.asc | 11 ++ dhcp.changes | 89 +++++++++ dhcp.keyring | 182 +++++++++++++---- dhcp.spec | 4 +- 13 files changed, 412 insertions(+), 193 deletions(-) delete mode 100644 dhcp-4.3.3-P1.tar.gz delete mode 100644 dhcp-4.3.3-P1.tar.gz.asc create mode 100644 dhcp-4.3.5.tar.gz create mode 100644 dhcp-4.3.5.tar.gz.asc diff --git a/0006-dhcp-4.3.2-dhclient-send-hostname-or-fqdn.patch b/0006-dhcp-4.3.2-dhclient-send-hostname-or-fqdn.patch index d20ae6f..463174d 100644 --- a/0006-dhcp-4.3.2-dhclient-send-hostname-or-fqdn.patch +++ b/0006-dhcp-4.3.2-dhclient-send-hostname-or-fqdn.patch @@ -6,10 +6,10 @@ Subject: [PATCH] dhcp-4.3.2-dhclient-send-hostname-or-fqdn Signed-off-by: Marius Tomaschewski diff --git a/client/dhclient.8 b/client/dhclient.8 -index 5b05698..d9a26b7 100644 +index cf073b4..6c7296b 100644 --- a/client/dhclient.8 +++ b/client/dhclient.8 -@@ -66,6 +66,10 @@ dhclient - Dynamic Host Configuration Protocol Client +@@ -72,6 +72,10 @@ dhclient - Dynamic Host Configuration Protocol Client .I LL|LLT ] [ @@ -20,7 +20,7 @@ index 5b05698..d9a26b7 100644 .B -p .I port-number ] -@@ -326,6 +330,11 @@ transmits these messages to 255.255.255.255 (the IP limited broadcast +@@ -340,6 +344,11 @@ transmits these messages to 255.255.255.255 (the IP limited broadcast address). Overriding this is mostly useful for debugging purposes. This feature is not supported in DHCPv6 (\fB-6\fR) mode. .TP @@ -33,25 +33,33 @@ index 5b05698..d9a26b7 100644 .\" mockup relay Set the giaddr field of all packets to the \fIrelay\fR IP address diff --git a/client/dhclient.c b/client/dhclient.c -index cf612d1..0e39161 100644 +index 2fb8de8..678379a 100644 --- a/client/dhclient.c +++ b/client/dhclient.c -@@ -124,6 +124,7 @@ main(int argc, char **argv) { +@@ -174,6 +174,7 @@ usage(const char *sfmt, const char *sarg) + #else /* DHCPv6 */ + "[-I1dvrxi] [-nw] [-p ] [-D LL|LLT] \n" + #endif /* DHCPv6 */ ++ " [-H hostname]\n" + " [-s server-addr] [-cf config-file]\n" + " [-df duid-file] [-lf lease-file]\n" + " [-pf pid-file] [--no-pid] [-e VAR=val]\n" +@@ -200,6 +201,7 @@ main(int argc, char **argv) { int no_dhclient_db = 0; int no_dhclient_pid = 0; int no_dhclient_script = 0; + char *dhclient_hostname = NULL; #ifdef DHCPv6 int local_family_set = 0; - #endif /* DHCPv6 */ -@@ -241,6 +242,24 @@ main(int argc, char **argv) { + #ifdef DHCP4o6 +@@ -337,6 +339,24 @@ main(int argc, char **argv) { if (++i == argc) - usage(); + usage(use_noarg, argv[i-1]); mockup_relay = argv[i]; + } else if (!strcmp (argv[i], "-H")) { + size_t len; + if (++i == argc || !argv[i] || *(argv[i]) == '\0') -+ usage (); ++ usage(use_noarg, argv[i-1]); + len = strlen (argv[i]); + if (len > HOST_NAME_MAX) { + log_error("-H option hostname string \"%s\" is too long:" @@ -69,7 +77,7 @@ index cf612d1..0e39161 100644 } else if (!strcmp(argv[i], "-nw")) { nowait = 1; } else if (!strcmp(argv[i], "-n")) { -@@ -510,6 +529,48 @@ main(int argc, char **argv) { +@@ -630,6 +650,48 @@ main(int argc, char **argv) { /* Parse the dhclient.conf file. */ read_client_conf(); @@ -118,14 +126,3 @@ index cf612d1..0e39161 100644 /* Parse the lease database. */ read_client_leases(); -@@ -756,6 +817,7 @@ static void usage() - #else /* DHCPv6 */ - "[-I1dvrxi] [-nw] [-p ] [-D LL|LLT] \n" - #endif /* DHCPv6 */ -+ " [-H hostname]\n" - " [-s server-addr] [-cf config-file]\n" - " [-df duid-file] [-lf lease-file]\n" - " [-pf pid-file] [--no-pid] [-e VAR=val]\n" --- -2.1.4 - diff --git a/0011-Fixed-linux-interface-discovery-using-getifaddrs.patch b/0011-Fixed-linux-interface-discovery-using-getifaddrs.patch index be45ce8..6d4392a 100644 --- a/0011-Fixed-linux-interface-discovery-using-getifaddrs.patch +++ b/0011-Fixed-linux-interface-discovery-using-getifaddrs.patch @@ -14,15 +14,16 @@ dhcp-server is unable to find any address and fails to start. Changed to use getifaddrs() function, which retrieves all IP addresses on linux systems and is available since GLIBC 2.3. + --- common/discover.c | 51 ++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/common/discover.c b/common/discover.c -index 6a0540b..1dcaa02 100644 +index 4463178..c48d67b 100644 --- a/common/discover.c +++ b/common/discover.c -@@ -370,7 +370,7 @@ end_iface_scan(struct iface_conf_list *ifaces) { +@@ -373,7 +373,7 @@ end_iface_scan(struct iface_conf_list *ifaces) { ifaces->sock = -1; } @@ -31,7 +32,7 @@ index 6a0540b..1dcaa02 100644 /* * Linux support * ------------- -@@ -379,6 +379,14 @@ end_iface_scan(struct iface_conf_list *ifaces) { +@@ -382,6 +382,14 @@ end_iface_scan(struct iface_conf_list *ifaces) { * about interfaces, along with selected ioctl() calls. * * Linux low level access is documented in the netdevice man page. @@ -46,7 +47,7 @@ index 6a0540b..1dcaa02 100644 */ /* -@@ -751,11 +759,11 @@ end_iface_scan(struct iface_conf_list *ifaces) { +@@ -755,11 +763,11 @@ end_iface_scan(struct iface_conf_list *ifaces) { #else /* @@ -61,11 +62,11 @@ index 6a0540b..1dcaa02 100644 * * The getifaddrs() man page describes the use. */ -@@ -812,10 +820,39 @@ next_iface(struct iface_info *info, int *err, struct iface_conf_list *ifaces) { - *err = 1; +@@ -817,10 +825,39 @@ next_iface(struct iface_info *info, int *err, struct iface_conf_list *ifaces) { return 0; } -- strcpy(info->name, ifaces->next->ifa_name); + memset(info, 0, sizeof(struct iface_info)); +- strncpy(info->name, ifaces->next->ifa_name, sizeof(info->name) - 1); - memcpy(&info->addr, ifaces->next->ifa_addr, - ifaces->next->ifa_addr->sa_len); + info->addr.ss_family = AF_UNSPEC; @@ -80,7 +81,7 @@ index 6a0540b..1dcaa02 100644 + if_indextoname(if_nametoindex(ifaces->next->ifa_name), + info->name); + } else { -+ strcpy(info->name, ifaces->next->ifa_name); ++ strncpy(info->name, ifaces->next->ifa_name, sizeof(info->name) - 1); + } + + if (ifaces->next->ifa_addr != NULL) { @@ -95,7 +96,7 @@ index 6a0540b..1dcaa02 100644 + /* else e.g. AF_PACKET / link layer address */ + } +#else -+ strcpy(info->name, ifaces->next->ifa_name); ++ strncpy(info->name, ifaces->next->ifa_name, sizeof(info->name) - 1); + if (ifaces->next->ifa_addr != NULL) { + memcpy(&info->addr, ifaces->next->ifa_addr, + ifaces->next->ifa_addr->sa_len); @@ -105,5 +106,5 @@ index 6a0540b..1dcaa02 100644 *err = 0; return 1; -- -1.8.4 +2.13.1 diff --git a/0013-dhcp-4.2.x-dhcpv6-decline-on-DAD-failure.872609.patch b/0013-dhcp-4.2.x-dhcpv6-decline-on-DAD-failure.872609.patch index 2b268eb..f59b224 100644 --- a/0013-dhcp-4.2.x-dhcpv6-decline-on-DAD-failure.872609.patch +++ b/0013-dhcp-4.2.x-dhcpv6-decline-on-DAD-failure.872609.patch @@ -8,10 +8,10 @@ in section 18.1.7 of RFC-3315 (#559147) (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #26735]) diff --git a/client/dhc6.c b/client/dhc6.c -index 8974e7a..f8ad25d 100644 +index c8d16e8..21d0203 100644 --- a/client/dhc6.c +++ b/client/dhc6.c -@@ -96,6 +96,8 @@ void do_select6(void *input); +@@ -115,6 +115,8 @@ void do_select6(void *input); void do_refresh6(void *input); static void do_release6(void *input); static void start_bound(struct client_state *client); @@ -20,7 +20,7 @@ index 8974e7a..f8ad25d 100644 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); -@@ -2080,6 +2082,7 @@ start_release6(struct client_state *client) +@@ -2314,6 +2316,7 @@ start_release6(struct client_state *client) cancel_timeout(do_select6, client); cancel_timeout(do_refresh6, client); cancel_timeout(do_release6, client); @@ -28,7 +28,7 @@ index 8974e7a..f8ad25d 100644 client->state = S_STOPPED; /* -@@ -2713,6 +2716,7 @@ dhc6_check_reply(struct client_state *client, struct dhc6_lease *new) +@@ -2968,6 +2971,7 @@ dhc6_check_reply(struct client_state *client, struct dhc6_lease *new) break; case S_STOPPED: @@ -36,7 +36,7 @@ index 8974e7a..f8ad25d 100644 action = dhc6_stop_action; break; -@@ -2814,6 +2818,7 @@ dhc6_check_reply(struct client_state *client, struct dhc6_lease *new) +@@ -3084,6 +3088,7 @@ dhc6_check_reply(struct client_state *client, struct dhc6_lease *new) break; case S_STOPPED: @@ -44,7 +44,7 @@ index 8974e7a..f8ad25d 100644 /* Nothing critical to do at this stage. */ break; -@@ -3804,17 +3809,23 @@ reply_handler(struct packet *packet, struct client_state *client) +@@ -4214,17 +4219,23 @@ reply_handler(struct packet *packet, struct client_state *client) cancel_timeout(do_select6, client); cancel_timeout(do_refresh6, client); cancel_timeout(do_release6, client); @@ -76,7 +76,7 @@ index 8974e7a..f8ad25d 100644 return; } -@@ -4342,7 +4353,11 @@ start_bound(struct client_state *client) +@@ -4798,7 +4809,11 @@ start_bound(struct client_state *client) dhc6_marshall_values("new_", client, lease, ia, addr); script_write_requested6(client); @@ -89,7 +89,7 @@ index 8974e7a..f8ad25d 100644 } /* XXX: maybe we should loop on the old values instead? */ -@@ -4390,6 +4405,149 @@ start_bound(struct client_state *client) +@@ -4851,6 +4866,149 @@ start_bound(struct client_state *client) dhc6_check_times(client); } @@ -131,7 +131,7 @@ index 8974e7a..f8ad25d 100644 +{ + struct client_state *client; + struct data_string ds; -+ int send_ret; ++ int send_ret, added; + struct timeval elapsed, tv; + + client = input; @@ -193,13 +193,13 @@ index 8974e7a..f8ad25d 100644 + /* Append IA's (but don't release temporary addresses). */ + if (wanted_ia_na && + dhc6_add_ia_na(client, &ds, client->active_lease, -+ DHCPV6_DECLINE) != ISC_R_SUCCESS) { ++ DHCPV6_DECLINE, 0, &added) != ISC_R_SUCCESS) { + data_string_forget(&ds, MDL); + goto decline_done; + } + if (wanted_ia_pd && + dhc6_add_ia_pd(client, &ds, client->active_lease, -+ DHCPV6_DECLINE) != ISC_R_SUCCESS) { ++ DHCPV6_DECLINE, 0, &added) != ISC_R_SUCCESS) { + data_string_forget(&ds, MDL); + goto decline_done; + } @@ -240,10 +240,10 @@ index 8974e7a..f8ad25d 100644 * Reconfigure-Request messages and the like. */ diff --git a/includes/dhcpd.h b/includes/dhcpd.h -index a52992b..0eda51d 100644 +index b5bec1c..6d500a3 100644 --- a/includes/dhcpd.h +++ b/includes/dhcpd.h -@@ -1060,7 +1060,8 @@ enum dhcp_state { +@@ -1176,7 +1176,8 @@ enum dhcp_state { S_BOUND = 5, S_RENEWING = 6, S_REBINDING = 7, @@ -252,4 +252,4 @@ index a52992b..0eda51d 100644 + S_DECLINED = 9 }; - /* Authentication and BOOTP policy possibilities (not all values work + /* Possible pending client operations. */ diff --git a/0016-infiniband-support.patch b/0016-infiniband-support.patch index ac2b7a0..241f287 100644 --- a/0016-infiniband-support.patch +++ b/0016-infiniband-support.patch @@ -48,13 +48,14 @@ Date: Tue Mar 25 23:15:58 2014 +0200 References: bnc#870535 + diff --git a/client/dhclient.c b/client/dhclient.c -index 0c77ae2..b438629 100644 +index 3f2f8b2..40d9fe0 100644 --- a/client/dhclient.c +++ b/client/dhclient.c -@@ -104,6 +104,40 @@ static int check_option_values(struct universe *universe, unsigned int opt, - static void dhclient_ddns_cb_free(dhcp_ddns_cb_t *ddns_cb, - char* file, int line); +@@ -71,6 +71,40 @@ int std_dhcid = 0; + assert (state_is == state_shouldbe). */ + #define ASSERT_STATE(state_is, state_shouldbe) {} +static void form_interface_duid(struct data_string *duid, struct interface_info *ip, const char *file, int line); + @@ -91,9 +92,9 @@ index 0c77ae2..b438629 100644 +} + #ifndef UNIT_TEST - int - main(int argc, char **argv) { -@@ -635,6 +669,26 @@ main(int argc, char **argv) { + static const char copyright[] = "Copyright 2004-2016 Internet Systems Consortium."; + static const char arr [] = "All rights reserved."; +@@ -756,6 +790,26 @@ main(int argc, char **argv) { } } @@ -120,7 +121,7 @@ index 0c77ae2..b438629 100644 /* At this point, all the interfaces that the script thinks are relevant should be running, so now we once again call discover_interfaces(), and this time ask it to actually set -@@ -649,19 +703,42 @@ main(int argc, char **argv) { +@@ -770,19 +824,42 @@ main(int argc, char **argv) { Not much entropy, but we're booting, so we're not likely to find anything better. */ seed = 0; @@ -165,7 +166,7 @@ index 0c77ae2..b438629 100644 */ if ((local_family == AF_INET6) || ((local_family == AF_INET) && (duid_v4 == 1))) { -@@ -672,6 +749,20 @@ main(int argc, char **argv) { +@@ -793,6 +870,20 @@ main(int argc, char **argv) { form_duid(&default_duid, MDL); write_duid(&default_duid); } @@ -185,8 +186,8 @@ index 0c77ae2..b438629 100644 + } } - /* Start a configuration state machine for each interface. */ -@@ -1143,15 +1234,22 @@ void dhcpack (packet) + #if defined(DHCPv6) && defined(DHCP4o6) +@@ -1282,15 +1373,22 @@ void dhcpack (packet) if (client -> xid == packet -> raw -> xid) break; } @@ -214,7 +215,7 @@ index 0c77ae2..b438629 100644 } if (client -> state != S_REBOOTING && -@@ -1164,7 +1262,7 @@ void dhcpack (packet) +@@ -1303,7 +1401,7 @@ void dhcpack (packet) return; } @@ -223,7 +224,7 @@ index 0c77ae2..b438629 100644 lease = packet_to_lease (packet, client); if (!lease) { -@@ -1629,15 +1727,21 @@ void dhcpoffer (packet) +@@ -1951,15 +2049,21 @@ void dhcpoffer (packet) /* If we're not receptive to an offer right now, or if the offer has an unrecognizable transaction id, then just drop it. */ if (!client || @@ -250,7 +251,7 @@ index 0c77ae2..b438629 100644 } sprintf (obuf, "%s from %s", name, piaddr (packet -> client_addr)); -@@ -1875,11 +1979,11 @@ void dhcpnak (packet) +@@ -2197,11 +2301,11 @@ void dhcpnak (packet) /* If we're not receptive to an offer right now, or if the offer has an unrecognizable transaction id, then just drop it. */ @@ -267,7 +268,7 @@ index 0c77ae2..b438629 100644 #if defined (DEBUG) log_debug ("DHCPNAK in wrong transaction."); #endif -@@ -1894,9 +1998,15 @@ void dhcpnak (packet) +@@ -2216,9 +2320,15 @@ void dhcpnak (packet) log_debug ("DHCPNAK in wrong state."); #endif return; @@ -284,25 +285,27 @@ index 0c77ae2..b438629 100644 if (!client -> active) { #if defined (DEBUG) -@@ -2023,10 +2133,10 @@ void send_discover (cpp) - client -> packet.secs = htons (65535); - client -> secs = client -> packet.secs; - +@@ -2351,11 +2461,11 @@ void send_discover (cpp) + (long)(client -> interval)); + } else + #endif - log_info ("DHCPDISCOVER on %s to %s port %d interval %ld", - client -> name ? client -> name : client -> interface -> name, - inet_ntoa (sockaddr_broadcast.sin_addr), - ntohs (sockaddr_broadcast.sin_port), (long)(client -> interval)); +- + log_info ("DHCPDISCOVER on %s to %s port %d interval %ld (xid=0x%x)", + client -> name ? client -> name : client -> interface -> name, + inet_ntoa (sockaddr_broadcast.sin_addr), + ntohs (sockaddr_broadcast.sin_port), (long)(client -> interval), client -> xid); - ++ /* Send out a packet. */ - result = send_packet(client->interface, NULL, &client->packet, -@@ -2295,10 +2405,10 @@ void send_request (cpp) - client -> packet.secs = htons (65535); - } - + #if defined(DHCPv6) && defined(DHCP4o6) + if (dhcpv4_over_dhcpv6) { +@@ -2639,10 +2749,10 @@ void send_request (cpp) + log_info ("DHCPREQUEST"); + } else + #endif - log_info ("DHCPREQUEST on %s to %s port %d", + log_info ("DHCPREQUEST on %s to %s port %d (xid=0x%x)", client -> name ? client -> name : client -> interface -> name, @@ -310,25 +313,25 @@ index 0c77ae2..b438629 100644 - ntohs (destination.sin_port)); + ntohs (destination.sin_port), client -> xid); - if (destination.sin_addr.s_addr != INADDR_BROADCAST && - fallback_interface) { -@@ -2338,10 +2448,10 @@ void send_decline (cpp) - - int result; - + #if defined(DHCPv6) && defined(DHCP4o6) + if (dhcpv4_over_dhcpv6) { +@@ -2699,10 +2809,10 @@ void send_decline (cpp) + log_info ("DHCPDECLINE"); + } else + #endif - log_info ("DHCPDECLINE on %s to %s port %d", + log_info ("DHCPDECLINE on %s to %s port %d (xid=0x%x)", client->name ? client->name : client->interface->name, inet_ntoa(sockaddr_broadcast.sin_addr), - ntohs(sockaddr_broadcast.sin_port)); -+ ntohs (sockaddr_broadcast.sin_port), client -> xid); ++ ntohs(sockaddr_broadcast.sin_port), client -> xid); /* Send out a packet. */ - result = send_packet(client->interface, NULL, &client->packet, -@@ -2384,10 +2494,10 @@ void send_release (cpp) - return; - } - + #if defined(DHCPv6) && defined(DHCP4o6) +@@ -2761,10 +2871,10 @@ void send_release (cpp) + log_info ("DHCPRELEASE"); + } else + #endif - log_info ("DHCPRELEASE on %s to %s port %d", + log_info ("DHCPRELEASE on %s to %s port %d (xid=0x%x)", client -> name ? client -> name : client -> interface -> name, @@ -336,9 +339,9 @@ index 0c77ae2..b438629 100644 - ntohs (destination.sin_port)); + ntohs (destination.sin_port), client -> xid); - if (fallback_interface) { - result = send_packet(fallback_interface, NULL, &client->packet, -@@ -2507,10 +2617,17 @@ make_client_options(struct client_state *client, struct client_lease *lease, + #if defined(DHCPv6) && defined(DHCP4o6) + if (dhcpv4_over_dhcpv6) { +@@ -3041,10 +3151,17 @@ make_client_options(struct client_state *client, struct client_lease *lease, * This can be overridden by including a client id in the configuration * file. */ @@ -357,10 +360,10 @@ index 0c77ae2..b438629 100644 memset(&client_identifier, 0, sizeof(client_identifier)); client_identifier.len = 1 + 4 + default_duid.len; if (!buffer_allocate(&client_identifier.buffer, -@@ -2600,12 +2717,13 @@ void make_discover (client, lease) - +@@ -3135,12 +3252,13 @@ void make_discover (client, lease) client -> packet.op = BOOTREQUEST; client -> packet.htype = client -> interface -> hw_address.hbuf [0]; + /* Assumes hw_address is known, otherwise a random value may result */ - client -> packet.hlen = client -> interface -> hw_address.hlen - 1; + if (client -> interface -> hw_address.hlen - 1 <= sizeof(client -> packet.chaddr)) + client -> packet.hlen = client -> interface -> hw_address.hlen - 1; @@ -373,7 +376,7 @@ index 0c77ae2..b438629 100644 client -> packet.flags = 0; else client -> packet.flags = htons (BOOTP_BROADCAST); -@@ -2617,7 +2735,7 @@ void make_discover (client, lease) +@@ -3152,7 +3270,7 @@ void make_discover (client, lease) memset (&(client -> packet.siaddr), 0, sizeof client -> packet.siaddr); client -> packet.giaddr = giaddr; @@ -382,17 +385,17 @@ index 0c77ae2..b438629 100644 memcpy (client -> packet.chaddr, &client -> interface -> hw_address.hbuf [1], (unsigned)(client -> interface -> hw_address.hlen - 1)); -@@ -2673,7 +2791,8 @@ void make_request (client, lease) - +@@ -3209,7 +3327,8 @@ void make_request (client, lease) client -> packet.op = BOOTREQUEST; client -> packet.htype = client -> interface -> hw_address.hbuf [0]; + /* Assumes hw_address is known, otherwise a random value may result */ - client -> packet.hlen = client -> interface -> hw_address.hlen - 1; + if (client -> interface -> hw_address.hlen - 1 <= sizeof(client -> packet.chaddr)) + client -> packet.hlen = client -> interface -> hw_address.hlen - 1; client -> packet.hops = 0; client -> packet.xid = client -> xid; client -> packet.secs = 0; /* Filled in by send_request. */ -@@ -2705,7 +2824,7 @@ void make_request (client, lease) +@@ -3241,7 +3360,7 @@ void make_request (client, lease) else memset (&client -> packet.giaddr, 0, sizeof client -> packet.giaddr); @@ -401,17 +404,17 @@ index 0c77ae2..b438629 100644 memcpy (client -> packet.chaddr, &client -> interface -> hw_address.hbuf [1], (unsigned)(client -> interface -> hw_address.hlen - 1)); -@@ -2747,7 +2866,8 @@ void make_decline (client, lease) - +@@ -3284,7 +3403,8 @@ void make_decline (client, lease) client -> packet.op = BOOTREQUEST; client -> packet.htype = client -> interface -> hw_address.hbuf [0]; + /* Assumes hw_address is known, otherwise a random value may result */ - client -> packet.hlen = client -> interface -> hw_address.hlen - 1; + if (client -> interface -> hw_address.hlen - 1 <= sizeof(client -> packet.chaddr)) + client -> packet.hlen = client -> interface -> hw_address.hlen - 1; client -> packet.hops = 0; client -> packet.xid = client -> xid; client -> packet.secs = 0; /* Filled in by send_request. */ -@@ -2764,9 +2884,10 @@ void make_decline (client, lease) +@@ -3301,9 +3421,10 @@ void make_decline (client, lease) memset (&client -> packet.siaddr, 0, sizeof client -> packet.siaddr); client -> packet.giaddr = giaddr; @@ -425,17 +428,17 @@ index 0c77ae2..b438629 100644 #ifdef DEBUG_PACKET dump_raw ((unsigned char *)&client -> packet, client -> packet_length); -@@ -2808,7 +2929,8 @@ void make_release (client, lease) - +@@ -3346,7 +3467,8 @@ void make_release (client, lease) client -> packet.op = BOOTREQUEST; client -> packet.htype = client -> interface -> hw_address.hbuf [0]; + /* Assumes hw_address is known, otherwise a random value may result */ - client -> packet.hlen = client -> interface -> hw_address.hlen - 1; + if (client -> interface -> hw_address.hlen - 1 <= sizeof(client -> packet.chaddr)) + client -> packet.hlen = client -> interface -> hw_address.hlen - 1; client -> packet.hops = 0; client -> packet.xid = random (); client -> packet.secs = 0; -@@ -2820,9 +2942,10 @@ void make_release (client, lease) +@@ -3358,9 +3480,10 @@ void make_release (client, lease) memset (&client -> packet.siaddr, 0, sizeof client -> packet.siaddr); client -> packet.giaddr = giaddr; @@ -449,7 +452,7 @@ index 0c77ae2..b438629 100644 #ifdef DEBUG_PACKET dump_raw ((unsigned char *)&client -> packet, client -> packet_length); -@@ -2975,17 +3098,13 @@ write_options(struct client_state *client, struct option_state *options, +@@ -3513,17 +3636,13 @@ write_options(struct client_state *client, struct option_state *options, * is not how it is intended. Upcoming rearchitecting the client should * address this "one daemon model." */ @@ -470,7 +473,7 @@ index 0c77ae2..b438629 100644 log_fatal("Impossible condition at %s:%d.", MDL); if ((ip->hw_address.hlen == 0) || -@@ -3033,6 +3152,13 @@ form_duid(struct data_string *duid, const char *file, int line) +@@ -3573,6 +3692,13 @@ form_duid(struct data_string *duid, const char *file, int line) } } @@ -484,7 +487,7 @@ index 0c77ae2..b438629 100644 /* Write the default DUID to the lease store. */ static isc_result_t write_duid(struct data_string *duid) -@@ -4368,7 +4494,8 @@ client_dns_update(struct client_state *client, dhcp_ddns_cb_t *ddns_cb) +@@ -4946,7 +5072,8 @@ client_dns_update(struct client_state *client, dhcp_ddns_cb_t *ddns_cb) NULL, client, client->sent_options, NULL, &global_scope, oc, MDL)) { @@ -495,10 +498,10 @@ index 0c77ae2..b438629 100644 /* * This appears to be an embedded DUID, diff --git a/common/bpf.c b/common/bpf.c -index df9facc..23d416a 100644 +index 34bbd5b..c415c22 100644 --- a/common/bpf.c +++ b/common/bpf.c -@@ -117,7 +117,7 @@ int if_register_bpf (info) +@@ -116,7 +116,7 @@ int if_register_bpf (info) log_fatal ("Can't attach interface %s to bpf device %s: %m", info -> name, filename); @@ -507,7 +510,7 @@ index df9facc..23d416a 100644 return sock; } -@@ -199,11 +199,44 @@ struct bpf_insn dhcp_bpf_filter [] = { +@@ -198,11 +198,44 @@ struct bpf_insn dhcp_bpf_filter [] = { BPF_STMT(BPF_RET+BPF_K, 0), }; @@ -543,7 +546,7 @@ index df9facc..23d416a 100644 +}; + #if defined (DEC_FDDI) - struct bpf_insn *bpf_fddi_filter; + struct bpf_insn *bpf_fddi_filter = NULL; #endif int dhcp_bpf_filter_len = sizeof dhcp_bpf_filter / sizeof (struct bpf_insn); @@ -552,7 +555,7 @@ index df9facc..23d416a 100644 #if defined (HAVE_TR_SUPPORT) struct bpf_insn dhcp_bpf_tr_filter [] = { /* accept all token ring packets due to variable length header */ -@@ -550,7 +583,9 @@ void maybe_setup_fallback () +@@ -549,7 +582,9 @@ void maybe_setup_fallback () #if defined(USE_BPF_RECEIVE) || defined(USE_BPF_HWADDR) void @@ -563,11 +566,33 @@ index df9facc..23d416a 100644 struct ifaddrs *ifa; struct ifaddrs *p; struct sockaddr_dl *sa; +diff --git a/common/discover.c b/common/discover.c +index c48d67b..969ee3e 100644 +--- a/common/discover.c ++++ b/common/discover.c +@@ -1280,7 +1280,7 @@ discover_interfaces(int state) { + if_register_send(tmp); + } else { + /* get_hw_addr() was called by register. */ +- get_hw_addr(tmp->name, &tmp->hw_address); ++ get_hw_addr(tmp); + } + break; + #ifdef DHCPv6 +@@ -1293,7 +1293,7 @@ discover_interfaces(int state) { + so now we have to call it explicitly + to not leave the hardware address unknown + (some code expects it cannot be. */ +- get_hw_addr(tmp->name, &tmp->hw_address); ++ get_hw_addr(tmp); + } else { + if_register_linklocal6(tmp); + } diff --git a/common/dlpi.c b/common/dlpi.c -index 944f21c..5cc2f3b 100644 +index 1014e29..3e6a3d3 100644 --- a/common/dlpi.c +++ b/common/dlpi.c -@@ -1330,7 +1330,9 @@ void maybe_setup_fallback () +@@ -1339,7 +1339,9 @@ void maybe_setup_fallback () #endif /* USE_DLPI_SEND */ void @@ -579,7 +604,7 @@ index 944f21c..5cc2f3b 100644 long buf[DLPI_MAXDLBUF]; union DL_primitives *dlp; diff --git a/common/lpf.c b/common/lpf.c -index 8582f31..745d3c0 100644 +index 123790d..943d679 100644 --- a/common/lpf.c +++ b/common/lpf.c @@ -47,12 +47,22 @@ @@ -912,10 +937,10 @@ index 8582f31..745d3c0 100644 } #endif diff --git a/common/print.c b/common/print.c -index dfe0593..aa7b8e2 100644 +index ce368c4..7dd9f52 100644 --- a/common/print.c +++ b/common/print.c -@@ -162,11 +162,11 @@ char *print_hw_addr (htype, hlen, data) +@@ -173,11 +173,11 @@ char *print_hw_addr (htype, hlen, data) const int hlen; const unsigned char *data; { @@ -981,10 +1006,10 @@ index e8851b4..2c6fb1c 100644 int sock, i; struct lifreq lifr; diff --git a/includes/dhcpd.h b/includes/dhcpd.h -index f0f4b20..0a04f04 100644 +index fa7d6fb..e55309e 100644 --- a/includes/dhcpd.h +++ b/includes/dhcpd.h -@@ -1321,6 +1321,7 @@ struct interface_info { +@@ -1345,6 +1345,7 @@ struct interface_info { struct shared_network *shared_network; /* Networks connected to this interface. */ struct hardware hw_address; /* Its physical address. */ @@ -992,20 +1017,20 @@ index f0f4b20..0a04f04 100644 struct in_addr *addresses; /* Addresses associated with this * interface. */ -@@ -2542,7 +2543,7 @@ void print_dns_status (int, struct dhcp_ddns_cb *, isc_result_t); +@@ -2583,7 +2584,7 @@ void print_dns_status (int, struct dhcp_ddns_cb *, isc_result_t); #endif const char *print_time(TIME); -void get_hw_addr(const char *name, struct hardware *hw); +void get_hw_addr(struct interface_info *info); - - /* socket.c */ - #if defined (USE_SOCKET_SEND) || defined (USE_SOCKET_RECEIVE) \ + char *buf_to_hex (const unsigned char *s, unsigned len, + const char *file, int line); + char *format_lease_id(const unsigned char *s, unsigned len, int format, diff --git a/server/dhcp.c b/server/dhcp.c -index 1f007e2..0f53ac2 100644 +index c9b3632..effa9b1 100644 --- a/server/dhcp.c +++ b/server/dhcp.c -@@ -1806,11 +1806,12 @@ void echo_client_id(packet, lease, in_options, out_options) +@@ -1967,11 +1967,12 @@ void echo_client_id(packet, lease, in_options, out_options) /* Check if echo-client-id is enabled */ oc = lookup_option(&server_universe, in_options, SV_ECHO_CLIENT_ID); @@ -1020,7 +1045,7 @@ index 1f007e2..0f53ac2 100644 struct data_string client_id; unsigned int opcode = DHO_DHCP_CLIENT_IDENTIFIER; -@@ -3592,9 +3593,11 @@ void dhcp_reply (lease) +@@ -3766,9 +3767,11 @@ void dhcp_reply (lease) } else bufs |= 2; /* XXX */ @@ -1036,10 +1061,10 @@ index 1f007e2..0f53ac2 100644 /* See if this is a Microsoft client that NUL-terminates its diff --git a/server/dhcpleasequery.c b/server/dhcpleasequery.c -index 0766b84..c9a1e8b 100644 +index 75a0e72..6207c31 100644 --- a/server/dhcpleasequery.c +++ b/server/dhcpleasequery.c -@@ -295,7 +295,7 @@ dhcpleasequery(struct packet *packet, int ms_nulltp) { +@@ -299,7 +299,7 @@ dhcpleasequery(struct packet *packet, int ms_nulltp) { assoc_ips, nassoc_ips); @@ -1048,7 +1073,7 @@ index 0766b84..c9a1e8b 100644 if (packet->raw->hlen+1 > sizeof(h.hbuf)) { log_info("%s: hardware length too long, " -@@ -405,11 +405,13 @@ dhcpleasequery(struct packet *packet, int ms_nulltp) { +@@ -409,11 +409,13 @@ dhcpleasequery(struct packet *packet, int ms_nulltp) { * Set the hardware address fields. */ @@ -1067,10 +1092,10 @@ index 0766b84..c9a1e8b 100644 /* * Set client identifier option. diff --git a/server/mdb.c b/server/mdb.c -index 9a7da80..539a233 100644 +index 6af6b63..a143452 100644 --- a/server/mdb.c +++ b/server/mdb.c -@@ -619,6 +619,9 @@ int find_hosts_by_haddr (struct host_decl **hp, int htype, +@@ -618,6 +618,9 @@ int find_hosts_by_haddr (struct host_decl **hp, int htype, return ret; #endif @@ -1080,6 +1105,3 @@ index 9a7da80..539a233 100644 h.hlen = hlen + 1; h.hbuf [0] = htype; memcpy (&h.hbuf [1], haddr, hlen); --- -2.1.4 - diff --git a/0017-server-no-success-report-before-send.919959.patch b/0017-server-no-success-report-before-send.919959.patch index bc8502f..a9676bd 100644 --- a/0017-server-no-success-report-before-send.919959.patch +++ b/0017-server-no-success-report-before-send.919959.patch @@ -4,17 +4,14 @@ Date: Mon, 14 Sep 2015 15:31:37 +0200 Subject: [PATCH] server: no success report before send (bsc#919959) References: bsc#919959 ---- - server/dhcp.c | 53 ++++++++++++++++++++++++++++++----------------------- - 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/server/dhcp.c b/server/dhcp.c -index 0f53ac2..3a610e8 100644 +index effa9b1..18297a6 100644 --- a/server/dhcp.c +++ b/server/dhcp.c -@@ -3643,22 +3643,6 @@ void dhcp_reply (lease) - } else - s = (char *)0; +@@ -3859,22 +3859,6 @@ void dhcp_reply (lease) + } + #endif - /* Say what we're doing... */ - log_info ("%s on %s to %s %s%s%svia %s", @@ -32,10 +29,10 @@ index 0f53ac2..3a610e8 100644 - ? inet_ntoa (state -> giaddr) - : state -> ip -> name)); - - /* Set up the hardware address... */ - hto.hlen = lease -> hardware_addr.hlen; - memcpy (hto.hbuf, lease -> hardware_addr.hbuf, hto.hlen); -@@ -3695,12 +3679,13 @@ void dhcp_reply (lease) + #ifdef DEBUG_PACKET + dump_raw ((unsigned char *)&raw, packet_length); + #endif +@@ -3906,12 +3890,13 @@ void dhcp_reply (lease) "packet over %s interface.", MDL, packet_length, fallback_interface->name); @@ -53,7 +50,7 @@ index 0f53ac2..3a610e8 100644 } /* If the client is RENEWING, unicast to the client using the -@@ -3733,11 +3718,13 @@ void dhcp_reply (lease) +@@ -3944,11 +3929,13 @@ void dhcp_reply (lease) " packet over %s interface.", MDL, packet_length, fallback_interface->name); @@ -70,7 +67,7 @@ index 0f53ac2..3a610e8 100644 } /* If it comes from a client that already knows its address -@@ -3765,8 +3752,28 @@ void dhcp_reply (lease) +@@ -3976,8 +3963,28 @@ void dhcp_reply (lease) log_error ("%s:%d: Failed to send %d byte long " "packet over %s interface.", MDL, packet_length, state->ip->name); @@ -99,6 +96,3 @@ index 0f53ac2..3a610e8 100644 /* Free all of the entries in the option_state structure now that we're done with them. */ --- -2.1.4 - diff --git a/dhclient.conf b/dhclient.conf index b61be5c..a81c6d8 100644 --- a/dhclient.conf +++ b/dhclient.conf @@ -39,7 +39,7 @@ option rfc4833-tz-posix-string code 100 = string; option rfc4833-tz-name code 101 = string; # Request several well known/usefull dhcp options. -request subnet-mask, broadcast-address, routers, rfc3442-classless-static-routes, interface-mtu, host-name, domain-name, domain-search, domain-name-servers, nis-domain, is-servers, nds-context, nds-servers, nds-tree-name, netbios-name-servers, netbios-dd-server, netbios-node-type, netbios-scope, ntp-servers; +request subnet-mask, broadcast-address, routers, rfc3442-classless-static-routes, interface-mtu, host-name, domain-name, domain-search, domain-name-servers, nis-domain, nis-servers, nds-context, nds-servers, nds-tree-name, netbios-name-servers, netbios-dd-server, netbios-node-type, netbios-scope, ntp-servers; # rfc4833-tz-posix-string, rfc4833-tz-name; # We request above options, require only the IP configuration: diff --git a/dhcp-4.3.3-P1.tar.gz b/dhcp-4.3.3-P1.tar.gz deleted file mode 100644 index cffada6..0000000 --- a/dhcp-4.3.3-P1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c11e896dffa1bfbc49462965d3f6dec45534e34068603546d9a236f2aa669921 -size 9204043 diff --git a/dhcp-4.3.3-P1.tar.gz.asc b/dhcp-4.3.3-P1.tar.gz.asc deleted file mode 100644 index 3c59ba1..0000000 --- a/dhcp-4.3.3-P1.tar.gz.asc +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.11 (GNU/Linux) - -iQEcBAABAgAGBQJWdAE2AAoJEG+m68mRGkwCuAoIAIJDWxX1ENjTOcSP3SLaloIB -0ZMlWF5HvWFDQNoARDAB0k35gYm7Qk3xuqBpboRm8N6z0kVZIj59b9mdK5YeuFBD -qhmXE5AQyGPytyPMmK4x2IDqxksGoz5tUMCXFTX1OA8De8ejTn5XkcIh/wlr7A93 -f3nnFKxKvKeNhyfLyonraZbEhKZ4nGogGEqT5ewQ3BSegrECnFvMTjCwUq58nYM6 -RT8AeATU/MHjLeZcQLByvda9F5VhqUdGnqhEjMJhuI2NCFfMVILXgIZ2Ietl0S2a -I0s0y1wu9I3gPvhlD6VwQsWZWN3v1oV1uGeJS+1HGxrqJUB4QhztiNY0tElL1Y8= -=QT0D ------END PGP SIGNATURE----- diff --git a/dhcp-4.3.5.tar.gz b/dhcp-4.3.5.tar.gz new file mode 100644 index 0000000..eab724a --- /dev/null +++ b/dhcp-4.3.5.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb95936bf15d2393c55dd505bc527d1d4408289cec5a9fa8abb99f7577e7f954 +size 10075147 diff --git a/dhcp-4.3.5.tar.gz.asc b/dhcp-4.3.5.tar.gz.asc new file mode 100644 index 0000000..0202fe1 --- /dev/null +++ b/dhcp-4.3.5.tar.gz.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.11 (GNU/Linux) + +iQEcBAABAgAGBQJX8jrBAAoJEG+m68mRGkwCczcH/1lMdlvf2RX+IfNraDTXWmY1 ++MGk51H7aIJDRDFhiLA1f1ht1hIXJB0gnaOdJxLcqQGUiHPQfVZidDz2XxAjr7S2 +VvV6mfHxO1+oPsaFzCEItDqHk/LJcBDgKWC2cvabNfi5Nyq8rR+Zjn0i509DYFBR +cJYzau7Smse8ZVpUrsdLOtKgNznVPioowqCooiOlzZfYNfKOdwk4z6U8vglLhRL4 +xpfbg373Z78dExeNPqJ97c/tUg2YCnuZGvLfwvI+2Bzrp63TbAnJYB3CnyCj+fS2 +iSH7WACNSqRQoEWxE+vi9kTY0GGVFaonPZSRMT1DKFhBge4TdMCm2STIIOJiPFw= +=xG2q +-----END PGP SIGNATURE----- diff --git a/dhcp.changes b/dhcp.changes index bf2619f..65db6ae 100644 --- a/dhcp.changes +++ b/dhcp.changes @@ -1,3 +1,92 @@ +------------------------------------------------------------------- +Thu Jul 6 16:17:18 CEST 2017 - ndas@suse.de + +- fixed a typo in nis-servers option name breaking the config file introduced + in previous change to workaround issues in NetworkManager parser. +- Update to dhcp-4.3.5 + + - Corrected a bug which could cause the server to sporadically crash while + loading lease files with the lease-id-format is set to "hex". Our thanks + to Jay Ford, University of Iowa for reporting the issue. + [ISC-Bugs #43185] + - Eliminated a noisy, but otherwise harmless debug log statment that may + appear during server startup when building with --enable-binary-leases + and configuring multiple pools in a shared network. Thanks to Fernando + Soto from BlueCat Networks for reporting the issue and supplying a patch. + [ISC-Bugs #43262] + - Fixed util/bindvar.sh error handling. + [ISC-Bugs #41973] + - Correct error message in relay to use remote id length instead + of circuit id length. + [ISC-Bugs #42556] + - Add logic to test directory Makefiles to avoid copying Attfile(s) + when building within the source tree. This eliminates a noisy but + otherwise harmless error message when running "make check". + [ISC-Bugs #41883] + - Leases are now scrubbed of certain prior use information when pool + re-balancing reassigns them from one FO peer to the other. This + corrects an issue where leases that were offered but not used + by the client retained the client hostname from the original + client. Thanks to Pavel Polacek, Jan Evangelista Purkyne University + for reporting the issue. + [ISC-Bugs #42008] + - In the LDAP code and schema add some missing '6' characters to use + the v6 instead of the v4 versions. Thanks to Denis Taranushin for + reporting this issue and supplying its patch. + [ISC-Bugs #42666] + - Correct how the pick-first-value expression is written to a lease + file. Previously it was written as a concat expression due to + a cut and paste error. + [ISC-Bugs #42253] + - Modify the DDNS code to clean up the PTR record even if there + are issues while cleaning up the A or AAAA records. + [ISC-Bugs #23954] + - Added global configuration parameter, abandon-lease-time, which determines + the amount of time a lease remains abandoned. The default is 84600 seconds. + Additionaly, the server now conducts a ping check (if ping checks are + enabled) prior to offering an abandoned lease to client. Our thanks to + David Zych at University of Illinois for reporting the issue and working + with us to produce a viable solution. + [ISC-Bugs #41815] + - Correct handling of interface names during interface discovery. This + addresses an issue where interface names of 15 characters in length + could lead to crashes or interface recognition errors during startup + of dhcpd, dhclient, and dhcrelay. + [ISC-Bugs #42226] + - Updates to contrib/dhcp-lease-list.pl to make it more friendly. + The updates are: looking for the lease file in more places and skipping + the "processing complete" output when creating machine readable + output. Thanks to Cameron Paine (cbp at null dot net) for the + patch. + [ISC-Bugs #42113] + - When reusing a lease for dhcp-cache-threshold return the hostname + to the original lease. Also if the host pointer, UID or hardware address + change don't allow reuse of the lease. + Thanks to Michael Vincent for reporting this and helping us + verify the problem and fix. + [ISC-Bugs #42849] + - Change dmalloc to use a size_t as the length argument to bring it + in line with the call it will make to malloc(). + [ISC-Bugs #40843] + - If the failover socket can't be bound, close it. Otherwise if the + user configures an incorrect address in the failover stanza the + server will continue to open new sockets every 90 seconds until + it runs out. + [ISC-Bugs #42452] + - Add DHCPv4-mode, dhcrelay command line options, "-iu" and "-id", that + allow interfaces to be upstream or downstream respectively. Upstream + interfaces will accept and forward only BOOTP replies, while downstream + interfaces will accept and forward only BOOTP requests. + [ISC-Bugs #41547] + - Clean up some memory references in the vendor-class construct. + [ISC-Bugs #42984] + [*0006-dhcp-4.3.2-dhclient-send-hostname-or-fqdn.patch, + *0011-Fixed-linux-interface-discovery-using-getifaddrs.patch, + *0013-dhcp-4.2.x-dhcpv6-decline-on-DAD-failure.872609.patch, + *0016-infiniband-support.patch, + *0017-server-no-success-report-before-send.919959.patch] + + ------------------------------------------------------------------- Mon Jul 3 09:08:32 UTC 2017 - zaitor@opensuse.org diff --git a/dhcp.keyring b/dhcp.keyring index 5ffc091..515cb63 100644 --- a/dhcp.keyring +++ b/dhcp.keyring @@ -1,36 +1,152 @@ -pub 2048R/911A4C02 2014-12-02 [verfällt: 2017-01-31] -uid Internet Systems Consortium, Inc. (Signing key, 2015-2016) -sig 911A4C02 2014-12-02 [selfsig] -sub 2048R/1BD14881 2014-12-02 [verfällt: 2017-01-31] -sig 911A4C02 2014-12-02 [keybind] -----BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.4.11 (GNU/Linux) -mQENBFR9szQBCADAwiKoEyFh32NHLc+c1vGgZ2lDKvXd7MoZZAOM2NUJkaDqt+Xy -537ycGmZRqukpGUsa0fDeqjOq+l4paX3QnW1DEs8ypnWi5Zme4lYHysmNeG33ihe -SMeGRbnZi+9VTho3NGv3iM9gtRMDXTB5wi7OCu0XNypUtR2afP9F9EgRs4nJ5iMz -o5c1y0wH4y+lJ33NCHZDj8ditl64yMbuVlZOD3UxoQqw/8E6T4rHly64g9s6Ld7o -YybSN/hKIXFZRqrTebEd2LwZqGhPQIgYDUdumwvtw6jfrosbMOx0tan3esnxlptl -fbkmOsoi8pPJqlo2VtLBx9XN53ZFMqc/Pj3tABEBAAG0TUludGVybmV0IFN5c3Rl -bXMgQ29uc29ydGl1bSwgSW5jLiAoU2lnbmluZyBrZXksIDIwMTUtMjAxNikgPGNv -ZGVzaWduQGlzYy5vcmc+iQE9BBMBAgAoBQJUfbM0AhsDBQkEEtKABgsJCAcDAgYV -CAIJCgsEFgIDAQIeAQIXgAAKCRBvpuvJkRpMAhD3B/ip18kQSE4//Yt8VMF6kciD -bcCQAOwy45/1frZaX9wS5ri/pdHxB0vw4SwrpJgJEkLGG0sEzRwS87QeFCtGDhIw -J/+5JX6in0cJ+hr2G7DJUpVgKp3Y8lEZ3ch+gAZ3k45uzzoOTT4tm6uXWlkOnlPJ -jUb1s9bVzL9zUsJ7XaV5x4aR3Bw53/izJEIaxWHj1CEjAzRC7wPQpo/EK+fWzFBf -enSCBJEvW1vkomtb1jMdj+uhod1LzFdXHdQjDCSKn/Glpn/YcZ9/LkiUSwNLTpL4 -CxDbEis4QWNDndAR/u9REC1zDW/xQEC3UxsB06Zm9NaWjAHy8s0rOihgoetaroa5 -AQ0EVH2zNAEIAK3gbs1saWWHWGxsPuhOf+x18g0/+N7f4fZE7TTetPNhdOgY0LGx -ul9VHRoZgvPbnm+BZmZhYGMr/oWlTEuF+sa/Dr8SKqVDjYIj0qOzimMLYgaKYV8S -Q8LhUFtUQjm5V5J/FQ97NzO2fPgEIo7JbIVrhsPEms+1gl9yanKW/+HUovl7KUyN -RovfaJdpO4uyuY9CGz875DqE39EhflBWN96bpCUmp9O/VQs4eJTp6pkv2EkMVcEa -dtFXAVFlSFe/OUd83gbVXM9NCRfY98ZJaB2OnI1/lU8OomdHOt+z6h7bdtC/w42q -sjBmu+y2Fth4WXzPd7WbfvVdlMjbBHZLn8EAEQEAAYkBJQQYAQIADwUCVH2zNAIb -DAUJBBLSgAAKCRBvpuvJkRpMAhEXB/0Xq9NqR7vgSZTed7esSMWqOLWZloKdjxys -3BA9h3EXCkF6gMdE4b6OkIUH0V2aFCYJXZmyFol0tq50aETD62aCgCOVtxlkx5VH -tTLl/T1Venf9TDISiEmDBI+3DDqjA3YOH86Fql7Jq+EMZx4e2L50PWWyRR3Lzjp6 -TFe9Xh4rqQJoI0OBtLyX13Nfe/Ar4Z85DX6O1sv/CM0aWkfGbdMAeeHrDVRKaraH -ULyyX4kfu+mZj8AthxMpVDyaHil9WCX1uwGo+6rkiuAMvURbn05h5C92t2QUQJE1 -rvBKpzLEBW8qQq5foo+8yHHWpzue4i4r2uEJ3+FLUsjtlU+3F+Pq -=dem0 +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 +=E+8v -----END PGP PUBLIC KEY BLOCK----- diff --git a/dhcp.spec b/dhcp.spec index 42dfb68..95a89c4 100644 --- a/dhcp.spec +++ b/dhcp.spec @@ -16,7 +16,7 @@ # -%define isc_version 4.3.3-P1 +%define isc_version 4.3.5 %define susefw2dir %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services %define omc_prefix /usr/share/omc %define omc_svcdir %{omc_prefix}/svcinfo.d @@ -41,7 +41,7 @@ BuildRequires: openldap2-devel %endif BuildRequires: dos2unix BuildRequires: libtool -Version: 4.3.3.P1 +Version: 4.3.5 Release: 0 Summary: Common Files Used by ISC DHCP Software License: BSD-3-Clause