diff options
author | psykose <alice@ayaya.dev> | 2023-06-28 23:44:29 +0000 |
---|---|---|
committer | psykose <alice@ayaya.dev> | 2023-06-29 01:44:29 +0200 |
commit | 634646a416354bc29fa15eff9f3beb4b4eef512f (patch) | |
tree | 296822f80f7c4581ee5b8ccc12b64cecb943d6c5 | |
parent | 7f3d7e6dd8c0816d9aa6b39846d317078c71d31f (diff) |
community/networkmanager: upgrade to 1.42.8
-rw-r--r-- | community/networkmanager/APKBUILD | 6 | ||||
-rw-r--r-- | community/networkmanager/pppd-2.5.patch | 326 |
2 files changed, 2 insertions, 330 deletions
diff --git a/community/networkmanager/APKBUILD b/community/networkmanager/APKBUILD index 835c55c9729..bdd1c23b77d 100644 --- a/community/networkmanager/APKBUILD +++ b/community/networkmanager/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Stuart Cardall <developer@it-offshore.co.uk> # Maintainer: Rasmus Thomsen <oss@cogitri.dev> pkgname=networkmanager -pkgver=1.42.6 +pkgver=1.42.8 pkgrel=0 pkgdesc="Network Management daemon" url="https://wiki.gnome.org/Projects/NetworkManager" @@ -82,7 +82,6 @@ subpackages=" $pkgname-dnsmasq " source="https://download.gnome.org/sources/NetworkManager/${pkgver:0:4}/NetworkManager-$pkgver.tar.xz - pppd-2.5.patch wwan-no-libsystemd.patch $pkgname.conf $pkgname.initd @@ -302,8 +301,7 @@ _default_plugin() { } sha512sums=" -606a996043d8fbc7972329b94bc9854557950f665790381611eddfc632850b31584a4ba2d773fa9d12127db4c37ea2076c657521b78cedb012144df6f41d3748 NetworkManager-1.42.6.tar.xz -0190d8c757dcb5c1a50f8b080952ed138e4fe78b06b8a2649521f18fd87f2fec274a35b0aaf0d0579d05a369feb9015dfd6469777f70444744d401525de834cb pppd-2.5.patch +9465f59a1d20e44e2d8d0eefbffbc4dfe4bcebbd1e36c6e09be1e4700cc748f0c8a32c8492590f6171365697c2f25fa166dd00da58be19a3ed89e9fb7981c40f NetworkManager-1.42.8.tar.xz 7056d53372bc15f7a87dbc864dc8c3e0be5e283aeb94e957b2056d9f8298b6426965cbda04b3eaafde633411bcf1dbc862e6837d6fac42c3ed4bd5cc3cef908a wwan-no-libsystemd.patch 0f79016bf717dea43830962f524deae8d1cedc274376e40bd912ebe63208c5b1c3b7a5aa14379da19020c587dbd5588df2f0066ca1540070a226983a43e4159b networkmanager.conf 5ac6d11b588c479de9c7e1fef79ed0a2c04dc159a2173636a6a77a2867c839cc1609860756109e9e794f23a02238a6d94834d8fb6fcb81a6be3ef1dbf4a34e6f networkmanager.initd diff --git a/community/networkmanager/pppd-2.5.patch b/community/networkmanager/pppd-2.5.patch deleted file mode 100644 index 626ef24e75f..00000000000 --- a/community/networkmanager/pppd-2.5.patch +++ /dev/null @@ -1,326 +0,0 @@ -Patch-Source: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1558 --- -From c1c2d24b557ceb90d28bd3b818bb61bcb6753975 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Eivind=20N=C3=A6ss?= <eivnaes@yahoo.com> -Date: Sat, 4 Mar 2023 22:26:00 +0000 -Subject: [PATCH 1/2] ppp, adding support for compiling against pppd-2.5.0 - -This change does the following -* Adding in nm-pppd-compat.h to mask details regarding different - versions of pppd. -* Fix the nm-pppd-plugin.c regarding differences in API between - 2.4.9 (current) and latet pppd 2.5.0 in master branch -* Additional fixes to the configure.ac to appropriately set defines used - for compilation ---- - configure.ac | 17 ++++- - src/core/ppp/nm-pppd-compat.h | 127 ++++++++++++++++++++++++++++++++++ - src/core/ppp/nm-pppd-plugin.c | 45 ++++++------ - 3 files changed, 164 insertions(+), 25 deletions(-) - create mode 100644 src/core/ppp/nm-pppd-compat.h - -diff --git a/configure.ac b/configure.ac -index 6af061ddbc..ce0c23722c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -767,13 +767,17 @@ else - fi - AM_CONDITIONAL(WITH_PPP, test "${enable_ppp}" = "yes") - -+PPPD_VERSION=2.4.9 -+PKG_CHECK_EXISTS([pppd], [ -+ PPPD_VERSION=`$PKG_CONFIG --modversion pppd` -+]) -+ - 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) - -@@ -786,6 +790,15 @@ fi - AC_DEFINE_UNQUOTED(PPPD_PATH, "$PPPD_PATH", [Define to path of pppd binary]) - AC_SUBST(PPPD_PATH) - -+AC_CHECK_HEADERS(pppd/chap.h pppd/chap-new.h pppd/chap_ms.h) -+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]) -+ -+ - # ModemManager1 with libmm-glib - AC_ARG_WITH(modem-manager-1, - AS_HELP_STRING([--with-modem-manager-1], -diff --git a/src/core/ppp/nm-pppd-compat.h b/src/core/ppp/nm-pppd-compat.h -new file mode 100644 -index 0000000000..c7bea084ae ---- /dev/null -+++ b/src/core/ppp/nm-pppd-compat.h -@@ -0,0 +1,127 @@ -+/* SPDX-License-Identifier: LGPL-2.1-or-later */ -+/* -+ * Copyright (C) Eivind Næss, eivnaes@yahoo.com -+ */ -+ -+#ifndef __NM_PPPD_COMPAT_H__ -+#define __NM_PPPD_COMPAT_H__ -+ -+/* Define INET6 to compile with IPv6 support against older pppd headers, -+ pppd >= 2.5.0 use PPP_WITH_IPV6CP 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> -+ -+#ifndef PPPD_VERSION -+#define PPPD_VERSION VERSION -+#endif -+ -+#include <pppd/fsm.h> -+#include <pppd/eui64.h> -+#include <pppd/ipcp.h> -+#include <pppd/ipv6cp.h> -+#include <pppd/upap.h> -+ -+#if 1 -+#include <pppd/chap.h> -+#endif -+ -+#if 0 -+#include <pppd/chap-new.h> -+#endif -+ -+#if 1 -+#include <pppd/chap_ms.h> -+#endif -+ -+#ifndef PPP_PROTO_CHAP -+#define PPP_PROTO_CHAP 0xc223 -+#endif -+ -+#ifndef PPP_PROTO_EAP -+#define PPP_PROTO_EAP 0xc227 -+#endif -+ -+#if 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); -+} -+ -+static inline void -+ppp_set_ifname(const char *new_name) -+{ -+ g_strlcpy(ifname, new_name, IF_NAMESIZE); -+} -+ -+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) -+{ -+ 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_PPPD_COMPAT_H__ */ -diff --git a/src/core/ppp/nm-pppd-plugin.c b/src/core/ppp/nm-pppd-plugin.c -index e2e34d2aaf..59a2dcc94b 100644 ---- a/src/core/ppp/nm-pppd-plugin.c -+++ b/src/core/ppp/nm-pppd-plugin.c -@@ -7,29 +7,23 @@ - #include <config.h> - #define ___CONFIG_H__ - --#include <pppd/pppd.h> --#include <pppd/fsm.h> --#include <pppd/ipcp.h> - #include <sys/socket.h> - #include <netinet/in.h> - #include <net/if.h> - #include <arpa/inet.h> - #include <dlfcn.h> -+#include <glib.h> - --#define INET6 --#include <pppd/eui64.h> --#include <pppd/ipv6cp.h> -+#include "nm-pppd-plugin.h" -+#include "nm-pppd-compat.h" -+#include "nm-ppp-status.h" - - #include "libnm-glib-aux/nm-default-glib.h" -- - #include "nm-dbus-interface.h" - --#include "nm-pppd-plugin.h" --#include "nm-ppp-status.h" -- - int plugin_init(void); - --char pppd_version[] = VERSION; -+char pppd_version[] = PPPD_VERSION; - - static struct { - GDBusConnection *dbus_connection; -@@ -125,7 +119,7 @@ nm_phasechange(int arg) - char new_name[IF_NAMESIZE]; - int ifindex; - -- ifindex = if_nametoindex(ifname); -+ ifindex = if_nametoindex(ppp_ifname()); - - /* Make a sync call to ensure that when the call - * terminates the interface already has its final -@@ -143,9 +137,11 @@ nm_phasechange(int arg) - NULL); - - /* Update the name in pppd if NM changed it */ -- if (if_indextoname(ifindex, new_name) && !nm_streq0(ifname, new_name)) { -- g_message("nm-ppp-plugin: interface name changed from '%s' to '%s'", ifname, new_name); -- g_strlcpy(ifname, new_name, IF_NAMESIZE); -+ if (if_indextoname(ifindex, new_name) && !nm_streq0(ppp_ifname(), new_name)) { -+ g_message("nm-ppp-plugin: interface name changed from '%s' to '%s'", -+ ppp_ifname(), -+ new_name); -+ ppp_set_ifname(new_name); - } - } - } -@@ -166,7 +162,7 @@ nm_ip_up(void *data, int arg) - ipcp_options opts = ipcp_gotoptions[0]; - ipcp_options peer_opts = ipcp_hisoptions[0]; - GVariantBuilder builder; -- guint32 pppd_made_up_address = htonl(0x0a404040 + ifunit); -+ guint32 pppd_made_up_address = htonl(0x0a404040 + ppp_ifunit()); - - g_return_if_fail(G_IS_DBUS_CONNECTION(gl.dbus_connection)); - -@@ -186,7 +182,7 @@ nm_ip_up(void *data, int arg) - g_variant_builder_add(&builder, - "{sv}", - NM_PPP_IP4_CONFIG_INTERFACE, -- g_variant_new_string(ifname)); -+ g_variant_new_string(ppp_ifname())); - - g_variant_builder_add(&builder, - "{sv}", -@@ -292,7 +288,7 @@ nm_ip6_up(void *data, int arg) - g_variant_builder_add(&builder, - "{sv}", - NM_PPP_IP6_CONFIG_INTERFACE, -- g_variant_new_string(ifname)); -+ g_variant_new_string(ppp_ifname())); - g_variant_builder_add(&builder, "{sv}", NM_PPP_IP6_CONFIG_OUR_IID, eui64_to_variant(go->ourid)); - g_variant_builder_add(&builder, - "{sv}", -@@ -393,6 +389,7 @@ nm_exit_notify(void *data, int arg) - static void - add_ip6_notifier(void) - { -+#if 0 - static struct notifier **notifier = NULL; - static gsize load_once = 0; - -@@ -409,6 +406,9 @@ add_ip6_notifier(void) - add_notifier(notifier, nm_ip6_up, NULL); - else - g_message("nm-ppp-plugin: no IPV6CP notifier support; IPv6 not available"); -+#else -+ ppp_add_notify(NF_IPV6_UP, nm_ip6_up, NULL); -+#endif - } - - int -@@ -427,17 +427,16 @@ plugin_init(void) - return -1; - } - -- gl.ipparam = g_strdup(ipparam); -+ gl.ipparam = g_strdup(ppp_ipparam()); - - chap_passwd_hook = get_credentials; - chap_check_hook = get_chap_check; - pap_passwd_hook = get_credentials; - pap_check_hook = get_pap_check; - -- add_notifier(&phasechange, nm_phasechange_hook, NULL); -- add_notifier(&ip_up_notifier, nm_ip_up, NULL); -- add_notifier(&exitnotify, nm_exit_notify, NULL); -+ ppp_add_notify(NF_PHASE_CHANGE, nm_phasechange_hook, NULL); -+ ppp_add_notify(NF_IP_UP, nm_ip_up, NULL); -+ ppp_add_notify(NF_EXIT, nm_exit_notify, NULL); - add_ip6_notifier(); -- - return 0; - } --- -GitLab |