From 4fd54fc4c56b81c9431237d9c7778b90af1a5bf8 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 23 Apr 2023 09:14:46 +0100 Subject: net-vpn/networkmanager-l2tp: fix ppp-2.5.0 patches Need to be applied separately. Closes: https://bugs.gentoo.org/904862 Signed-off-by: Sam James --- .../networkmanager-l2tp-1.20.8-ppp-2.5.0-1.patch | 161 ++++++++++ .../networkmanager-l2tp-1.20.8-ppp-2.5.0-2.patch | 170 +++++++++++ .../networkmanager-l2tp-1.20.8-ppp-2.5.0.patch | 329 --------------------- .../networkmanager-l2tp-1.20.8-r1.ebuild | 73 ----- .../networkmanager-l2tp-1.20.8-r2.ebuild | 73 +++++ 5 files changed, 404 insertions(+), 402 deletions(-) create mode 100644 net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0-1.patch create mode 100644 net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0-2.patch delete mode 100644 net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0.patch delete mode 100644 net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8-r1.ebuild create mode 100644 net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8-r2.ebuild diff --git a/net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0-1.patch b/net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0-1.patch new file mode 100644 index 000000000000..4ff829048c20 --- /dev/null +++ b/net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0-1.patch @@ -0,0 +1,161 @@ +https://bugs.gentoo.org/904843 +https://github.com/nm-l2tp/NetworkManager-l2tp/commit/e6860eb957208a932fb565dd7b5e79fe5a4df662 + +From e6860eb957208a932fb565dd7b5e79fe5a4df662 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Eivind=20N=C3=A6ss?= +Date: Fri, 3 Mar 2023 05:22:13 +0000 +Subject: [PATCH] Adding support for compiling against pppd-2.5.0 (current + master) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Eivind Næss +--- a/configure.ac ++++ b/configure.ac +@@ -33,7 +33,10 @@ dnl + AC_PROG_CC + AM_PROG_CC_C_O + AC_PROG_INSTALL ++AC_PROG_CPP ++AC_PROG_EGREP + AC_PATH_PROG(GLIB_COMPILE_RESOURCES, glib-compile-resources) ++PKG_PROG_PKG_CONFIG() + + AC_CHECK_PROG([has_file], file, yes, no) + if test x$has_file = xno ; then +@@ -49,24 +52,63 @@ dnl + dnl Required headers + dnl + AC_HEADER_STDC +-AC_CHECK_HEADERS(fcntl.h paths.h sys/ioctl.h sys/time.h syslog.h unistd.h) ++AC_CHECK_HEADERS([ ++ fcntl.h ++ paths.h ++ stdarg.h ++ stdbool.h ++ sys/ioctl.h ++ sys/time.h ++ syslog.h ++ unistd.h ++ ]) + + AC_CHECK_HEADERS(pppd/pppd.h,, + AC_MSG_ERROR(couldn't find pppd.h. pppd development headers are required.)) + ++dnl ++dnl Check the presense of other pppd/*.h files ++AC_CHECK_HEADERS([ ++ pppd/chap.h ++ pppd/chap-new.h ++ pppd/chap_ms.h ++ ]) ++ ++dnl ++dnl Versions >= 2.5.0 will have pkg-config support ++PKG_CHECK_EXISTS([pppd], ++ [AS_VAR_SET([pppd_pkgconfig_support],[yes])]) ++ ++dnl ++dnl Get the version of pppd using pkg-config, assume 2.4.9 if not present ++PPPD_VERSION=2.4.9 ++if test x"$pppd_pkgconfig_support" = xyes; then ++ PPPD_VERSION=`$PKG_CONFIG --modversion pppd` ++fi ++ + AC_ARG_WITH([pppd-plugin-dir], AS_HELP_STRING([--with-pppd-plugin-dir=DIR], [path to the pppd plugins directory])) + + if test -n "$with_pppd_plugin_dir" ; then + PPPD_PLUGIN_DIR="$with_pppd_plugin_dir" + else +- PPPD_PLUGIN_DIR="${libdir}/pppd/2.4.9" ++ PPPD_PLUGIN_DIR="${libdir}/pppd/$PPPD_VERSION" + fi + AC_SUBST(PPPD_PLUGIN_DIR) + ++dnl The version of pppd dictates what code can be included, i.e. enable use of ++dnl #if WITH_PPP_VERSION >= PPP_VERSION(2,5,0) in the code ++AC_DEFINE_UNQUOTED([PPP_VERSION(x,y,z)], ++ [((x & 0xFF) << 16 | (y & 0xFF) << 8 | (z & 0xFF) << 0)], ++ [Macro to help determine the particular version of pppd]) ++PPP_VERSION=$(echo $PPPD_VERSION | sed -e "s/\./\,/g") ++AC_DEFINE_UNQUOTED(WITH_PPP_VERSION, PPP_VERSION($PPP_VERSION), ++ [The real version of pppd represented as an int]) ++ + AC_MSG_CHECKING(whether EAP-TLS patch has been applied to pppd) + AC_EGREP_CPP(eaptls_passwd_hook, [ + #define USE_EAPTLS + #include ++#include + ], [have_eap_tls=yes] , [have_eap_tls=no]) + + if test "x${have_eap_tls}" = "xno"; then +--- a/src/nm-l2tp-pppd-plugin.c ++++ b/src/nm-l2tp-pppd-plugin.c +@@ -9,11 +9,6 @@ + #include + #define ___CONFIG_H__ + +-/* pppd headers *sigh* */ +-#include +-#include +-#include +- + #include "nm-default.h" + + #include +@@ -25,13 +20,14 @@ + + #include "nm-l2tp-service.h" + #include "nm-ppp-status.h" ++#include "nm-l2tp-pppd-compat.h" + + #include "nm-utils/nm-shared-utils.h" + #include "nm-utils/nm-vpn-plugin-macros.h" + + int plugin_init(void); + +-char pppd_version[] = VERSION; ++char pppd_version[] = PPPD_VERSION; + + /*****************************************************************************/ + +@@ -146,7 +142,7 @@ nm_phasechange(void *data, int arg) + static void + nm_ip_up(void *data, int arg) + { +- guint32 pppd_made_up_address = htonl (0x0a404040 + ifunit); ++ guint32 pppd_made_up_address = htonl (0x0a404040 + ppp_ifunit()); + ipcp_options opts = ipcp_gotoptions[0]; + ipcp_options peer_opts = ipcp_hisoptions[0]; + GVariantBuilder builder; +@@ -166,7 +162,7 @@ nm_ip_up(void *data, int arg) + g_variant_builder_add(&builder, + "{sv}", + NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV, +- g_variant_new_string(ifname)); ++ g_variant_new_string(ppp_ifname())); + + g_variant_builder_add(&builder, + "{sv}", +@@ -343,12 +339,18 @@ plugin_init(void) + chap_check_hook = get_chap_check; + pap_passwd_hook = get_credentials; + pap_check_hook = get_pap_check; +-#ifdef USE_EAPTLS ++#if defined(USE_EAPTLS) || defined(PPP_WITH_EAPTLS) + eaptls_passwd_hook = get_credentials; + #endif + ++#if WITH_PPP_VERSION < PPP_VERSION(2,5,0) + add_notifier(&phasechange, nm_phasechange, NULL); + add_notifier(&ip_up_notifier, nm_ip_up, NULL); + add_notifier(&exitnotify, nm_exit_notify, NULL); ++#else ++ ppp_add_notify(NF_PHASE_CHANGE, nm_phasechange, NULL); ++ ppp_add_notify(NF_IP_UP, nm_ip_up, NULL); ++ ppp_add_notify(NF_EXIT, nm_exit_notify, NULL); ++#endif + return 0; + } + diff --git a/net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0-2.patch b/net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0-2.patch new file mode 100644 index 000000000000..1625c57a4bc8 --- /dev/null +++ b/net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0-2.patch @@ -0,0 +1,170 @@ +https://bugs.gentoo.org/904843 +https://github.com/nm-l2tp/NetworkManager-l2tp/commit/36a427c316a8ccd3168606f6e7fd6c8ae2b9bebf + +From 36a427c316a8ccd3168606f6e7fd6c8ae2b9bebf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Eivind=20N=C3=A6ss?= +Date: Fri, 3 Mar 2023 05:22:13 +0000 +Subject: [PATCH] Adding support for compiling against pppd-2.5.0 (current + master) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Eivind Næss +--- a/Makefile.am ++++ b/Makefile.am +@@ -99,7 +99,7 @@ src_nm_l2tp_service_SOURCES = \ + shared/nm-l2tp-crypto-nss.c \ + shared/utils.h \ + shared/utils.c \ +- src/nm-ppp-status.h \ ++ src/nm-l2tp-pppd-status.h \ + src/nm-l2tp-service.h \ + src/nm-l2tp-service.c + src_nm_l2tp_service_CPPFLAGS = $(src_cppflags) $(NSS_CFLAGS) $(OPENSSL_CFLAGS) +@@ -118,7 +118,8 @@ pppd_plugin_LTLIBRARIES = src/nm-l2tp-pppd-plugin.la + src_nm_l2tp_pppd_plugin_la_SOURCES = \ + $(shared_sources) \ + src/nm-l2tp-pppd-plugin.c \ +- src/nm-ppp-status.h ++ src/nm-l2tp-pppd-compat.h \ ++ src/nm-l2tp-pppd-status.h + src_nm_l2tp_pppd_plugin_la_CPPFLAGS = $(src_cppflags) + src_nm_l2tp_pppd_plugin_la_LDFLAGS = \ + -module -avoid-version +--- /dev/null ++++ b/src/nm-l2tp-pppd-compat.h +@@ -0,0 +1,93 @@ ++/* SPDX-License-Identifier: GPL-2.0-or-later */ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ ++/* nm-sstp-service - sstp (and other pppd) integration with NetworkManager ++ * ++ * Copyright (C) 2023 Eivind Naess, eivnaes@yahoo.com ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ */ ++ ++#ifndef __NM_L2TP_PPPD_COMPAT_H__ ++#define __NM_L2TP_PPPD_COMPAT_H__ ++ ++// PPP < 2.5.0 defines and exports VERSION which overlaps with current package VERSION define. ++// this silly macro magic is to work around that. ++ ++#define INET6 1 ++ ++#undef VERSION ++#include ++#ifndef PPPD_VERSION ++#define PPPD_VERSION VERSION ++#endif ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#ifdef HAVE_PPPD_CHAP_H ++ #include ++#endif ++ ++#ifdef HAVE_PPPD_CHAP_NEW_H ++ #include ++#endif ++ ++#ifdef HAVE_PPPD_CHAP_MS_H ++ #include ++#endif ++ ++#ifndef PPP_PROTO_CHAP ++#define PPP_PROTO_CHAP 0xc223 ++#endif ++ ++#ifndef PPP_PROTO_EAP ++#define PPP_PROTO_EAP 0xc227 ++#endif ++ ++#if WITH_PPP_VERSION < PPP_VERSION(2,5,0) ++ ++static inline bool debug_on(void) ++{ ++ return debug; ++} ++ ++static inline const char *ppp_ipparam(void) ++{ ++ return ipparam; ++} ++ ++static inline int ppp_ifunit(void) ++{ ++ return ifunit; ++} ++ ++static inline const char *ppp_ifname(void) ++{ ++ return ifname; ++} ++ ++static inline int ppp_get_mtu(int idx) ++{ ++ return netif_get_mtu(idx); ++} ++ ++#endif // #if WITH_PPP_VERSION < PPP_VERSION(2,5,0) ++#endif // #ifdef __NM_L2TP_PPPD_COMPAT_H__ +--- a/src/nm-l2tp-pppd-plugin.c ++++ b/src/nm-l2tp-pppd-plugin.c +@@ -9,8 +9,6 @@ + #include + #define ___CONFIG_H__ + +-#include "nm-default.h" +- + #include + #include + #include +@@ -18,10 +16,11 @@ + #include + #include + +-#include "nm-l2tp-service.h" +-#include "nm-ppp-status.h" ++#include "nm-l2tp-pppd-status.h" + #include "nm-l2tp-pppd-compat.h" + ++#include "nm-default.h" ++#include "nm-l2tp-service.h" + #include "nm-utils/nm-shared-utils.h" + #include "nm-utils/nm-vpn-plugin-macros.h" + +similarity index 100% +rename from src/nm-ppp-status.h +rename to src/nm-l2tp-pppd-status.h +--- a/src/nm-l2tp-service.c ++++ b/src/nm-l2tp-service.c +@@ -36,7 +36,7 @@ + #include + #include + +-#include "nm-ppp-status.h" ++#include "nm-l2tp-pppd-status.h" + #include "nm-l2tp-pppd-service-dbus.h" + #include "nm-utils/nm-shared-utils.h" + #include "nm-utils/nm-secret-utils.h" + diff --git a/net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0.patch b/net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0.patch deleted file mode 100644 index 94613e0ce450..000000000000 --- a/net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-ppp-2.5.0.patch +++ /dev/null @@ -1,329 +0,0 @@ -https://bugs.gentoo.org/904843 -https://github.com/nm-l2tp/NetworkManager-l2tp/commit/e6860eb957208a932fb565dd7b5e79fe5a4df662 -https://github.com/nm-l2tp/NetworkManager-l2tp/commit/36a427c316a8ccd3168606f6e7fd6c8ae2b9bebf - -From e6860eb957208a932fb565dd7b5e79fe5a4df662 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Eivind=20N=C3=A6ss?= -Date: Fri, 3 Mar 2023 05:22:13 +0000 -Subject: [PATCH] Adding support for compiling against pppd-2.5.0 (current - master) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Eivind Næss ---- a/configure.ac -+++ b/configure.ac -@@ -33,7 +33,10 @@ dnl - AC_PROG_CC - AM_PROG_CC_C_O - AC_PROG_INSTALL -+AC_PROG_CPP -+AC_PROG_EGREP - AC_PATH_PROG(GLIB_COMPILE_RESOURCES, glib-compile-resources) -+PKG_PROG_PKG_CONFIG() - - AC_CHECK_PROG([has_file], file, yes, no) - if test x$has_file = xno ; then -@@ -49,24 +52,63 @@ dnl - dnl Required headers - dnl - AC_HEADER_STDC --AC_CHECK_HEADERS(fcntl.h paths.h sys/ioctl.h sys/time.h syslog.h unistd.h) -+AC_CHECK_HEADERS([ -+ fcntl.h -+ paths.h -+ stdarg.h -+ stdbool.h -+ sys/ioctl.h -+ sys/time.h -+ syslog.h -+ unistd.h -+ ]) - - AC_CHECK_HEADERS(pppd/pppd.h,, - AC_MSG_ERROR(couldn't find pppd.h. pppd development headers are required.)) - -+dnl -+dnl Check the presense of other pppd/*.h files -+AC_CHECK_HEADERS([ -+ pppd/chap.h -+ pppd/chap-new.h -+ pppd/chap_ms.h -+ ]) -+ -+dnl -+dnl Versions >= 2.5.0 will have pkg-config support -+PKG_CHECK_EXISTS([pppd], -+ [AS_VAR_SET([pppd_pkgconfig_support],[yes])]) -+ -+dnl -+dnl Get the version of pppd using pkg-config, assume 2.4.9 if not present -+PPPD_VERSION=2.4.9 -+if test x"$pppd_pkgconfig_support" = xyes; then -+ PPPD_VERSION=`$PKG_CONFIG --modversion pppd` -+fi -+ - AC_ARG_WITH([pppd-plugin-dir], AS_HELP_STRING([--with-pppd-plugin-dir=DIR], [path to the pppd plugins directory])) - - if test -n "$with_pppd_plugin_dir" ; then - PPPD_PLUGIN_DIR="$with_pppd_plugin_dir" - else -- PPPD_PLUGIN_DIR="${libdir}/pppd/2.4.9" -+ PPPD_PLUGIN_DIR="${libdir}/pppd/$PPPD_VERSION" - fi - AC_SUBST(PPPD_PLUGIN_DIR) - -+dnl The version of pppd dictates what code can be included, i.e. enable use of -+dnl #if WITH_PPP_VERSION >= PPP_VERSION(2,5,0) in the code -+AC_DEFINE_UNQUOTED([PPP_VERSION(x,y,z)], -+ [((x & 0xFF) << 16 | (y & 0xFF) << 8 | (z & 0xFF) << 0)], -+ [Macro to help determine the particular version of pppd]) -+PPP_VERSION=$(echo $PPPD_VERSION | sed -e "s/\./\,/g") -+AC_DEFINE_UNQUOTED(WITH_PPP_VERSION, PPP_VERSION($PPP_VERSION), -+ [The real version of pppd represented as an int]) -+ - AC_MSG_CHECKING(whether EAP-TLS patch has been applied to pppd) - AC_EGREP_CPP(eaptls_passwd_hook, [ - #define USE_EAPTLS - #include -+#include - ], [have_eap_tls=yes] , [have_eap_tls=no]) - - if test "x${have_eap_tls}" = "xno"; then ---- a/src/nm-l2tp-pppd-plugin.c -+++ b/src/nm-l2tp-pppd-plugin.c -@@ -9,11 +9,6 @@ - #include - #define ___CONFIG_H__ - --/* pppd headers *sigh* */ --#include --#include --#include -- - #include "nm-default.h" - - #include -@@ -25,13 +20,14 @@ - - #include "nm-l2tp-service.h" - #include "nm-ppp-status.h" -+#include "nm-l2tp-pppd-compat.h" - - #include "nm-utils/nm-shared-utils.h" - #include "nm-utils/nm-vpn-plugin-macros.h" - - int plugin_init(void); - --char pppd_version[] = VERSION; -+char pppd_version[] = PPPD_VERSION; - - /*****************************************************************************/ - -@@ -146,7 +142,7 @@ nm_phasechange(void *data, int arg) - static void - nm_ip_up(void *data, int arg) - { -- guint32 pppd_made_up_address = htonl (0x0a404040 + ifunit); -+ guint32 pppd_made_up_address = htonl (0x0a404040 + ppp_ifunit()); - ipcp_options opts = ipcp_gotoptions[0]; - ipcp_options peer_opts = ipcp_hisoptions[0]; - GVariantBuilder builder; -@@ -166,7 +162,7 @@ nm_ip_up(void *data, int arg) - g_variant_builder_add(&builder, - "{sv}", - NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV, -- g_variant_new_string(ifname)); -+ g_variant_new_string(ppp_ifname())); - - g_variant_builder_add(&builder, - "{sv}", -@@ -343,12 +339,18 @@ plugin_init(void) - chap_check_hook = get_chap_check; - pap_passwd_hook = get_credentials; - pap_check_hook = get_pap_check; --#ifdef USE_EAPTLS -+#if defined(USE_EAPTLS) || defined(PPP_WITH_EAPTLS) - eaptls_passwd_hook = get_credentials; - #endif - -+#if WITH_PPP_VERSION < PPP_VERSION(2,5,0) - add_notifier(&phasechange, nm_phasechange, NULL); - add_notifier(&ip_up_notifier, nm_ip_up, NULL); - add_notifier(&exitnotify, nm_exit_notify, NULL); -+#else -+ ppp_add_notify(NF_PHASE_CHANGE, nm_phasechange, NULL); -+ ppp_add_notify(NF_IP_UP, nm_ip_up, NULL); -+ ppp_add_notify(NF_EXIT, nm_exit_notify, NULL); -+#endif - return 0; - } - -From 36a427c316a8ccd3168606f6e7fd6c8ae2b9bebf Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Eivind=20N=C3=A6ss?= -Date: Fri, 3 Mar 2023 05:22:13 +0000 -Subject: [PATCH] Adding support for compiling against pppd-2.5.0 (current - master) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Eivind Næss ---- a/Makefile.am -+++ b/Makefile.am -@@ -99,7 +99,7 @@ src_nm_l2tp_service_SOURCES = \ - shared/nm-l2tp-crypto-nss.c \ - shared/utils.h \ - shared/utils.c \ -- src/nm-ppp-status.h \ -+ src/nm-l2tp-pppd-status.h \ - src/nm-l2tp-service.h \ - src/nm-l2tp-service.c - src_nm_l2tp_service_CPPFLAGS = $(src_cppflags) $(NSS_CFLAGS) $(OPENSSL_CFLAGS) -@@ -118,7 +118,8 @@ pppd_plugin_LTLIBRARIES = src/nm-l2tp-pppd-plugin.la - src_nm_l2tp_pppd_plugin_la_SOURCES = \ - $(shared_sources) \ - src/nm-l2tp-pppd-plugin.c \ -- src/nm-ppp-status.h -+ src/nm-l2tp-pppd-compat.h \ -+ src/nm-l2tp-pppd-status.h - src_nm_l2tp_pppd_plugin_la_CPPFLAGS = $(src_cppflags) - src_nm_l2tp_pppd_plugin_la_LDFLAGS = \ - -module -avoid-version ---- /dev/null -+++ b/src/nm-l2tp-pppd-compat.h -@@ -0,0 +1,93 @@ -+/* SPDX-License-Identifier: GPL-2.0-or-later */ -+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -+/* nm-sstp-service - sstp (and other pppd) integration with NetworkManager -+ * -+ * Copyright (C) 2023 Eivind Naess, eivnaes@yahoo.com -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License along -+ * with this program; if not, write to the Free Software Foundation, Inc., -+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -+ * -+ */ -+ -+#ifndef __NM_L2TP_PPPD_COMPAT_H__ -+#define __NM_L2TP_PPPD_COMPAT_H__ -+ -+// PPP < 2.5.0 defines and exports VERSION which overlaps with current package VERSION define. -+// this silly macro magic is to work around that. -+ -+#define INET6 1 -+ -+#undef VERSION -+#include -+#ifndef PPPD_VERSION -+#define PPPD_VERSION VERSION -+#endif -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#ifdef HAVE_PPPD_CHAP_H -+ #include -+#endif -+ -+#ifdef HAVE_PPPD_CHAP_NEW_H -+ #include -+#endif -+ -+#ifdef HAVE_PPPD_CHAP_MS_H -+ #include -+#endif -+ -+#ifndef PPP_PROTO_CHAP -+#define PPP_PROTO_CHAP 0xc223 -+#endif -+ -+#ifndef PPP_PROTO_EAP -+#define PPP_PROTO_EAP 0xc227 -+#endif -+ -+#if WITH_PPP_VERSION < PPP_VERSION(2,5,0) -+ -+static inline bool debug_on(void) -+{ -+ return debug; -+} -+ -+static inline const char *ppp_ipparam(void) -+{ -+ return ipparam; -+} -+ -+static inline int ppp_ifunit(void) -+{ -+ return ifunit; -+} -+ -+static inline const char *ppp_ifname(void) -+{ -+ return ifname; -+} -+ -+static inline int ppp_get_mtu(int idx) -+{ -+ return netif_get_mtu(idx); -+} -+ -+#endif // #if WITH_PPP_VERSION < PPP_VERSION(2,5,0) -+#endif // #ifdef __NM_L2TP_PPPD_COMPAT_H__ ---- a/src/nm-l2tp-pppd-plugin.c -+++ b/src/nm-l2tp-pppd-plugin.c -@@ -9,8 +9,6 @@ - #include - #define ___CONFIG_H__ - --#include "nm-default.h" -- - #include - #include - #include -@@ -18,10 +16,11 @@ - #include - #include - --#include "nm-l2tp-service.h" --#include "nm-ppp-status.h" -+#include "nm-l2tp-pppd-status.h" - #include "nm-l2tp-pppd-compat.h" - -+#include "nm-default.h" -+#include "nm-l2tp-service.h" - #include "nm-utils/nm-shared-utils.h" - #include "nm-utils/nm-vpn-plugin-macros.h" - -similarity index 100% -rename from src/nm-ppp-status.h -rename to src/nm-l2tp-pppd-status.h ---- a/src/nm-l2tp-service.c -+++ b/src/nm-l2tp-service.c -@@ -36,7 +36,7 @@ - #include - #include - --#include "nm-ppp-status.h" -+#include "nm-l2tp-pppd-status.h" - #include "nm-l2tp-pppd-service-dbus.h" - #include "nm-utils/nm-shared-utils.h" - #include "nm-utils/nm-secret-utils.h" - diff --git a/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8-r1.ebuild b/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8-r1.ebuild deleted file mode 100644 index d82863ed321b..000000000000 --- a/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8-r1.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_PN="NetworkManager-l2tp" -MY_P="${MY_PN}-${PV}" -GNOME2_EAUTORECONF="yes" -inherit gnome.org - -DESCRIPTION="NetworkManager L2TP plugin" -HOMEPAGE="https://github.com/nm-l2tp/NetworkManager-l2tp" -SRC_URI="https://github.com/nm-l2tp/${MY_PN}/releases/download/${PV}/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="gtk" - -COMMON_DEPEND="dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - dev-libs/openssl:= - net-dialup/ppp:=[eap-tls(+)] - net-dialup/xl2tpd - >=net-misc/networkmanager-1.20[ppp] - || ( - net-vpn/strongswan - net-vpn/libreswan - ) - gtk? ( - app-crypt/libsecret - gnome-extra/nm-applet - media-libs/harfbuzz:= - net-libs/libnma - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3 - x11-libs/pango - )" -DEPEND="${COMMON_DEPEND} - x11-base/xorg-proto" -RDEPEND="${COMMON_DEPEND} - dev-libs/dbus-glib" -BDEPEND="dev-util/gdbus-codegen - dev-util/intltool - sys-devel/gettext - virtual/pkgconfig" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${FILESDIR}"/${PN}-1.20.8-ppp-2.5.0.patch -) - -src_configure() { - local PPPD_VER=$(best_version net-dialup/ppp) - PPPD_VER=${PPPD_VER#*/*-} # reduce it to ${PV}-${PR} - PPPD_VER=${PPPD_VER%%[_-]*} # main version without beta/pre/patch/revision - - local myeconfargs=( - --localstatedir=/var - --with-pppd-plugin-dir=/usr/$(get_libdir)/pppd/${PPPD_VER} - $(use_with gtk gnome) - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - find "${ED}" -name '*.la' -delete || die -} diff --git a/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8-r2.ebuild b/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8-r2.ebuild new file mode 100644 index 000000000000..b8c745b85590 --- /dev/null +++ b/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8-r2.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN="NetworkManager-l2tp" +MY_P="${MY_PN}-${PV}" +GNOME2_EAUTORECONF="yes" +inherit gnome.org + +DESCRIPTION="NetworkManager L2TP plugin" +HOMEPAGE="https://github.com/nm-l2tp/NetworkManager-l2tp" +SRC_URI="https://github.com/nm-l2tp/${MY_PN}/releases/download/${PV}/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="gtk" + +COMMON_DEPEND="dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + dev-libs/openssl:= + net-dialup/ppp:=[eap-tls(+)] + net-dialup/xl2tpd + >=net-misc/networkmanager-1.20[ppp] + || ( + net-vpn/strongswan + net-vpn/libreswan + ) + gtk? ( + app-crypt/libsecret + gnome-extra/nm-applet + media-libs/harfbuzz:= + net-libs/libnma + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3 + x11-libs/pango + )" +DEPEND="${COMMON_DEPEND} + x11-base/xorg-proto" +RDEPEND="${COMMON_DEPEND} + dev-libs/dbus-glib" +BDEPEND="dev-util/gdbus-codegen + dev-util/intltool + sys-devel/gettext + virtual/pkgconfig" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.20.8-ppp-2.5.0-{1,2}.patch +) + +src_configure() { + local PPPD_VER=$(best_version net-dialup/ppp) + PPPD_VER=${PPPD_VER#*/*-} # reduce it to ${PV}-${PR} + PPPD_VER=${PPPD_VER%%[_-]*} # main version without beta/pre/patch/revision + + local myeconfargs=( + --localstatedir=/var + --with-pppd-plugin-dir=/usr/$(get_libdir)/pppd/${PPPD_VER} + $(use_with gtk gnome) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die +} -- cgit v1.2.3-65-gdbad