9f2ff0f90b
- update to 4.4.2: * Please note that that ISC DHCP is now licensed under the Mozilla Public License, MPL 2.0. In general, the areas of focus for ISC DHCP 4.4 were: 1. Dynamic DNS additions 2. dhclient improvements 3. Support for dynamic shared libraries * Added the interface name to socket initialization failure log messages. Prior to this the log messages stated only the error reason without stating the target interface. * Corrected buffer pointer logic in dhcrelay functions that manipulate agent relay options. Thanks to Thomas Imbert of MSRC Vulnerabilities & Mitigations for reporting the issue. * Corrected unresolved symbol errors building relay_unittests when configured to build using libtool. * A new configuration parameter, ping-cltt-secs (v4 operation only), has been added to allow the user to specify the number of seconds that must elapse since CLTT before a ping check is conducted. Prior to this, the value was hard coded at 60 seconds. Please see the server man pages for a more detailed discussion. * A new configuration parameter, ping-timeout-ms (v4 operation only), has been added that allows the user to specify the amount of time the server waits for a ping-check response in milliseconds rather than in seconds (via ping-timeout). When greater than zero, the value of ping-timeout-ms will override the value of ping-timeout. Thanks to Jay Doran from Bluecat Networks for suggesting this feature. * An experimental tool called, Keama (KEA Migration Assistant), which helps translate ISC DHCP configurations to Kea configurations, is now included in the distribution. * Corrected a misuse of the BIND9 DDNS API which caused DDNS updates to be OBS-URL: https://build.opensuse.org/request/show/866365 OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=224
68 lines
2.1 KiB
Diff
68 lines
2.1 KiB
Diff
Index: client/dhclient.c
|
|
===================================================================
|
|
--- client/dhclient.c.orig
|
|
+++ client/dhclient.c
|
|
@@ -284,6 +284,18 @@ main(int argc, char **argv) {
|
|
#else
|
|
progname = argv[0];
|
|
#endif
|
|
+
|
|
+#ifdef DHCPv6
|
|
+ /* Support being called using `dhclient4` or `dhclient6` symlinks */
|
|
+ if (argv[0][strlen(argv[0]) - 1] == '4') {
|
|
+ local_family_set = 1;
|
|
+ local_family = AF_INET;
|
|
+ } else if (argv[0][strlen(argv[0]) - 1] == '6') {
|
|
+ local_family_set = 1;
|
|
+ local_family = AF_INET6;
|
|
+ }
|
|
+#endif /* DHCPv6 */
|
|
+
|
|
/* Initialize client globals. */
|
|
memset(&default_duid, 0, sizeof(default_duid));
|
|
|
|
Index: relay/dhcrelay.c
|
|
===================================================================
|
|
--- relay/dhcrelay.c.orig
|
|
+++ relay/dhcrelay.c
|
|
@@ -300,6 +300,17 @@ main(int argc, char **argv) {
|
|
progname = argv[0];
|
|
#endif
|
|
|
|
+#ifdef DHCPv6
|
|
+ /* Support being called using `dhcrelay4` or `dhcrelay6` symlinks */
|
|
+ if (argv[0][strlen(argv[0]) - 1] == '4') {
|
|
+ local_family_set = 1;
|
|
+ local_family = AF_INET;
|
|
+ } else if (argv[0][strlen(argv[0]) - 1] == '6') {
|
|
+ local_family_set = 1;
|
|
+ local_family = AF_INET6;
|
|
+ }
|
|
+#endif /* DHCPv6 */
|
|
+
|
|
/* Make sure that file descriptors 0(stdin), 1,(stdout), and
|
|
2(stderr) are open. To do this, we assume that when we
|
|
open a file the lowest available file descriptor is used. */
|
|
Index: server/dhcpd.c
|
|
===================================================================
|
|
--- server/dhcpd.c.orig
|
|
+++ server/dhcpd.c
|
|
@@ -301,6 +301,17 @@ main(int argc, char **argv) {
|
|
progname = argv[0];
|
|
#endif
|
|
|
|
+#ifdef DHCPv6
|
|
+ /* Support being called using `dhcpd4` or `dhcpd6` symlinks */
|
|
+ if (argv[0][strlen(argv[0]) - 1] == '4') {
|
|
+ local_family_set = 1;
|
|
+ local_family = AF_INET;
|
|
+ } else if (argv[0][strlen(argv[0]) - 1] == '6') {
|
|
+ local_family_set = 1;
|
|
+ local_family = AF_INET6;
|
|
+ }
|
|
+#endif /* DHCPv6 */
|
|
+
|
|
/* Make sure that file descriptors 0 (stdin), 1, (stdout), and
|
|
2 (stderr) are open. To do this, we assume that when we
|
|
open a file the lowest available file descriptor is used. */
|