From cc6454d8cd0c8789fea21060510fd1ef7c99fde7 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 9 May 2018 12:00:01 -0700 Subject: ippool: Adjust for glibc dropping rpc support Signed-off-by: Khem Raj Signed-off-by: Armin Kuster --- .../ippool/ippool/0003-musl-fixes.patch | 231 ++------------------- .../recipes-daemons/ippool/ippool_1.3.bb | 8 +- 2 files changed, 16 insertions(+), 223 deletions(-) diff --git a/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch b/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch index 3cd5259fa6..952e4f0d04 100644 --- a/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch +++ b/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch @@ -12,10 +12,10 @@ Signed-off-by: Khem Raj 4 files changed, 208 insertions(+), 6 deletions(-) create mode 100644 net/ppp_defs.h -diff --git a/cli/cli_readline.c b/cli/cli_readline.c -index 2812e6e..542935c 100644 ---- a/cli/cli_readline.c -+++ b/cli/cli_readline.c +Index: ippool-1.3/cli/cli_readline.c +=================================================================== +--- ippool-1.3.orig/cli/cli_readline.c ++++ ippool-1.3/cli/cli_readline.c @@ -17,13 +17,14 @@ * Boston, MA 02110-1301 USA * @@ -33,7 +33,7 @@ index 2812e6e..542935c 100644 #include #include -@@ -630,7 +631,7 @@ static void cli_rl_uninstall_signal_handlers(void) +@@ -630,7 +631,7 @@ static void cli_rl_uninstall_signal_hand static int cli_rl_install_signal_handlers(void) { @@ -42,11 +42,11 @@ index 2812e6e..542935c 100644 rl_catch_signals = 0; rl_clear_signals(); -diff --git a/ippool_api.c b/ippool_api.c -index 2c10c47..d1127a9 100644 ---- a/ippool_api.c -+++ b/ippool_api.c -@@ -181,10 +181,13 @@ int ippool_api_rpc_check_request(SVCXPRT *xprt) +Index: ippool-1.3/ippool_api.c +=================================================================== +--- ippool-1.3.orig/ippool_api.c ++++ ippool-1.3/ippool_api.c +@@ -181,10 +181,13 @@ int ippool_api_rpc_check_request(SVCXPRT * non-loopback interface, reject the request. */ if ((!ippool_opt_remote_rpc) && @@ -63,210 +63,10 @@ index 2c10c47..d1127a9 100644 } svcerr_auth(xprt, AUTH_TOOWEAK); return -EPERM; -diff --git a/net/ppp_defs.h b/net/ppp_defs.h -new file mode 100644 -index 0000000..b06eda5 ---- /dev/null -+++ b/net/ppp_defs.h -@@ -0,0 +1,194 @@ -+/* $Id: ppp_defs.h,v 1.17 2002/12/06 09:49:15 paulus Exp $ */ -+ -+/* -+ * ppp_defs.h - PPP definitions. -+ * -+ * Copyright (c) 1984 Paul Mackerras. All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in -+ * the documentation and/or other materials provided with the -+ * distribution. -+ * -+ * 3. The name(s) of the authors of this software must not be used to -+ * endorse or promote products derived from this software without -+ * prior written permission. -+ * -+ * 4. Redistributions of any form whatsoever must retain the following -+ * acknowledgment: -+ * "This product includes software developed by Paul Mackerras -+ * ". -+ * -+ * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO -+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -+ * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN -+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING -+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#ifndef _PPP_DEFS_H_ -+#define _PPP_DEFS_H_ -+ -+/* -+ * The basic PPP frame. -+ */ -+#define PPP_HDRLEN 4 /* octets for standard ppp header */ -+#define PPP_FCSLEN 2 /* octets for FCS */ -+ -+/* -+ * Packet sizes -+ * -+ * Note - lcp shouldn't be allowed to negotiate stuff outside these -+ * limits. See lcp.h in the pppd directory. -+ * (XXX - these constants should simply be shared by lcp.c instead -+ * of living in lcp.h) -+ */ -+#define PPP_MTU 1500 /* Default MTU (size of Info field) */ -+#define PPP_MAXMTU 65535 - (PPP_HDRLEN + PPP_FCSLEN) -+#define PPP_MINMTU 64 -+#define PPP_MRU 1500 /* default MRU = max length of info field */ -+#define PPP_MAXMRU 65000 /* Largest MRU we allow */ -+#define PPP_MINMRU 128 -+ -+#define PPP_ADDRESS(p) (((u_char *)(p))[0]) -+#define PPP_CONTROL(p) (((u_char *)(p))[1]) -+#define PPP_PROTOCOL(p) ((((u_char *)(p))[2] << 8) + ((u_char *)(p))[3]) -+ -+/* -+ * Significant octet values. -+ */ -+#define PPP_ALLSTATIONS 0xff /* All-Stations broadcast address */ -+#define PPP_UI 0x03 /* Unnumbered Information */ -+#define PPP_FLAG 0x7e /* Flag Sequence */ -+#define PPP_ESCAPE 0x7d /* Asynchronous Control Escape */ -+#define PPP_TRANS 0x20 /* Asynchronous transparency modifier */ -+ -+/* -+ * Protocol field values. -+ */ -+#define PPP_IP 0x21 /* Internet Protocol */ -+#define PPP_AT 0x29 /* AppleTalk Protocol */ -+#define PPP_IPX 0x2b /* IPX protocol */ -+#define PPP_VJC_COMP 0x2d /* VJ compressed TCP */ -+#define PPP_VJC_UNCOMP 0x2f /* VJ uncompressed TCP */ -+#define PPP_IPV6 0x57 /* Internet Protocol Version 6 */ -+#define PPP_COMP 0xfd /* compressed packet */ -+#define PPP_IPCP 0x8021 /* IP Control Protocol */ -+#define PPP_ATCP 0x8029 /* AppleTalk Control Protocol */ -+#define PPP_IPXCP 0x802b /* IPX Control Protocol */ -+#define PPP_IPV6CP 0x8057 /* IPv6 Control Protocol */ -+#define PPP_CCP 0x80fd /* Compression Control Protocol */ -+#define PPP_ECP 0x8053 /* Encryption Control Protocol */ -+#define PPP_LCP 0xc021 /* Link Control Protocol */ -+#define PPP_PAP 0xc023 /* Password Authentication Protocol */ -+#define PPP_LQR 0xc025 /* Link Quality Report protocol */ -+#define PPP_CHAP 0xc223 /* Cryptographic Handshake Auth. Protocol */ -+#define PPP_CBCP 0xc029 /* Callback Control Protocol */ -+#define PPP_EAP 0xc227 /* Extensible Authentication Protocol */ -+ -+/* -+ * Values for FCS calculations. -+ */ -+#define PPP_INITFCS 0xffff /* Initial FCS value */ -+#define PPP_GOODFCS 0xf0b8 /* Good final FCS value */ -+#define PPP_FCS(fcs, c) (((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff]) -+ -+/* -+ * A 32-bit unsigned integral type. -+ */ -+ -+#if !defined(__BIT_TYPES_DEFINED__) && !defined(_BITYPES) \ -+ && !defined(__FreeBSD__) && (NS_TARGET < 40) -+#ifdef UINT32_T -+typedef UINT32_T u_int32_t; -+#else -+typedef unsigned int u_int32_t; -+typedef unsigned short u_int16_t; -+#endif -+#endif -+ -+/* -+ * Extended asyncmap - allows any character to be escaped. -+ */ -+typedef u_int32_t ext_accm[8]; -+ -+/* -+ * What to do with network protocol (NP) packets. -+ */ -+enum NPmode { -+ NPMODE_PASS, /* pass the packet through */ -+ NPMODE_DROP, /* silently drop the packet */ -+ NPMODE_ERROR, /* return an error */ -+ NPMODE_QUEUE /* save it up for later. */ -+}; -+ -+/* -+ * Statistics. -+ */ -+struct pppstat { -+ unsigned int ppp_ibytes; /* bytes received */ -+ unsigned int ppp_ipackets; /* packets received */ -+ unsigned int ppp_ierrors; /* receive errors */ -+ unsigned int ppp_obytes; /* bytes sent */ -+ unsigned int ppp_opackets; /* packets sent */ -+ unsigned int ppp_oerrors; /* transmit errors */ -+}; -+ -+struct vjstat { -+ unsigned int vjs_packets; /* outbound packets */ -+ unsigned int vjs_compressed; /* outbound compressed packets */ -+ unsigned int vjs_searches; /* searches for connection state */ -+ unsigned int vjs_misses; /* times couldn't find conn. state */ -+ unsigned int vjs_uncompressedin; /* inbound uncompressed packets */ -+ unsigned int vjs_compressedin; /* inbound compressed packets */ -+ unsigned int vjs_errorin; /* inbound unknown type packets */ -+ unsigned int vjs_tossed; /* inbound packets tossed because of error */ -+}; -+ -+struct ppp_stats { -+ struct pppstat p; /* basic PPP statistics */ -+ struct vjstat vj; /* VJ header compression statistics */ -+}; -+ -+struct compstat { -+ unsigned int unc_bytes; /* total uncompressed bytes */ -+ unsigned int unc_packets; /* total uncompressed packets */ -+ unsigned int comp_bytes; /* compressed bytes */ -+ unsigned int comp_packets; /* compressed packets */ -+ unsigned int inc_bytes; /* incompressible bytes */ -+ unsigned int inc_packets; /* incompressible packets */ -+ unsigned int ratio; /* recent compression ratio << 8 */ -+}; -+ -+struct ppp_comp_stats { -+ struct compstat c; /* packet compression statistics */ -+ struct compstat d; /* packet decompression statistics */ -+}; -+ -+/* -+ * The following structure records the time in seconds since -+ * the last NP packet was sent or received. -+ */ -+struct ppp_idle { -+ time_t xmit_idle; /* time since last NP packet sent */ -+ time_t recv_idle; /* time since last NP packet received */ -+}; -+ -+#ifndef __P -+#ifdef __STDC__ -+#define __P(x) x -+#else -+#define __P(x) () -+#endif -+#endif -+ -+#endif /* _PPP_DEFS_H_ */ -diff --git a/usl/usl.h b/usl/usl.h -index cdc16db..88d2714 100644 ---- a/usl/usl.h -+++ b/usl/usl.h +Index: ippool-1.3/usl/usl.h +=================================================================== +--- ippool-1.3.orig/usl/usl.h ++++ ippool-1.3/usl/usl.h @@ -38,6 +38,10 @@ #include "usl_fsm.h" #include "usl_list.h" @@ -278,6 +78,3 @@ index cdc16db..88d2714 100644 #define USL_VERSION "0.6" #ifdef DEBUG --- -2.13.3 - diff --git a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb index 6e47483570..6fa46904b3 100644 --- a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb +++ b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb @@ -24,8 +24,6 @@ SRC_URI = "https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-$ file://0001-read-returns-ssize_t.patch \ file://0002-Mark-first-element-of-a-string-as-null.patch \ file://0003-cli-Mark-return-of-strtol-as-long-int.patch \ - " -SRC_URI_append_libc-musl = "\ file://0002-link-with-libtirpc.patch \ file://0003-musl-fixes.patch \ " @@ -36,8 +34,7 @@ SRC_URI[sha256sum] = "d3eab7d6cad5da8ccc9d1e31d5303e27a39622c07bdb8fa3618eea3144 inherit systemd -DEPENDS = "readline ppp ncurses gzip-native" -DEPENDS_append_libc-musl = " libtirpc" +DEPENDS = "readline ppp ncurses gzip-native rpcsvc-proto-native libtirpc" RDEPENDS_${PN} = "rpcbind" EXTRA_OEMAKE = "CC='${CC}' AS='${AS}' LD='${LD}' AR='${AR}' NM='${NM}' STRIP='${STRIP}'" @@ -45,8 +42,7 @@ EXTRA_OEMAKE += "PPPD_VERSION=${PPPD_VERSION} SYS_LIBDIR=${libdir}" # enable self tests EXTRA_OEMAKE += "IPPOOL_TEST=y" -CPPFLAGS += "${SELECTED_OPTIMIZATION}" -CPPFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" +CPPFLAGS += "${SELECTED_OPTIMIZATION} -I${STAGING_INCDIR}/tirpc" SYSTEMD_SERVICE_${PN} = "ippool.service" SYSTEMD_AUTO_ENABLE = "disable" -- cgit 1.2.3-korg