[oe] [meta-networking][PATCH 06/16] ippool: Adjust for glibc dropping rpc support
Khem Raj
raj.khem at gmail.com
Wed May 9 19:00:01 UTC 2018
Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
.../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 <raj.khem at gmail.com>
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 <signal.h>
#include <readline/readline.h>
-@@ -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
-+ * <paulus at samba.org>".
-+ *
-+ * 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"
--
2.17.0
More information about the Openembedded-devel
mailing list