SHA256
1
0
forked from pool/dhcp
dhcp/0021-dhcp-ip-family-symlinks.patch
Reinhard Max 9f2ff0f90b Accepting request 866365 from home:dirkmueller:branches:network:dhcp
- 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
2021-02-10 14:21:23 +00:00

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. */