From 57dda344760f34c8c8f93c3c161ab10e55dc3860 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 23 Apr 2023 12:07:24 +0100 Subject: gentoo auto-resync : 23:04:2023 - 12:07:24 --- net-vpn/Manifest.gz | Bin 7059 -> 7058 bytes net-vpn/networkmanager-fortisslvpn/Manifest | 6 +- ...workmanager-fortisslvpn-1.4.0-ppp-2.5.0-1.patch | 284 +++++++++++++++++++++ ...workmanager-fortisslvpn-1.4.0-ppp-2.5.0-2.patch | 29 +++ ...workmanager-fortisslvpn-1.4.0-ppp-2.5.0-3.patch | 191 ++++++++++++++ net-vpn/networkmanager-fortisslvpn/metadata.xml | 3 + .../networkmanager-fortisslvpn-1.4.0-r2.ebuild | 59 +++++ net-vpn/networkmanager-l2tp/Manifest | 6 +- ...workmanager-l2tp-1.20.8-bashism-configure.patch | 35 +++ .../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-r3.ebuild | 80 ++++++ .../networkmanager-l2tp-1.20.8.ebuild | 2 +- net-vpn/networkmanager-sstp/Manifest | 3 + .../networkmanager-sstp-1.3.1-r1.ebuild | 88 +++++++ 15 files changed, 1114 insertions(+), 3 deletions(-) create mode 100644 net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-1.patch create mode 100644 net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-2.patch create mode 100644 net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-3.patch create mode 100644 net-vpn/networkmanager-fortisslvpn/networkmanager-fortisslvpn-1.4.0-r2.ebuild create mode 100644 net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-bashism-configure.patch 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 create mode 100644 net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8-r3.ebuild create mode 100644 net-vpn/networkmanager-sstp/networkmanager-sstp-1.3.1-r1.ebuild (limited to 'net-vpn') diff --git a/net-vpn/Manifest.gz b/net-vpn/Manifest.gz index 743864850f49..73257684417d 100644 Binary files a/net-vpn/Manifest.gz and b/net-vpn/Manifest.gz differ diff --git a/net-vpn/networkmanager-fortisslvpn/Manifest b/net-vpn/networkmanager-fortisslvpn/Manifest index eef71a306ecd..a05277003e9a 100644 --- a/net-vpn/networkmanager-fortisslvpn/Manifest +++ b/net-vpn/networkmanager-fortisslvpn/Manifest @@ -1,5 +1,9 @@ +AUX networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-1.patch 8202 BLAKE2B 7d1468e7aa6afaba82e0c7b961fe8e60e9bbf831749f6b14125fc5efd7c88c6cd468080a1dd0fbd304717cfa6e17fac9ebb4a50ca98b6d5f65c87161d356214d SHA512 78a49ea9330fefdd85558820e8424ddb24cbf6d2f8052d46db31b06af140a7886ec998cdf4a76c1c7e0dfd9b79b2c5934a0696536b2ec91b3893cb425fb8f45a +AUX networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-2.patch 865 BLAKE2B 1fc9035e3fba62b1db8af99bcef8dbe5ad722e2c816290e168dce37e7f826b7fb44a2ea70df04a492583640654f8de5af7fce33fe4b6174e427832ac215e25f7 SHA512 b497e0c83fba95a153c80a9655422d76cd5985e413b509166047edf482f5129385f30dbb167c07fc1658c11bee601f46fe44b7d9083b531f9e7ac124cd80af10 +AUX networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-3.patch 5362 BLAKE2B 486c6ab5ba11135a410e05abd55b8b6699fcbce24c7eafea596e9f01a8a353e7fb833062c8971be230fb01eb8c67ed9b9d4ba5195371f16356ed4a3fd8e5a1a0 SHA512 fbbabce7973e8129f51a2ee0ed152f458c0fd73eea361ef205e9cc6fd3164527f43f7ed2fcbc9d0a32d1c3fba5c06cc2a415276d34e68a220189854393ea93eb DIST NetworkManager-fortisslvpn-1.3.90.tar.xz 375416 BLAKE2B d2e07a2f79685cb600b6c0abca52a54911ff41534c152e9c5befe25d436757ba517d84cc474ff5c200ae62ca019296871fc29dc8342788295b3e59be55fa8198 SHA512 98b3e524cbb33c8dcdb325b10d227f88534948d98ca8009f770e48b87d42637762ba5343f081ac583b77c3387cb47f2660be0f60430ede237f812a2af8d9a7aa DIST NetworkManager-fortisslvpn-1.4.0.tar.xz 381964 BLAKE2B 11cbcd0077a6636feaf04fc191bb78b269f1fcb13ae5ebc3f2d1fe239570e9955406b5f2ff76f6ea0f297e3425e6dac816a0a79f2c2a0723bae51e9fe42fa34d SHA512 94e96f204262825f3d525c96b5f135b31d9a3bb382bd2baf3fafdceb08768321331d4bd4f6af8879a8818e3bad854cdf057c9915e0ac9aee09d17e83b9d12d54 EBUILD networkmanager-fortisslvpn-1.3.90.ebuild 1071 BLAKE2B b4ba9a550c464b4b9f2e9e6468415b26645a002c2106346a48f2f6122a32bf44707956abfe0c8415ee3573325dfbb2b4a746a3d6c93b321da16ac9ac4a800e20 SHA512 ae8f948778c018a5ecda4e973935c3cba416a3596df01d9ebe59261e095115ccb78a7497c89b541a12ed9cc454a315e837da3cdd350a7d6af08f69e72942b916 +EBUILD networkmanager-fortisslvpn-1.4.0-r2.ebuild 1189 BLAKE2B 28b48ae8f25e86199c41bcd012de3d1d6ed77259be496cd1223fac05f05da57a4e8e1331a57d41dbd61d17d3a5c8891e87a92535f08607872021d8e093b54545 SHA512 d641c49a693c46f5b065590c0fd1c89e7d04cb2c72a7bf032e11a44a80a0ad02452c7324bb782653243ae9ffad6fc4bd709ccfad018243aa313bdd610b1c8bd6 EBUILD networkmanager-fortisslvpn-1.4.0.ebuild 1122 BLAKE2B 1af8b38f7e4c6244ad8419529558147a769f32dd4223f832a2f4b9cddec738e0078982d2c54ae80477d86fa18f719d7d6495bbe74c45f9a72e3cc4d9e1f07436 SHA512 23c6b224cf9b67a4189314e4a3bb31545c5f0df83af9e3ac9f2ef44c671a5005a0b7121abfc38bf23ccfdfffc23e7c0a24454dff64cf64a21ce3e2e2d660d0b8 -MISC metadata.xml 411 BLAKE2B 2a68544a08639f4ee73732a7c1663614694c6aeabd6fb93e9a25f94b4667cfa3470bea7e40f3da181d985775362e7122dcc64f96b3ee96879b2137c3722f105c SHA512 e490c46a95e3ad932a325519831cdc74a356137a014d02f8e602821955ec81a0e523022a80d9e1f1412dcaa9b1ef17a8e2a0ec608e67c0ee58aa02f9165fa40c +MISC metadata.xml 518 BLAKE2B ddeb630701cdb97695694b7f696481050bf67f59e9440c80b447e6ffe3a439011abdebeeff1ac47aa8c29ec95526772ac99b6be484e59ab2950414a7007171c1 SHA512 24738222e6aa68582b218274615ad1a4bcc235a98eba3ee95fa1beae259fe63ac34e4d4a1a08861e2835d34da9249bc2612f8c658ea12f152517e00e76d2663f diff --git a/net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-1.patch b/net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-1.patch new file mode 100644 index 000000000000..71da31e3e435 --- /dev/null +++ b/net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-1.patch @@ -0,0 +1,284 @@ +https://bugs.gentoo.org/904842 +https://gitlab.gnome.org/GNOME/NetworkManager-fortisslvpn/-/commit/084ef529c5fb816927ca54866f66b340265aa9f6 + +From 084ef529c5fb816927ca54866f66b340265aa9f6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Eivind=20N=C3=A6ss?= +Date: Sat, 4 Mar 2023 21:20:43 +0000 +Subject: [PATCH] Adding support for compiling against pppd-2.5.0 (or master + branch) +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 +@@ -81,7 +81,7 @@ libexec_PROGRAMS += src/nm-fortisslvpn-service + src_nm_fortisslvpn_service_SOURCES = \ + shared/nm-utils/nm-shared-utils.c \ + shared/nm-utils/nm-shared-utils.h \ +- src/nm-ppp-status.h \ ++ src/nm-fortisslvpn-pppd-status.h \ + src/nm-fortisslvpn-service.h \ + src/nm-fortisslvpn-service.c \ + shared/nm-fortissl-properties.c \ +@@ -106,7 +106,8 @@ src_nm_fortisslvpn_pppd_plugin_la_SOURCES = \ + shared/nm-utils/nm-shared-utils.c \ + shared/nm-utils/nm-shared-utils.h \ + src/nm-fortisslvpn-pppd-plugin.c \ +- src/nm-ppp-status.h ++ src/nm-fortisslvpn-pppd-compat.h \ ++ src/nm-fortisslvpn-pppd-status.h + nodist_src_nm_fortisslvpn_pppd_plugin_la_SOURCES = \ + src/nm-fortisslvpn-pppd-service-dbus.h + src_nm_fortisslvpn_pppd_plugin_la_CPPFLAGS = $(src_cppflags) +--- a/configure.ac ++++ b/configure.ac +@@ -19,7 +19,10 @@ AC_PROG_CC + AM_PROG_CC_C_O + AC_PROG_INSTALL + AC_PROG_LIBTOOL ++AC_PROG_CPP ++AC_PROG_EGREP + AC_PATH_PROG(GLIB_COMPILE_RESOURCES, glib-compile-resources) ++PKG_PROG_PKG_CONFIG() + + AC_GNU_SOURCE + +@@ -37,20 +40,50 @@ 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.5 ++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.5" ++ 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]) ++ + dnl + dnl Checks for typedefs, structures, and compiler characteristics. + dnl +--- /dev/null ++++ b/src/nm-fortisslvpn-pppd-compat.h +@@ -0,0 +1,93 @@ ++/* -*- 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) Eivind Næss, 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_FORTISSLVPN_PPPD_COMPAT_H__ ++#define __NM_FORTISSLVPN_PPPD_COMPAT_H__ ++ ++#define INET6 1 ++ ++// PPP < 2.5.0 defines and exports VERSION which overlaps with current package VERSION define. ++// this silly macro magic is to work around that. ++ ++#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_FORTISSLVPN_PPPD_COMPAT_H__ +--- a/src/nm-fortisslvpn-pppd-plugin.c ++++ b/src/nm-fortisslvpn-pppd-plugin.c +@@ -23,12 +23,6 @@ + #define ___CONFIG_H__ + #include + +-#include +-#include +-#include +- +-#include "nm-default.h" +- + #include + #include + #include +@@ -42,10 +36,12 @@ + #include + #include + ++#include "nm-fortisslvpn-pppd-status.h" ++#include "nm-fortisslvpn-pppd-compat.h" + #include "nm-fortisslvpn-pppd-service-dbus.h" +-#include "nm-fortisslvpn-service.h" +-#include "nm-ppp-status.h" + ++#include "nm-default.h" ++#include "nm-fortisslvpn-service.h" + #include "nm-utils/nm-shared-utils.h" + #include "nm-utils/nm-vpn-plugin-macros.h" + +@@ -80,7 +76,7 @@ static struct { + + int plugin_init (void); + +-char pppd_version[] = VERSION; ++char pppd_version[] = PPPD_VERSION; + + static void + chroot_sandbox (void) +@@ -296,7 +292,7 @@ get_ip4_routes (in_addr_t ouraddr) + 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; +@@ -317,7 +313,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())); + + str = g_getenv ("VPN_GATEWAY"); + if (str) { +@@ -442,8 +438,14 @@ plugin_init (void) + return -1; + } + ++#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; + } +similarity index 100% +rename from src/nm-ppp-status.h +rename to src/nm-fortisslvpn-pppd-status.h +--- a/src/nm-fortisslvpn-service.c ++++ b/src/nm-fortisslvpn-service.c +@@ -40,7 +40,7 @@ + #include + + #include "nm-fortissl-properties.h" +-#include "nm-ppp-status.h" ++#include "nm-fortisslvpn-pppd-status.h" + #include "nm-fortisslvpn-pppd-service-dbus.h" + #include "nm-utils/nm-shared-utils.h" + #include "nm-utils/nm-vpn-plugin-macros.h" +-- +GitLab diff --git a/net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-2.patch b/net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-2.patch new file mode 100644 index 000000000000..a0b14d390e9f --- /dev/null +++ b/net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-2.patch @@ -0,0 +1,29 @@ +https://bugs.gentoo.org/904842 +https://gitlab.gnome.org/GNOME/NetworkManager-fortisslvpn/-/commit/8773f772d39f8eee6edc1fd2e5437c754ed41e1e + +From 8773f772d39f8eee6edc1fd2e5437c754ed41e1e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Eivind=20N=C3=A6ss?= +Date: Sat, 4 Mar 2023 21:29:54 +0000 +Subject: [PATCH] Fixing configure.ac from previous change +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 +@@ -47,11 +47,7 @@ AC_CHECK_HEADERS(pppd/pppd.h,, + + dnl + dnl Check the presense of other pppd/*.h files +-AC_CHECK_HEADERS([ +- pppd/chap.h +- pppd/chap-new.h +- pppd/chap_ms.h +- ]) ++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 +-- +GitLab diff --git a/net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-3.patch b/net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-3.patch new file mode 100644 index 000000000000..30092c021bd3 --- /dev/null +++ b/net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-3.patch @@ -0,0 +1,191 @@ +https://gitlab.gnome.org/GNOME/NetworkManager-fortisslvpn/-/merge_requests/27 +https://bugs.gentoo.org/904842 + +From d59819b5d26db44f51bfbb76be3b373c419e408d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Eivind=20N=C3=A6ss?= +Date: Wed, 8 Mar 2023 04:30:13 +0000 +Subject: [PATCH] Improve compatibility with pppd-2.5.0 release + +This allows compiling against the older pppd 2.4 series while still +using the new API in the plugin code. It does so by adding a static +inline function ppp_add_notify(). + +Additional formatting changes to the nm-fortisslvpn-pppd-compat.h based +on review from Lubomir. +--- a/src/nm-fortisslvpn-pppd-compat.h ++++ b/src/nm-fortisslvpn-pppd-compat.h +@@ -1,32 +1,15 @@ +-/* -*- 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) Eivind Næss, 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. +- * +- */ ++/* Copyright (C) 2023 Eivind Naess, eivnaes@yahoo.com */ ++/* SPDX-License-Identifier: GPL-2.0-or-later */ + + #ifndef __NM_FORTISSLVPN_PPPD_COMPAT_H__ + #define __NM_FORTISSLVPN_PPPD_COMPAT_H__ + +-#define INET6 1 +- +-// 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 to compile with IPv6 support against older pppd headers, ++ * pppd >= 2.5.0 use WITH_PPP_IPV6 and is defined in pppdconf.h */ ++#define INET6 1 + ++/* PPP < 2.5.0 defines and exports VERSION which overlaps with current package VERSION define. ++ * this silly macro magic is to work around that. */ + #undef VERSION + #include + +@@ -43,51 +26,98 @@ + #include + + #ifdef HAVE_PPPD_CHAP_H +- #include ++#include + #endif + + #ifdef HAVE_PPPD_CHAP_NEW_H +- #include ++#include + #endif + + #ifdef HAVE_PPPD_CHAP_MS_H +- #include ++#include + #endif + + #ifndef PPP_PROTO_CHAP +-#define PPP_PROTO_CHAP 0xc223 ++#define PPP_PROTO_CHAP 0xc223 + #endif + + #ifndef PPP_PROTO_EAP +-#define PPP_PROTO_EAP 0xc227 ++#define PPP_PROTO_EAP 0xc227 + #endif + ++ + #if WITH_PPP_VERSION < PPP_VERSION(2,5,0) + +-static inline bool debug_on(void) ++static inline bool ++debug_on (void) ++{ ++ return debug; ++} ++ ++static inline const char ++*ppp_ipparam (void) + { +- return debug; ++ return ipparam; + } + +-static inline const char *ppp_ipparam(void) ++static inline int ++ppp_ifunit (void) + { +- return ipparam; ++ return ifunit; + } + +-static inline int ppp_ifunit(void) ++static inline const char * ++ppp_ifname (void) + { +- return ifunit; ++ return ifname; + } + +-static inline const char *ppp_ifname(void) ++static inline int ++ppp_get_mtu (int idx) + { +- return ifname; ++ return netif_get_mtu(idx); + } + +-static inline int ppp_get_mtu(int idx) ++typedef enum ppp_notify ++{ ++ NF_PID_CHANGE, ++ NF_PHASE_CHANGE, ++ NF_EXIT, ++ NF_SIGNALED, ++ NF_IP_UP, ++ NF_IP_DOWN, ++ NF_IPV6_UP, ++ NF_IPV6_DOWN, ++ NF_AUTH_UP, ++ NF_LINK_DOWN, ++ NF_FORK, ++ NF_MAX_NOTIFY ++} ppp_notify_t; ++ ++typedef void (ppp_notify_fn) (void *ctx, int arg); ++ ++static inline void ++ppp_add_notify (ppp_notify_t type, ppp_notify_fn *func, void *ctx) + { +- return netif_get_mtu(idx); ++ struct notifier **list[NF_MAX_NOTIFY] = { ++ [NF_PID_CHANGE ] = &pidchange, ++ [NF_PHASE_CHANGE] = &phasechange, ++ [NF_EXIT ] = &exitnotify, ++ [NF_SIGNALED ] = &sigreceived, ++ [NF_IP_UP ] = &ip_up_notifier, ++ [NF_IP_DOWN ] = &ip_down_notifier, ++ [NF_IPV6_UP ] = &ipv6_up_notifier, ++ [NF_IPV6_DOWN ] = &ipv6_down_notifier, ++ [NF_AUTH_UP ] = &auth_up_notifier, ++ [NF_LINK_DOWN ] = &link_down_notifier, ++ [NF_FORK ] = &fork_notifier, ++ }; ++ ++ struct notifier **notify = list[type]; ++ if (notify) { ++ add_notifier(notify, func, ctx); ++ } + } + +-#endif // #if WITH_PPP_VERSION < PPP_VERSION(2,5,0) +-#endif // #ifdef __NM_FORTISSLVPN_PPPD_COMPAT_H__ ++#endif /* #if WITH_PPP_VERSION < PPP_VERSION(2,5,0) */ ++#endif /* #ifdef __NM_FORTISSLVPN_PPPD_COMPAT_H__ */ +--- a/src/nm-fortisslvpn-pppd-plugin.c ++++ b/src/nm-fortisslvpn-pppd-plugin.c +@@ -438,14 +438,8 @@ plugin_init (void) + return -1; + } + +-#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; + } +-- +GitLab diff --git a/net-vpn/networkmanager-fortisslvpn/metadata.xml b/net-vpn/networkmanager-fortisslvpn/metadata.xml index 69d7525227bc..950b680bd95b 100644 --- a/net-vpn/networkmanager-fortisslvpn/metadata.xml +++ b/net-vpn/networkmanager-fortisslvpn/metadata.xml @@ -9,4 +9,7 @@ proxy-maint@gentoo.org Proxy Maintainers + + GNOME/NetworkManager-fortisslvpn + diff --git a/net-vpn/networkmanager-fortisslvpn/networkmanager-fortisslvpn-1.4.0-r2.ebuild b/net-vpn/networkmanager-fortisslvpn/networkmanager-fortisslvpn-1.4.0-r2.ebuild new file mode 100644 index 000000000000..b04017413c2d --- /dev/null +++ b/net-vpn/networkmanager-fortisslvpn/networkmanager-fortisslvpn-1.4.0-r2.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +GNOME_ORG_MODULE="NetworkManager-${PN##*-}" +GNOME2_LA_PUNT="yes" +GNOME2_EAUTORECONF="yes" + +inherit gnome2 + +DESCRIPTION="NetworkManager Fortinet SSLVPN compatible plugin" +HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="gtk" + +DEPEND=" + >=dev-libs/glib-2.32:2 + >=net-misc/networkmanager-1.2:= + gtk? ( + >=app-crypt/libsecret-0.18 + gui-libs/gtk:4 + media-libs/harfbuzz + >=net-libs/libnma-1.2.0 + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/pango + ) +" +RDEPEND="${RDEPEND} + net-dialup/ppp:= + >=net-vpn/openfortivpn-1.2.0" +BDEPEND="dev-util/gdbus-codegen + >=sys-devel/gettext-0.19 + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-1.4.0-ppp-2.5.0-{1,2,3}.patch +) + +src_prepare() { + default + + # Fix deprecated location, #709450 + sed -i 's|/appdata|/metainfo|g' Makefile.{in,am} || die +} + +src_configure() { + CONFIG_SHELL="${BROOT}"/bin/bash gnome2_src_configure \ + --disable-static \ + --with-dist-version=Gentoo \ + --localstatedir=/var \ + $(use_with gtk gnome) \ + $(use_with gtk gtk4) \ + --without-libnm-glib +} diff --git a/net-vpn/networkmanager-l2tp/Manifest b/net-vpn/networkmanager-l2tp/Manifest index 8d88bdb1cc8f..018cc439857e 100644 --- a/net-vpn/networkmanager-l2tp/Manifest +++ b/net-vpn/networkmanager-l2tp/Manifest @@ -1,3 +1,7 @@ +AUX networkmanager-l2tp-1.20.8-bashism-configure.patch 1232 BLAKE2B 49b51a8dccedd5c8e3bfb226f8f0c48cff3e5b4ed0a0e2725eb61ad9ae452e1545546c58d7ab601fdbb4359aaa2470aba45ce78c8584d47c62d99c5e2a5a5b92 SHA512 f92643f64a7299bda2c7923d1e25c449f5075976b333facd024fed44782ba87ab71351dc7cadf84e8dd31d5d68a5d01585f870e42ab213f5c281e7820c394730 +AUX networkmanager-l2tp-1.20.8-ppp-2.5.0-1.patch 4872 BLAKE2B 36fe5df3abd8413363fa859193d5d590f3d225ae809cfafe4a5bfa444c3cc9d0fce5750eae5469b086c831cffb08244778ca6b3bba8c4e5a7dfb8b419ec9ddf5 SHA512 871234b17ae3a44f7b10f833988118740c9fb23de5b2cfbe90ff3a7fda1ad8d71f5268ac8c873e7c48cff097f9afade91dc0a1cd6abe2b93eec2d5a531d84f5d +AUX networkmanager-l2tp-1.20.8-ppp-2.5.0-2.patch 4591 BLAKE2B a568afc4e1c970ccbf253c3e1b140a2cf388c7ad49b057a5fcaa4cf43f160083aeb3faf54550cbcb0494d199702bd045b9445c579a68bd9de19b129e57225f35 SHA512 d67f608c2e40bcc39066ea28a685e04e1d53a97c8e1a47ae77c947a3df5712214f34b2994c4becef136923dab02c764345e3f9246a99f889f26ef590c74044b4 DIST NetworkManager-l2tp-1.20.8.tar.xz 487316 BLAKE2B 97a0b13a56babee47c2fd57b4bb655b79b96206eb3a51dacef642812fdf9059483fb7176f2be6ba86fc286cb6d1efdbada2c3dc8564e89598670781786e76011 SHA512 6ed2ab401821878bf775a27d43e540acce0ea6504a1a4bac436164776ef9e0eacef7963f0362691ef4ad7304e30e2c3199ba4fb41e24918b83aab88b34f7bb6a -EBUILD networkmanager-l2tp-1.20.8.ebuild 1454 BLAKE2B b77f093d35350492102d28af1c19bf62eabb4784b1eb5d0847c26d00fbb7de48cbe79873b81e93c37f0b0f1c493ff48bf85977c4a6e70b1330da7a6f940a2fc1 SHA512 055fc646525863ed33ce9d0c7a500430cf8a581966ff3b091d406172d35a7df98b0ad8104d0e2fe51a38a4495893164df1e16729c8481716bdaf68ed4abb7a7f +EBUILD networkmanager-l2tp-1.20.8-r3.ebuild 1654 BLAKE2B a55b8c73ce7ce6d288115b3f5f204e6a9445ccc6e739634ffb55b0b60461ec2aefaf6d3a6b0af8fde961204ede1faa95b91a36ef80d633845c8dafd9ed0bf0b0 SHA512 e3344e1c3ee9d9849ca6c2ced1542897d337c8b90794628959deae650c754ede9cf58cf8d2d6cad7c081e6472b0a332836cdcf897d3ee2cc51cbff3d700fc551 +EBUILD networkmanager-l2tp-1.20.8.ebuild 1457 BLAKE2B 7e650be93b810d277587a85120fc4666417316187c85985a71554117ca8d61e908c7f6d016eb7d347287f35db4324f62b631a47c6cc5ef7b27ac5e0bfdb8e13c SHA512 684a0bd9aa7ecb66f848dc8ebf86e0bd7fab5bbbe7e84ef12929b415d9ea06b1b05ca748b3313302dae3d4bc352001626d32a53c856bcce6ee511a9e8e2cf68c MISC metadata.xml 265 BLAKE2B 39644ede9957536ee9d058b398c84eb25da50a448547726479d94943e32a2d688421bf9eb591864ff027f2f47b28f6bc0443f63c9f6c5ccdd0e76d6caa433015 SHA512 a8820c1f5c2c61b51328871182b50294c52f508140cb306556c11cce5301c5b3ae98cd5ddb4355393fa821db2564c5889a74d41553ae5ace27a6242a9906c3da diff --git a/net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-bashism-configure.patch b/net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-bashism-configure.patch new file mode 100644 index 000000000000..d4a672815cd3 --- /dev/null +++ b/net-vpn/networkmanager-l2tp/files/networkmanager-l2tp-1.20.8-bashism-configure.patch @@ -0,0 +1,35 @@ +https://github.com/nm-l2tp/NetworkManager-l2tp/pull/208 + +From bf46aec299c58321703f5431ebafcce561a98cef Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sun, 23 Apr 2023 09:16:24 +0100 +Subject: [PATCH] configure.ac: fix bashisms in configure.ac + +configure scripts need to be runnable with a POSIX-compliant /bin/sh. + +On many (but not all!) systems, /bin/sh is provided by Bash, so errors +like this aren't spotted. Notably Debian defaults to /bin/sh provided +by dash which doesn't tolerate such bashisms as '=='. + +This retains compatibility with bash. +--- a/configure.ac ++++ b/configure.ac +@@ -197,7 +197,7 @@ fi + AM_CONDITIONAL(WITH_GNOME, test "$with_gnome" != no) + + AC_ARG_WITH(gtk4, AS_HELP_STRING([--with-gtk4], [Build NetworkManager-l2tp with libnma-gtk4 support]), [], [with_gtk4_specified=no]) +-if test "$with_gtk4_specified" == no; then ++if test "$with_gtk4_specified" = no; then + with_gtk4=no + fi + if test "$with_gtk4" != yes; then +@@ -256,7 +256,7 @@ NM_LD_GC + + NM_PLUGIN_DIR="$libdir/NetworkManager" + AC_SUBST(NM_PLUGIN_DIR) +-if test x"$enable_absolute_paths" == x"yes"; then ++if test x"$enable_absolute_paths" = x"yes"; then + NM_PLUGIN_DIR_NAME_FILE="$NM_PLUGIN_DIR/" + else + enable_absolute_paths=no + 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/networkmanager-l2tp-1.20.8-r3.ebuild b/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8-r3.ebuild new file mode 100644 index 000000000000..a8dc957d7e74 --- /dev/null +++ b/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8-r3.ebuild @@ -0,0 +1,80 @@ +# 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}" +inherit autotools 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}"/${P}-ppp-2.5.0-{1,2}.patch + "${FILESDIR}"/${PN}-1.20.8-bashism-configure.patch +) + +src_prepare() { + default + + # For ppp-2.5.0 patch & bashism patch + eautoreconf +} + +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.ebuild b/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8.ebuild index cfc6b1c20e10..c4c3ee77c566 100644 --- a/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8.ebuild +++ b/net-vpn/networkmanager-l2tp/networkmanager-l2tp-1.20.8.ebuild @@ -21,7 +21,7 @@ COMMON_DEPEND="dev-libs/glib:2 dev-libs/nspr dev-libs/nss dev-libs/openssl:= - net-dialup/ppp:=[eap-tls] + net-dialup/ppp:=[eap-tls(+)] net-dialup/xl2tpd >=net-misc/networkmanager-1.20[ppp] || ( diff --git a/net-vpn/networkmanager-sstp/Manifest b/net-vpn/networkmanager-sstp/Manifest index 09a0c0198e48..63976daa9589 100644 --- a/net-vpn/networkmanager-sstp/Manifest +++ b/net-vpn/networkmanager-sstp/Manifest @@ -1,4 +1,7 @@ AUX networkmanager-sstp-1.3.0-fix-configure.ac-bashisms.patch 5579 BLAKE2B f47cdac48099067340ae0723b011dca385711ed9f7651105e14541f2f799d96d8476604d20c747f43651ece043e11c857edf86acb5b99fd7a37db544020a953d SHA512 c9ef2c096d887f9a06c0bf64fe78d4dd2713997ecf5cf103c154f95465b40bf706b842483979df86ffa4efda208788bdfeb5015a39110568fd05ce951cca1672 DIST NetworkManager-sstp-1.3.0.tar.bz2 548907 BLAKE2B 97248268a781033bc960f930c5a55102e9fa76efa4be6477ffd277fd334649625b6c88418f00d678afa4412fb088cd201ef6711ef6f48b516daaa38fac02caa9 SHA512 9a26c737601990b913d9506ecaac957c4f6d2a4c64a3a0eb8beaf93eaef797ed134b2ddfe2421006a7ffe0dbd18800d49501836f3671f798132a1df707da138a +DIST NetworkManager-sstp-1.3.1.tar.xz 508392 BLAKE2B 1ead40fa9c8f5bb48b8f7d6d7f6593812849cc26778c531c17a247f60969dbb8d72f477057e4ec7ec838425c3bd21a922b1a65235b72da0bee813f75540a928b SHA512 10247931a2b951b1126a6d7b9bd396fe2eab58d575888c409430f311baeaab85468f23a6c5b6afb7bef90bf73d1e2dbc2f5750cfb126dd365db23b3f79dd7ca6 +DIST networkmanager-sstp-1.3.1-ppp-2.5.0-patches.tar.xz 6792 BLAKE2B 58470f9e04be67029ad57cb2bddb3c80dd503ac5bfc2916683e7d6b4a9332aedb58883bc364a2317c31a8d871888662dbf6431c92753b6fd20b6ae873e45d96e SHA512 ee41eb9aba27e457ba5a8cba9ba27a98991f33750b8202c42ce8be2227bd6c1491bf8861b9e05cc1b3f97ea1bf93d60f5b5f83db3eefbed82ef8aff104ecba95 EBUILD networkmanager-sstp-1.3.0.ebuild 1908 BLAKE2B 65db01a396d8586734dae6633b2e08b5f57481b62edbb1491eeeaa5e8c9df77a4f66bc8cc531868696ff70b12de5828cb6333d7230dac05e101aa19f7b019e27 SHA512 3783edf78594d49a4f0765822929918bd12a2acde2dd6a317632bc4c7f5115e140b19c2f87d9c02e024949a49c99fb8d2a70645714dc6da140a338e82bc3e39e +EBUILD networkmanager-sstp-1.3.1-r1.ebuild 2032 BLAKE2B d7bb1430dee554f14b922f38b111a977f1c38c59cfd73b240c5baab5915056729e1baeab900db70d4f876fa084a8c842fe2e0ab8fbd130f49d13ea5cbf0db508 SHA512 95f01abee2aeb4685e7059c55331b3e09c79943355910c9e6758cc682d3d0ae4b57c8cdef5ac39a78b78b56a0b28ed499e2654582fdfce0e91e25b9a0d39286d MISC metadata.xml 406 BLAKE2B 5d7fa7ddbe8eb683af682b5ba31218ef5d59a15257119c1974d36ccfd5c0dd7ea1447abe1a1a76ff4c2f52dcab413ceafd98ce9350b2b19acd51b5abb1ee6ed9 SHA512 7142217c702ff68273a22dd75b34bf3bf5292c3e09c40fb2f2a6d1292a7b8e7f5aed2c6e3e736992ff0e2c88066450c9c793108d7f40024c0ac687d52155ea33 diff --git a/net-vpn/networkmanager-sstp/networkmanager-sstp-1.3.1-r1.ebuild b/net-vpn/networkmanager-sstp/networkmanager-sstp-1.3.1-r1.ebuild new file mode 100644 index 000000000000..378579b00d87 --- /dev/null +++ b/net-vpn/networkmanager-sstp/networkmanager-sstp-1.3.1-r1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN="NetworkManager-sstp" +MY_P="${MY_PN}-${PV}" + +inherit autotools + +DESCRIPTION="Client for the proprietary Microsoft Secure Socket Tunneling Protocol(SSTP)" +HOMEPAGE="https://gitlab.gnome.org/GNOME/network-manager-sstp https://sourceforge.net/projects/sstp-client/" +SRC_URI="https://gitlab.gnome.org/GNOME/network-manager-sstp/-/releases/release-${PV}/downloads/dist/${MY_P}.tar.xz" +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-ppp-2.5.0-patches.tar.xz" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="gui gtk4" + +# As of 1.3.0, if want GUI support, GTK 3 is always needed, even with GTK 4. +# atk/graphene/harfbuzz/cairo/gdk-pixbuf/pango are all standard "dragged in by gtk/glib" +# deps. +RDEPEND=" + >=dev-libs/glib-2.32:2 + net-misc/sstp-client + >=net-misc/networkmanager-1.1.0 + net-dialup/ppp:= + net-libs/gnutls:= + gui? ( + >=net-libs/libnma-1.2.0 + >=app-crypt/libsecret-0.18 + >=x11-libs/gtk+-3.4:3 + + gtk4? ( + >=app-accessibility/at-spi2-core-2.46.0 + media-libs/graphene + media-libs/harfbuzz:= + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/pango + + gui-libs/gtk:4 + ) + )" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-util/gdbus-codegen + sys-apps/file + sys-devel/gettext + virtual/pkgconfig +" + +PATCHES=( + "${WORKDIR}"/${P}-ppp-2.5.0-patches +) + +src_prepare() { + default + + # Bug #741108 + sed -i 's|/appdata|/metainfo|g' Makefile.{in,am} || die + + eautoreconf +} + +src_configure() { + local PPPD_VER="$(best_version net-dialup/ppp)" + # Reduce it to ${PV}-${PR} + PPPD_VER=${PPPD_VER#*/*-} + # Main version without beta/pre/patch/revision + PPPD_VER=${PPPD_VER%%[_-]*} + + econf \ + --disable-more-warnings \ + --with-dist-version=Gentoo \ + --with-pppd-plugin-dir="${EPREFIX}/usr/$(get_libdir)/pppd/${PPPD_VER}" \ + $(use_with gui gnome) \ + $(use_with gtk4) \ + --without-libnm-glib +} + +src_install() { + default + + find "${ED}" -type f -name '*.la' -delete || die +} -- cgit v1.2.3