diff options
author | 2023-04-23 08:56:14 +0100 | |
---|---|---|
committer | 2023-04-23 08:56:14 +0100 | |
commit | 7113b88c66b29f032a4829f7a7106a50bba4976e (patch) | |
tree | aac68917e89a11f737f1d07999d0c1b94be3c8aa /net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-3.patch | |
parent | media-sound/qjackctl: Stabilize 0.9.10 x86, #904856 (diff) | |
download | gentoo-7113b88c66b29f032a4829f7a7106a50bba4976e.tar.gz gentoo-7113b88c66b29f032a4829f7a7106a50bba4976e.tar.bz2 gentoo-7113b88c66b29f032a4829f7a7106a50bba4976e.zip |
net-vpn/networkmanager-fortisslvpn: fix ppp-2.5.0 patches
Need to be applied separately for renames to work.
Closes: https://bugs.gentoo.org/904860
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-3.patch')
-rw-r--r-- | net-vpn/networkmanager-fortisslvpn/files/networkmanager-fortisslvpn-1.4.0-ppp-2.5.0-3.patch | 191 |
1 files changed, 191 insertions, 0 deletions
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?= <eivnaes@yahoo.com> +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 <pppd/pppd.h> + +@@ -43,51 +26,98 @@ + #include <pppd/upap.h> + + #ifdef HAVE_PPPD_CHAP_H +- #include <pppd/chap.h> ++#include <pppd/chap.h> + #endif + + #ifdef HAVE_PPPD_CHAP_NEW_H +- #include <pppd/chap-new.h> ++#include <pppd/chap-new.h> + #endif + + #ifdef HAVE_PPPD_CHAP_MS_H +- #include <pppd/chap_ms.h> ++#include <pppd/chap_ms.h> + #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 |