mirror of
https://github.com/openwrt/packages.git
synced 2025-12-21 21:24:31 +04:00
isc-dhcp: fix build issues with stricter compilers
The new gcc in the toolchain is failing K&R style prototypes. There are also some function pointers passed as parameters that didn't have prototypes so were causing incompatible pointer clashes. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
This commit is contained in:
@@ -11,7 +11,7 @@ PKG_NAME:=isc-dhcp
|
|||||||
UPSTREAM_NAME:=dhcp
|
UPSTREAM_NAME:=dhcp
|
||||||
PKG_REALVERSION:=4.4.3-P1
|
PKG_REALVERSION:=4.4.3-P1
|
||||||
PKG_VERSION:=4.4.3_p1
|
PKG_VERSION:=4.4.3_p1
|
||||||
PKG_RELEASE:=8
|
PKG_RELEASE:=9
|
||||||
|
|
||||||
PKG_LICENSE:=BSD-3-Clause
|
PKG_LICENSE:=BSD-3-Clause
|
||||||
PKG_LICENSE_FILES:=LICENSE
|
PKG_LICENSE_FILES:=LICENSE
|
||||||
@@ -190,6 +190,9 @@ endif
|
|||||||
|
|
||||||
TARGET_CFLAGS += -fcommon
|
TARGET_CFLAGS += -fcommon
|
||||||
|
|
||||||
|
# don't know why anyone is still publishing K&R-style C code
|
||||||
|
TARGET_CFLAGS += -Wno-old-style-definition
|
||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||||
BUILD_CC="$(HOSTCC_NOCACHE)" \
|
BUILD_CC="$(HOSTCC_NOCACHE)" \
|
||||||
|
|||||||
45
net/isc-dhcp/patches/910-incompatible-pointers.patch
Normal file
45
net/isc-dhcp/patches/910-incompatible-pointers.patch
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
--- a/server/dhcpv6.c
|
||||||
|
+++ b/server/dhcpv6.c
|
||||||
|
@@ -5843,14 +5843,29 @@ exit:
|
||||||
|
option_state_dereference(&host_opt_state, MDL);
|
||||||
|
}
|
||||||
|
|
||||||
|
+typedef void ia_na_match_t(
|
||||||
|
+ const struct data_string *client_id,
|
||||||
|
+ const struct data_string *iaaddr,
|
||||||
|
+ struct iasubopt *lease
|
||||||
|
+ );
|
||||||
|
+
|
||||||
|
+typedef void ia_na_nomatch_t(
|
||||||
|
+ const struct data_string *client_id,
|
||||||
|
+ const struct data_string *iaaddr,
|
||||||
|
+ u_int32_t *data,
|
||||||
|
+ struct packet *packet,
|
||||||
|
+ char *reply_data,
|
||||||
|
+ int *reply_ofs,
|
||||||
|
+ int reply_data_sz);
|
||||||
|
+
|
||||||
|
static void
|
||||||
|
iterate_over_ia_na(struct data_string *reply_ret,
|
||||||
|
struct packet *packet,
|
||||||
|
const struct data_string *client_id,
|
||||||
|
const struct data_string *server_id,
|
||||||
|
const char *packet_type,
|
||||||
|
- void (*ia_na_match)(),
|
||||||
|
- void (*ia_na_nomatch)())
|
||||||
|
+ ia_na_match_t ia_na_match,
|
||||||
|
+ ia_na_nomatch_t ia_na_nomatch)
|
||||||
|
{
|
||||||
|
struct option_state *opt_state;
|
||||||
|
struct host_decl *packet_host;
|
||||||
|
@@ -6351,8 +6366,8 @@ iterate_over_ia_pd(struct data_string *r
|
||||||
|
const struct data_string *client_id,
|
||||||
|
const struct data_string *server_id,
|
||||||
|
const char *packet_type,
|
||||||
|
- void (*ia_pd_match)(),
|
||||||
|
- void (*ia_pd_nomatch)())
|
||||||
|
+ ia_na_match_t ia_pd_match,
|
||||||
|
+ ia_na_nomatch_t ia_pd_nomatch)
|
||||||
|
{
|
||||||
|
struct data_string reply_new;
|
||||||
|
int reply_len;
|
||||||
Reference in New Issue
Block a user