* Update buildroot-patches for 2020.11-rc1 buildroot * Update buildroot to 2020.11-rc1 Signed-off-by: Stefan Agner <stefan@agner.ch> * Don't rely on sfdisk --list-free output The --list-free (-F) argument does not allow machine readable mode. And it seems that the output format changes over time (different spacing, using size postfixes instead of raw blocks). Use sfdisk json output and calculate free partition space ourselfs. This works for 2.35 and 2.36 and is more robust since we rely on output which is meant for scripts to parse. * Migrate defconfigs for Buildroot 2020.11-rc1 In particular, rename BR2_TARGET_UBOOT_BOOT_SCRIPT(_SOURCE) to BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT(_SOURCE). * Rebase/remove systemd patches for systemd 246 * Drop apparmor/libapparmor from buildroot-external * hassos-persists: use /run as directory for lockfiles The U-Boot tools use /var/lock by default which is not created any more by systemd by default (it is under tmpfiles legacy.conf, which we no longer install). * Disable systemd-update-done.service The service is not suited for pure read-only systems. In particular the service needs to be able to write a file in /etc and /var. Remove the service. Note: This is a static service and cannot be removed using systemd-preset. * Disable apparmor.service for now The service loads all default profiles. Some might actually cause problems. E.g. the profile for ping seems not to match our setup for /etc/resolv.conf: [85503.634653] audit: type=1400 audit(1605286002.684:236): apparmor="DENIED" operation="open" profile="ping" name="/run/resolv.conf" pid=27585 comm="ping" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
122 lines
3.7 KiB
Diff
122 lines
3.7 KiB
Diff
From 129b7e402bd6e7278854e5a8935fce460552b5f4 Mon Sep 17 00:00:00 2001
|
|
From: Thomas Markwalder <tmark@isc.org>
|
|
Date: Thu, 30 Jul 2020 10:01:36 -0400
|
|
Subject: [PATCH] [#117] Fixed gcc 10 compilation issues
|
|
|
|
client/dhclient.c
|
|
relay/dhcrelay.c
|
|
extern'ed local_port,remote_port
|
|
|
|
common/discover.c
|
|
init local_port,remote_port to 0
|
|
|
|
server/mdb.c
|
|
extern'ed dhcp_type_host
|
|
|
|
server/mdb6.c
|
|
create_prefix6() - eliminated memcpy string overflow error
|
|
|
|
[Retrieved from:
|
|
https://gitlab.isc.org/isc-projects/dhcp/-/merge_requests/60/diffs?commit_id=129b7e402bd6e7278854e5a8935fce460552b5f4]
|
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
---
|
|
RELNOTES | 5 +++++
|
|
client/dhclient.c | 5 +++--
|
|
common/discover.c | 4 ++--
|
|
relay/dhcrelay.c | 4 ++--
|
|
server/mdb.c | 2 +-
|
|
server/mdb6.c | 2 +-
|
|
6 files changed, 14 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/RELNOTES b/RELNOTES
|
|
index 9d0a0414..6919dba7 100644
|
|
--- a/RELNOTES
|
|
+++ b/RELNOTES
|
|
@@ -103,6 +103,11 @@ ISC DHCP is open source software maintained by Internet Systems
|
|
Consortium. This product includes cryptographic software written
|
|
by Eric Young (eay@cryptsoft.com).
|
|
|
|
+ Changes since 4.4.2 (Bug Fixes)
|
|
+
|
|
+- Minor corrections to allow compilation under gcc 10.
|
|
+ [Gitlab #117]
|
|
+
|
|
Changes since 4.4.2b1 (Bug Fixes)
|
|
|
|
- Added a clarification on DHCPINFORMs and server authority to
|
|
diff --git a/client/dhclient.c b/client/dhclient.c
|
|
index 189e5270..7a7837cb 100644
|
|
--- a/client/dhclient.c
|
|
+++ b/client/dhclient.c
|
|
@@ -83,8 +83,9 @@ static const char message [] = "Internet Systems Consortium DHCP Client";
|
|
static const char url [] = "For info, please visit https://www.isc.org/software/dhcp/";
|
|
#endif /* UNIT_TEST */
|
|
|
|
-u_int16_t local_port = 0;
|
|
-u_int16_t remote_port = 0;
|
|
+extern u_int16_t local_port;
|
|
+extern u_int16_t remote_port;
|
|
+
|
|
#if defined(DHCPv6) && defined(DHCP4o6)
|
|
int dhcp4o6_state = -1; /* -1 = stopped, 0 = polling, 1 = started */
|
|
#endif
|
|
diff --git a/common/discover.c b/common/discover.c
|
|
index ca4f4d55..22f09767 100644
|
|
--- a/common/discover.c
|
|
+++ b/common/discover.c
|
|
@@ -45,8 +45,8 @@ struct interface_info *fallback_interface = 0;
|
|
|
|
int interfaces_invalidated;
|
|
int quiet_interface_discovery;
|
|
-u_int16_t local_port;
|
|
-u_int16_t remote_port;
|
|
+u_int16_t local_port = 0;
|
|
+u_int16_t remote_port = 0;
|
|
u_int16_t relay_port = 0;
|
|
int dhcpv4_over_dhcpv6 = 0;
|
|
int (*dhcp_interface_setup_hook) (struct interface_info *, struct iaddr *);
|
|
diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c
|
|
index 883d5058..7211e3bb 100644
|
|
--- a/relay/dhcrelay.c
|
|
+++ b/relay/dhcrelay.c
|
|
@@ -95,8 +95,8 @@ enum { forward_and_append, /* Forward and append our own relay option. */
|
|
forward_untouched, /* Forward without changes. */
|
|
discard } agent_relay_mode = forward_and_replace;
|
|
|
|
-u_int16_t local_port;
|
|
-u_int16_t remote_port;
|
|
+extern u_int16_t local_port;
|
|
+extern u_int16_t remote_port;
|
|
|
|
/* Relay agent server list. */
|
|
struct server_list {
|
|
diff --git a/server/mdb.c b/server/mdb.c
|
|
index ff8a707f..8266d764 100644
|
|
--- a/server/mdb.c
|
|
+++ b/server/mdb.c
|
|
@@ -67,7 +67,7 @@ static host_id_info_t *host_id_info = NULL;
|
|
|
|
int numclasseswritten;
|
|
|
|
-omapi_object_type_t *dhcp_type_host;
|
|
+extern omapi_object_type_t *dhcp_type_host;
|
|
|
|
isc_result_t enter_class(cd, dynamicp, commit)
|
|
struct class *cd;
|
|
diff --git a/server/mdb6.c b/server/mdb6.c
|
|
index da7baf6e..ebe01e56 100644
|
|
--- a/server/mdb6.c
|
|
+++ b/server/mdb6.c
|
|
@@ -1945,7 +1945,7 @@ create_prefix6(struct ipv6_pool *pool, struct iasubopt **pref,
|
|
}
|
|
new_ds.data = new_ds.buffer->data;
|
|
memcpy(new_ds.buffer->data, ds.data, ds.len);
|
|
- memcpy(new_ds.buffer->data + ds.len, &tmp, sizeof(tmp));
|
|
+ memcpy(&new_ds.buffer->data[0] + ds.len, &tmp, sizeof(tmp));
|
|
data_string_forget(&ds, MDL);
|
|
data_string_copy(&ds, &new_ds, MDL);
|
|
data_string_forget(&new_ds, MDL);
|
|
--
|
|
GitLab
|
|
|