aboutsummaryrefslogtreecommitdiff
path: root/net/isc-dhcp/patches
diff options
context:
space:
mode:
authorPhilip Prindeville <philipp@redfish-solutions.com>2016-12-23 17:24:56 -0700
committerPhilip Prindeville <philipp@redfish-solutions.com>2017-01-06 15:52:28 -0700
commitac531a9c54db9da9e8ea515dd33f6371125c7954 (patch)
tree50af54914f11614b0ef5a42225c697587a0e0870 /net/isc-dhcp/patches
parent811595c8488405fb62ae718a4fca7b99a27756df (diff)
isc-dhcp: bump version to latest and fix build issues
Version bumped to 4.3.5. Separated out compile/install steps since compiling with $DESTDIR yields bogus results. Removed rfc-3527 patch as something similar (better) is now upstream (well, more complete error checking anyway). Change relay scripts from '-l ifname' to '-U ifname' to correspond to upstream changes. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Diffstat (limited to 'net/isc-dhcp/patches')
-rw-r--r--net/isc-dhcp/patches/100-relay-rfc3527-link-selection.patch100
1 files changed, 0 insertions, 100 deletions
diff --git a/net/isc-dhcp/patches/100-relay-rfc3527-link-selection.patch b/net/isc-dhcp/patches/100-relay-rfc3527-link-selection.patch
deleted file mode 100644
index 1c8659075..000000000
--- a/net/isc-dhcp/patches/100-relay-rfc3527-link-selection.patch
+++ /dev/null
@@ -1,100 +0,0 @@
---- a/relay/dhcrelay.c
-+++ b/relay/dhcrelay.c
-@@ -60,6 +60,7 @@
- int client_packet_errors = 0; /* Errors sending packets to clients. */
-
- int add_agent_options = 0; /* If nonzero, add relay agent options. */
-+int add_rfc3527_suboption = 0; /* If nonzero, add RFC3527 link selection sub-option. */
-
- int agent_option_errors = 0; /* Number of packets forwarded without
- agent options because there was no room. */
-@@ -99,6 +100,8 @@
- struct sockaddr_in to;
- } *servers;
-
-+struct interface_info *uplink;
-+
- #ifdef DHCPv6
- struct stream_list {
- struct stream_list *next;
-@@ -147,6 +150,7 @@
- " [-pf <pid-file>] [--no-pid]\n"\
- " [-m append|replace|forward|discard]\n" \
- " [-i interface0 [ ... -i interfaceN]\n" \
-+" [-l interface]\n" \
- " server0 [ ... serverN]\n\n" \
- " dhcrelay -6 [-d] [-q] [-I] [-c <hops>] [-p <port>]\n" \
- " [-pf <pid-file>] [--no-pid]\n" \
-@@ -161,6 +165,7 @@
- " [-pf <pid-file>] [--no-pid]\n" \
- " [-m append|replace|forward|discard]\n" \
- " [-i interface0 [ ... -i interfaceN]\n" \
-+" [-l interface]\n" \
- " server0 [ ... serverN]\n\n"
- #endif
-
-@@ -325,6 +330,20 @@
- agent_relay_mode = discard;
- } else
- usage();
-+ } else if (!strcmp (argv [i], "-l")) {
-+ add_agent_options = 1;
-+ add_rfc3527_suboption = 1;
-+ if (++i == argc)
-+ usage();
-+
-+ status = interface_allocate(&uplink, MDL);
-+ if (status != ISC_R_SUCCESS)
-+ log_fatal("%s: interface_allocate: %s",
-+ argv[i],
-+ isc_result_totext(status));
-+ strcpy(uplink->name, argv[i]);
-+ interface_snorf(uplink, INTERFACE_REQUESTED);
-+ //interface_dereference(&uplink, MDL);
- } else if (!strcmp(argv[i], "-D")) {
- #ifdef DHCPv6
- if (local_family_set && (local_family == AF_INET6)) {
-@@ -711,12 +730,17 @@
- ip->addresses[0])))
- return;
-
-+ /* RFC3527: Replace giaddr address by uplink address. The original
-+ * giaddr will be used in the link selection sub-option */
-+ if (add_rfc3527_suboption)
-+ packet->giaddr = uplink->addresses[0];
-+
- /* If giaddr is not already set, Set it so the server can
- figure out what net it's from and so that we can later
- forward the response to the correct net. If it's already
- set, the response will be sent directly to the relay agent
- that set giaddr, so we won't see it. */
-- if (!packet->giaddr.s_addr)
-+ else if (!packet->giaddr.s_addr)
- packet->giaddr = ip->addresses[0];
- if (packet->hops < max_hop_count)
- packet->hops = packet->hops + 1;
-@@ -1090,6 +1114,9 @@
- optlen += ip->remote_id_len + 2; /* RAI_REMOTE_ID + len */
- }
-
-+ if (add_rfc3527_suboption)
-+ optlen += 6;
-+
- /* We do not support relay option fragmenting(multiple options to
- * support an option data exceeding 255 bytes).
- */
-@@ -1121,6 +1148,14 @@
- memcpy(sp, ip->remote_id, ip->remote_id_len);
- sp += ip->remote_id_len;
- }
-+
-+ if (add_rfc3527_suboption) {
-+ *sp++ = RAI_LINK_SELECT;
-+ *sp++ = 4u;
-+ memcpy(sp, &giaddr.s_addr, 4);
-+ sp += 4;
-+ log_debug ("RFC3527 link selection sub-option added: %s", inet_ntoa(giaddr));
-+ }
- } else {
- ++agent_option_errors;
- log_error("No room in packet (used %d of %d) "