diff options
Diffstat (limited to 'meta-networking/recipes-daemons/ippool')
13 files changed, 217 insertions, 5 deletions
diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch index e967621259..5555d464c1 100644 --- a/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-Respect-flags-from-env.patch @@ -5,6 +5,8 @@ Subject: [PATCH 1/3] Respect flags from env Signed-off-by: Khem Raj <raj.khem@gmail.com> --- +Upstream-Status: Pending + Makefile | 4 ++-- cli/Makefile | 2 +- pppd/Makefile | 2 +- diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-Use-unsigned-int-type-for-1-bit-integer-bitfield.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-Use-unsigned-int-type-for-1-bit-integer-bitfield.patch new file mode 100644 index 0000000000..0533616722 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-Use-unsigned-int-type-for-1-bit-integer-bitfield.patch @@ -0,0 +1,42 @@ +From 4788ce6ec602f6441970e1095572c4ff0e90c7c5 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 17 Jan 2023 22:33:52 -0800 +Subject: [PATCH] Use unsigned int type for 1-bit integer bitfield + +In C++, signed integers are represented in two's complement. This also applies to signed bitfields. +A signed bitfield composed of one bit can therefore store a value in the range -1 to 0. +Assigning a value of 1 to such a bitfield should produce a warning since it is out of range of representable values. +Therefore fix this case by using unsigned int instead of signed int + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + usl/usl_signal.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/usl/usl_signal.c b/usl/usl_signal.c +index 45ddd94..8c1d4d0 100644 +--- a/usl/usl_signal.c ++++ b/usl/usl_signal.c +@@ -39,12 +39,12 @@ struct usl_notifier { + }; + + typedef struct { +- volatile int sighup:1; +- volatile int sigterm:1; +- volatile int sigchld:1; +- volatile int sigusr1:1; +- volatile int sigusr2:1; +- volatile int running:1; ++ volatile unsigned int sighup:1; ++ volatile unsigned int sigterm:1; ++ volatile unsigned int sigchld:1; ++ volatile unsigned int sigusr1:1; ++ volatile unsigned int sigusr2:1; ++ volatile unsigned int running:1; + sig_atomic_t waiting; + sigjmp_buf sigjmp; + } usl_signal_data_t; +-- +2.39.1 + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-ippool-Port-to-ppp-2.5-APIs.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-ippool-Port-to-ppp-2.5-APIs.patch new file mode 100644 index 0000000000..59d7b1e847 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-ippool-Port-to-ppp-2.5-APIs.patch @@ -0,0 +1,60 @@ +From e1b93db6a13d955c6bab6358a7fa27fecb59479f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 11 May 2023 17:24:46 -0700 +Subject: [PATCH] ippool: Port to ppp 2.5 APIs + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + pppd/ippool.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/pppd/ippool.c b/pppd/ippool.c +index 88cb901..d4b5c97 100644 +--- a/pppd/ippool.c ++++ b/pppd/ippool.c +@@ -6,7 +6,7 @@ + #include <stdlib.h> + #include <errno.h> + #include "pppd.h" +-#include "pathnames.h" ++#include "options.h" + #include "fsm.h" /* Needed for lcp.h to include cleanly */ + #include "lcp.h" + #include "ccp.h" +@@ -23,7 +23,7 @@ + + #include "ippool_rpc.h" + +-const char pppd_version[] = VERSION; ++const char pppd_version[] = PPPD_VERSION; + + static char *ippool_pool_name = NULL; + static char *ippool_pool_name2 = NULL; +@@ -205,13 +205,13 @@ void plugin_init(void) + { + #if defined(__linux__) + extern int new_style_driver; /* From sys-linux.c */ +- if (!ppp_available() && !new_style_driver) ++ if (!ppp_check_kernel_support() && !new_style_driver) + fatal("Kernel doesn't support ppp_generic - " + "needed for Ippool"); + #else + fatal("No IP pool support on this OS"); + #endif +- add_options(ippool_options); ++ ppp_add_options(ippool_options); + + memset(&ippool_addr, 0, sizeof(ippool_addr)); + +@@ -219,6 +219,6 @@ void plugin_init(void) + ip_down_hook = ippool_release_ip; + + /* brute force, just in case ip_down_hook doesn't get called */ +- add_notifier(&exitnotify, ippool_cleanup, 0); ++ ppp_add_notify(NF_EXIT, ippool_cleanup, 0); + } + +-- +2.40.1 + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-pppd-ippool.c-Fix-type-casting-issues-between-in_add.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-pppd-ippool.c-Fix-type-casting-issues-between-in_add.patch new file mode 100644 index 0000000000..a98c179290 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-pppd-ippool.c-Fix-type-casting-issues-between-in_add.patch @@ -0,0 +1,72 @@ +From da67444994bde603c7ff1483a6803bdab24e1f14 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 29 Aug 2022 09:36:55 -0700 +Subject: [PATCH 1/2] pppd/ippool.c: Fix type casting issues between in_addr + and ippool_api_ip_addr + +Also remove unused variabled + +Upstream-Status: Inappropriate [No upstream] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + pppd/ippool.c | 13 ++++++------- + 1 file changed, 6 insertions(+), 7 deletions(-) + +--- a/pppd/ippool.c ++++ b/pppd/ippool.c +@@ -16,6 +16,7 @@ + #include <sys/ioctl.h> + #include <sys/socket.h> + #include <netinet/in.h> ++#include <arpa/inet.h> + #include <signal.h> + + #include <linux/types.h> +@@ -24,7 +25,6 @@ + + const char pppd_version[] = VERSION; + +-static int ippool_fd = -1; + static char *ippool_pool_name = NULL; + static char *ippool_pool_name2 = NULL; + static char *ippool_server = "localhost"; +@@ -64,9 +64,9 @@ static int ippool_addr_alloc(CLIENT *cl, + } + + *addr = clnt_res.addr.s_addr; +- ++ struct in_addr temp_addr = {*addr}; + if (ippool_debug) { +- dbglog("Allocated address %s from pool %s", inet_ntoa(clnt_res.addr.s_addr), pool_name); ++ dbglog("Allocated address %s from pool %s", inet_ntoa(temp_addr), pool_name); + } + out: + return result; +@@ -85,14 +85,16 @@ static void ippool_addr_free(CLIENT *cl, + } + if (clnt_res < 0) { + if (ippool_debug) { ++ struct in_addr temp_addr = {free_addr.s_addr}; + warn("IP address %s free to pool %s failed: %s", +- inet_ntoa(free_addr), pool_name, strerror(-clnt_res)); ++ inet_ntoa(temp_addr), pool_name, strerror(-clnt_res)); + } + goto out; + } + + if (ippool_debug) { +- dbglog("Freed address %s to pool %s", inet_ntoa(free_addr), pool_name); ++ struct in_addr temp_addr = {free_addr.s_addr}; ++ dbglog("Freed address %s to pool %s", inet_ntoa(temp_addr), pool_name); + } + out: + return; +@@ -138,8 +140,6 @@ static void ippool_choose_ip(u_int32_t * + { + ipcp_options *wo = &ipcp_wantoptions[0]; + ipcp_options *go = &ipcp_gotoptions[0]; +- ipcp_options *ao = &ipcp_allowoptions[0]; +- ipcp_options *ho = &ipcp_hisoptions[0]; + CLIENT *cl; + int result = 0; + diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-read-returns-ssize_t.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-read-returns-ssize_t.patch index 7d3f9acb65..1b8de349cf 100644 --- a/meta-networking/recipes-daemons/ippool/ippool/0001-read-returns-ssize_t.patch +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-read-returns-ssize_t.patch @@ -10,6 +10,8 @@ usl_fd.c:284:10: error: comparison of unsigned expression < 0 is always false [- Signed-off-by: Khem Raj <raj.khem@gmail.com> --- +Upstream-Status: Pending + usl/usl_fd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch b/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch index 6fb7cc5c46..2c612e42fe 100644 --- a/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch +++ b/meta-networking/recipes-daemons/ippool/ippool/0001-usl_timer-Check-for-return-value-of-write-API.patch @@ -5,6 +5,8 @@ Subject: [PATCH] usl_timer: Check for return value of write() API Signed-off-by: Khem Raj <raj.khem@gmail.com> --- +Upstream-Status: Pending + usl/usl_timer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta-networking/recipes-daemons/ippool/ippool/0002-Mark-first-element-of-a-string-as-null.patch b/meta-networking/recipes-daemons/ippool/ippool/0002-Mark-first-element-of-a-string-as-null.patch index 6e2bd523da..f21c68f0d1 100644 --- a/meta-networking/recipes-daemons/ippool/ippool/0002-Mark-first-element-of-a-string-as-null.patch +++ b/meta-networking/recipes-daemons/ippool/ippool/0002-Mark-first-element-of-a-string-as-null.patch @@ -10,6 +10,8 @@ cli_lib.c:427:20: error: expression which evaluates to zero treated as a null po Signed-off-by: Khem Raj <raj.khem@gmail.com> --- +Upstream-Status: Pending + cli/cli_lib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-networking/recipes-daemons/ippool/ippool/0002-ippool_rpc_server.c-Add-missing-prototype-for-ippool.patch b/meta-networking/recipes-daemons/ippool/ippool/0002-ippool_rpc_server.c-Add-missing-prototype-for-ippool.patch new file mode 100644 index 0000000000..b8fdedf0c8 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/0002-ippool_rpc_server.c-Add-missing-prototype-for-ippool.patch @@ -0,0 +1,22 @@ +From f9ea91771f0d3c984e7d5fe9e15962db1ee686ad Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 29 Aug 2022 09:39:16 -0700 +Subject: [PATCH 2/2] ippool_rpc_server.c: Add missing prototype for + ippool_api_rpc_check_request + +Upstream-Status: Inappropriate [no upstream] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + ippool_rpc_server.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/Makefile ++++ b/Makefile +@@ -123,6 +123,7 @@ $(IPPOOL_RPC_STEM)_server.c: $(IPPOOL_RP + -$(RM) $@ $@.tmp + rpcgen $(RPCGENFLAGS) -m -o $@.tmp $< + cat $@.tmp | sed -e 's/switch (rqstp->rq_proc) {/if (ippool_api_rpc_check_request(transp) < 0) return; switch (rqstp->rq_proc) {/' > $@ ++ sed -i '20i int ippool_api_rpc_check_request(SVCXPRT *xprt);' $@ + + $(IPPOOL_RPC_STEM)_client.c: $(IPPOOL_RPC_STEM).x + -$(RM) $@ diff --git a/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch b/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch index d80f7b4362..75bb825302 100644 --- a/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch +++ b/meta-networking/recipes-daemons/ippool/ippool/0002-link-with-libtirpc.patch @@ -7,6 +7,8 @@ musl needs it Signed-off-by: Khem Raj <raj.khem@gmail.com> --- +Upstream-Status: Pending + Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-networking/recipes-daemons/ippool/ippool/0003-cli-Mark-return-of-strtol-as-long-int.patch b/meta-networking/recipes-daemons/ippool/ippool/0003-cli-Mark-return-of-strtol-as-long-int.patch index 3854b1133c..f6a8d62b98 100644 --- a/meta-networking/recipes-daemons/ippool/ippool/0003-cli-Mark-return-of-strtol-as-long-int.patch +++ b/meta-networking/recipes-daemons/ippool/ippool/0003-cli-Mark-return-of-strtol-as-long-int.patch @@ -10,6 +10,8 @@ error: taking the absolute value of unsigned type 'unsigned long' has no effect Signed-off-by: Khem Raj <raj.khem@gmail.com> --- +Upstream-Status: Pending + cli/cli_lib.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 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 952e4f0d04..8c42ebe30b 100644 --- a/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch +++ b/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch @@ -5,6 +5,8 @@ Subject: [PATCH 3/3] musl fixes Signed-off-by: Khem Raj <raj.khem@gmail.com> --- +Upstream-Status: Pending + cli/cli_readline.c | 7 +- ippool_api.c | 9 ++- net/ppp_defs.h | 194 +++++++++++++++++++++++++++++++++++++++++++++++++++++ diff --git a/meta-networking/recipes-daemons/ippool/ippool/ippool.service b/meta-networking/recipes-daemons/ippool/ippool/ippool.service index 281ae5fd19..f168e4ccb6 100644 --- a/meta-networking/recipes-daemons/ippool/ippool/ippool.service +++ b/meta-networking/recipes-daemons/ippool/ippool/ippool.service @@ -5,8 +5,8 @@ After=rpcbind.service [Service] Type=simple -# Start ippoold in the foreground! -ExecStart=@SBINDIR@/ippoold -f +# Start ippoold in the foreground! and enable RPC +ExecStart=@SBINDIR@/ippoold -R -f # Normal output will go to syslog, so suppress stdout. StandardOutput=null # ExecStop is not needed. systemd will send SIGTERM diff --git a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb index 3ed1767a01..36ea289945 100644 --- a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb +++ b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb @@ -9,7 +9,7 @@ addresses from ippoold. \ " HOMEPAGE = "http://www.openl2tp.org/" SECTION = "console/network" -LICENSE = "GPLv2+" +LICENSE = "GPL-2.0-or-later" SRC_URI = "https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ file://runtest.sh \ @@ -27,6 +27,10 @@ SRC_URI = "https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-$ file://0002-link-with-libtirpc.patch \ file://0003-musl-fixes.patch \ file://strncpy-truncation.patch \ + file://0001-pppd-ippool.c-Fix-type-casting-issues-between-in_add.patch \ + file://0002-ippool_rpc_server.c-Add-missing-prototype-for-ippool.patch \ + file://0001-Use-unsigned-int-type-for-1-bit-integer-bitfield.patch \ + file://0001-ippool-Port-to-ppp-2.5-APIs.patch \ " LIC_FILES_CHKSUM = "file://LICENSE;md5=4c59283b82fc2b166455e0fc23c71c6f" @@ -46,8 +50,6 @@ EXTRA_OEMAKE += "IPPOOL_TEST=y" CPPFLAGS += "${SELECTED_OPTIMIZATION} -I${STAGING_INCDIR}/tirpc" SYSTEMD_SERVICE:${PN} = "ippool.service" -SYSTEMD_AUTO_ENABLE = "disable" - do_compile:prepend() { # fix the CFLAGS= and CPPFLAGS= in main Makefile, to have the extra CFLAGS in env |