summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-networking/recipes-connectivity
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2023-05-19 18:14:02 +0300
committerAndrew Geissler <geissonator@yahoo.com>2023-05-19 21:39:02 +0300
commit3eeda90d141cf2db6541a740e22e20be04504bb5 (patch)
tree09891347148b8e07eeedd6ce6a6a4566f4385d35 /meta-openembedded/meta-networking/recipes-connectivity
parentdc9d614711d1f205166fa42a0af05054fe06b26d (diff)
downloadopenbmc-3eeda90d141cf2db6541a740e22e20be04504bb5.tar.xz
subtree updates
meta-openembedded: f3cdc9d7ee..0474e0b870: Alexander Amelkin (1): ipmitool: Update links Bhargav Das (1): python3-libevdev: Add recipe for python libevdev module. Changqing Li (1): redis: upgrade 6.2.11 -> 6.2.12 Chen Qi (1): frr: add CVE_PRODUCT Diego Dassie (2): paho-mqtt-c: Disable building tests paho-mqtt-c: Improve performance Fabio Estevam (1): lvgl: lvgl-demo-fb: Inherit features_check Johannes Kauffmann (2): open62541: allow overriding encryption providers open62541: disable warnings as errors Jun Nie (3): libcbor: Add initial support python3-pefile: Add initial support python3-uswid: Add initial support Khem Raj (27): gitpkgv: Fix python deprecation warning python3-pyzstd: Disable LTO on clang+arm libftdi: Remove sysroot paths from .cmake files libencode-perl: Remove buildpaths from generated .exh files libcdio: Drop need for LIBCDIO_SOURCE_PATH enca: Remove buildpaths from target scripts libirecovery: Add missing build dependency on readline usbmuxd: Remove recipe for 1.1.1 usbmuxd: Updgrade to latest on master branch packagegroup-meta-oe: Add kpatch for glibc + x86_64 only packagegroup-meta-oe: Remove minicoredumper-ptest for musl libimobiledevice: Delete recipe for 1.3.0 libimobiledevice: Update to latest tip libimobiledevice: Fix build with clang idevicerestore: Update to latest on master branch libpaper: Add recipe psutils: Add recipe nodejs: Upgrade to 18.16.0 python3-pylint: Fix missing deps for ptests etcd: Inherit missing features_check fftw: Remove hardcoded sysroot into binaries lmdb: Pass CFLAGS to Makefile squid: Remove buildpaths from generated binaries libiio: Do not generate lineinfo in lex/yacc generated files php: Remove buildpaths from scripts and generated headers uw-imap: Pass CFLAGS from environment libmad: Add a patch to pass cflags to build Marcel Ziswiler (1): libusbgx: fix device hot-plug use case Marek Vasut (7): lvgl: Upgrade lvgl to 8.3.7 and lv-driver to 8.3.0 lvgl: Activate custom tick implementation lvgl: Add configurable color depth, default to 32bpp lvgl: Support both fbdev and wayland backends lvgl: Update lvgl-demo-fb to 8.3.0 lvgl: Upgrade dialog-lvgl to next/main version lvgl: Add dependency on fbdev into lvgl-demo-fb DISTRO_FEATURES Markus Volk (12): xdg-desktop-portal-wlr: update 0.6.0 -> 0.7.0 python3-pillow: add libxcb to RDEPENDS for x11 adw-gtk3: update 4.5 -> 4.6 paprefs: add recipe imaagemagick: update 7.1.1-5 -> 7.1.1-8 fuse3: update 3.12.0 -> 3.14.1 gnome-software: update 44.0 -> 44.1 gjs: update 1.75.1 -> 1.76.0 evince: update 44.0 -> 44.1 gdm: update 44.0 -> 44.1 xdg-desktop-portal-gnome: update 44.0 -> 44.1 libcamera: update 0.0.4 -> 0.0.5 Martin Jansa (18): glfw: respect DISTRO_FEATURES when enabling x11 in default PACKAGECONFIG and return it to REQUIRED_DISTRO_FEATURES libreport: add dependency on libarchive libxmlb: add missing dependency on glib-2.0 and xz geoclue: fix build without gobject-introspection-data appstream: fix build without gobject-introspection-data ostree: fix build without gobject-introspection-data rdfind: fix build with -Werror=return-type spice-gtk: respect gobject-introspection-data cpulimit: fix do_install with multilib libnfs: fix installed-vs-shipped issues with multilib btrfsmaintenance: install to ${datadir}/${BPN} libtomcrypt: pass LIBPATH to fix installed-vs-shipped with multilib nanopb: fix installed-vs-shipped with multilib nv-codec-headers: fix installed-vs-shipped with multilib zfs: fix installation paths for multilib poppler: add dependency on glib-2.0-native paprefs: add x11 to REQUIRED_DISTRO_FEATURES etcd: don't hardcode /usr/lib in do_install Matija Tudan (1): serial: add recipe for version 1.2.1 Ming Liu (4): libusbgx: uprev to the latest commit libusbgx: fix some systemd service conditions libusbgx: drop hard-coded /usr/bin,/etc libusbgx: check scripts in /etc/usbgx.d Mingli Yu (1): minicoredumper: correct the sysvinit service file attribute Petr Gotthard (4): strongswan: add PACKAGECONFIG for the NetworkManager module openfortivpn: add new recipe networkmanager-fortisslvpn: add new recipe networkmanager-openconnect: add new recipe Ross Burton (6): v4l-utils: do out-of-tree builds python3-ninja: simplify recipe libisofs: add new recipe libburn: move to meta-filesystems libisoburn: add new recipe xorriso: remove obsolete recipe Trevor Gamblin (9): python3-pytest-mock: Add recipe python3-tomlkit: Add recipe ptest-packagelists-meta-python: Add new tests python3-platformdirs: Add recipe python3-pylint: upgrade 2.14.5 -> 2.17.3 python3-pylint: add ptest ptest-packagelists-meta-python: Add new tests python3-pylint: upgrade 2.17.3 -> 2.17.4 python3-pylint: omit failing pickle test Vasileios Anagnostopoulos (1): asio: update to 1.28.0 Wang Mingyu (74): abseil-cpp: upgrade 20230125.2 -> 20230125.3 appstream: upgrade 0.16.1 -> 0.16.2 babl: upgrade 0.1.104 -> 0.1.106 audit: upgrade 3.1 -> 3.1.1 boost-sml: upgrade 1.1.6 -> 1.1.8 ctags: upgrade 6.0.20230416.0 -> 6.0.20230430.0 eog: upgrade 44.0 -> 44.1 gspell: upgrade 1.12.0 -> 1.12.1 etcd-cpp-apiv3: upgrade 0.14.2 -> 0.14.3 googlebenchmark: upgrade 1.7.1 -> 1.8.0 hwdata: upgrade 0.369 -> 0.370 libbpf: upgrade 1.1.0 -> 1.2.0 iozone3: upgrade 492 -> 506 libadwaita: upgrade 1.3.1 -> 1.3.2 libcgi-perl: upgrade 4.56 -> 4.57 libjs-jquery-cookie: upgrade 3.0.1 -> 3.0.5 libmodule-build-tiny-perl: upgrade 0.043 -> 0.045 log4cpp: upgrade 1.1.3 -> 1.1.4 nautilus: upgrade 44.0 -> 44.1 makedumpfile: upgrade 1.7.2 -> 1.7.3 mg: upgrade 20230406 -> 20230501 python3-yarl: upgrade 1.8.2 -> 1.9.2 python3-alembic: upgrade 1.10.3 -> 1.10.4 python3-cassandra-driver: upgrade 3.26.0 -> 3.27.0 python3-can: upgrade 4.1.0 -> 4.2.0 python3-astroid: upgrade 2.15.3 -> 2.15.4 python3-argcomplete: upgrade 3.0.5 -> 3.0.8 python3-coverage: upgrade 7.2.3 -> 7.2.5 python3-imageio: upgrade 2.27.0 -> 2.28.1 python3-gast: upgrade 0.5.3 -> 0.5.4 python3-langtable: upgrade 0.0.61 -> 0.0.62 python3-flask-socketio: upgrade 5.3.3 -> 5.3.4 python3-elementpath: upgrade 4.1.1 -> 4.1.2 python3-nocasedict: upgrade 2.0.0 -> 2.0.1 python3-protobuf: upgrade 4.22.3 -> 4.22.4 python3-pint: upgrade 0.20.1 -> 0.21 python3-pulsectl: upgrade 22.3.2 -> 23.5.0 python3-pika: upgrade 1.3.1 -> 1.3.2 python3-pymisp: upgrade 2.4.170.1 -> 2.4.170.2 python3-pyudev: upgrade 0.24.0 -> 0.24.1 python3-regex: upgrade 2023.3.23 -> 2023.5.5 python3-rich: upgrade 13.3.4 -> 13.3.5 python3-smpplib: upgrade 2.2.2 -> 2.2.3 python3-sentry-sdk: upgrade 1.20.0 -> 1.22.1 python3-sqlalchemy: upgrade 2.0.9 -> 2.0.12 python3-termcolor: upgrade 2.2.0 -> 2.3.0 python3-twitter: upgrade 4.13.0 -> 4.14.0 python3-web3: upgrade 6.2.0 -> 6.3.0 tracker: upgrade 3.5.0 -> 3.5.1 python3-zeroconf: upgrade 0.56.0 -> 0.62.0 python3-xstatic: upgrade 1.0.2 -> 1.0.3 python3-requests-toolbelt: upgrade 0.10.1 -> 1.0.0 libimobiledevice-glue: SRCREV bump d2ff796..114098d libplist: upgrade 2.2.0 -> 2.3.0 ctags: upgrade 6.0.20230430.0 -> 6.0.20230507.0 libnet-dns-perl: upgrade 1.37 -> 1.38 libdivecomputer: upgrade 0.7.0 -> 0.8.0 python3-platformdirs: upgrade 3.5.0 -> 3.5.1 python3-sympy: upgrade 1.11.1 -> 1.12 python3-google-auth: upgrade 2.17.3 -> 2.18.0 php: upgrade 8.2.5 -> 8.2.6 postgresql: upgrade 15.2 -> 15.3 python3-protobuf: upgrade 4.22.4 -> 4.23.0 python3-pulsectl: upgrade 23.5.0 -> 23.5.1 python3-pymisp: upgrade 2.4.170.2 -> 2.4.171 python3-pyjwt: upgrade 2.6.0 -> 2.7.0 python3-redis: upgrade 4.5.4 -> 4.5.5 python3-pytest-xdist: upgrade 3.2.1 -> 3.3.0 python3-sentry-sdk: upgrade 1.22.1 -> 1.22.2 python3-typeguard: upgrade 3.0.2 -> 4.0.0 python3-sqlalchemy: upgrade 2.0.12 -> 2.0.13 python3-websockets: upgrade 11.0.2 -> 11.0.3 xterm: upgrade 379 -> 380 wavpack: upgrade 4.60.1 -> 5.1.0 Xiangyu Chen (1): pahole: fix native package build error ojayanth (2): etcd: systemd unit support to start existing etcd node etcd: add systemd unit support for clustering poky: 76cec94fad..35e5d29a7d: Alexander Kanavin (1): gcr: consider all versions, not only x.even.y Andrew Jeffery (1): Revert "ipk: Decode byte data to string in manifest handling" Anuj Mittal (2): gstreamer1.0: upgrade 1.22.0 -> 1.22.2 vte: upgrade 0.72.0 -> 0.72.1 Chen Qi (1): sqlite3: update CVE_PRODUCT Frederic Martinsons (1): ptest-cargo.bbclass: add the possibility to define test arguments Khem Raj (3): musl: Update to 1.2.4 release cpio: Run ptests under ptest user python3-requests: Upgrade to 2.30.0 Luca Ceresoli (2): ref-manual: classes: kernel: remove incorrect sentence opening ref-manual: classes: kernel: document automatic defconfig usage Martin Jansa (1): populate_sdk_base.bbclass: respect MLPREFIX for ptest-pkgs's ptest-runner Michael Opdenacker (2): migration-guides: start of 4.3 migration and release notes ref-manual: document FIT_ADDRESS_CELLS Paul Gortmaker (1): yocto-bsp: drop MIPS Edgerouter support Qiu Tingting (1): e2fsprogs: fix ptest bug for second running Richard Purdie (5): migration/release-notes-4.3: Add extra notes qemu: Update ppc instruction fix to match revised upstream version glib-networking: Add test retry to avoid failures glib-networking: Correct glib error handling in test patch qemu: Further updates to the ppc patch after upstream discussion Ross Burton (6): gdb: fix crashes when debugging threads with Arm Pointer Authentication enabled Revert "ffmpeg: move ffmpeg config into packageconfig" ffmpeg: add v4l2 PACKAGECONFIG python3: use libedit instead of readline python3: clean up PACKAGECONFIG python3: use system expat Tim Orling (2): python3-urllib3: upgrade 1.26.15 -> 2.0.2 python3-attrs: upgrade 22.2.0 -> 23.1.0 Trevor Gamblin (3): python3-trove-classifiers: Add recipe python3-hatchling: upgrade 1.13.0 -> 1.14.1 python3-calver: Add recipe Zang Ruochen (1): elfutils: upgrade 0.188 -> 0.189 nikhil (1): tiff: Remove unused patch from tiff Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I5304cb7a7ca3c09a110f52fa5b2844f5f00f4851
Diffstat (limited to 'meta-openembedded/meta-networking/recipes-connectivity')
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn/0001-fix-ppp-2.5.0-build.patch306
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn/0002-fix-ppp-2.5.0-build.patch34
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn_1.4.0.bb70
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openconnect_1.2.8.bb46
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/openfortivpn/openfortivpn_1.20.3.bb26
5 files changed, 482 insertions, 0 deletions
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn/0001-fix-ppp-2.5.0-build.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn/0001-fix-ppp-2.5.0-build.patch
new file mode 100644
index 0000000000..0a568fa23c
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn/0001-fix-ppp-2.5.0-build.patch
@@ -0,0 +1,306 @@
+From 084ef529c5fb816927ca54866f66b340265aa9f6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Eivind=20N=C3=A6ss?= <eivnaes@yahoo.com>
+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
+
+Upstream-Status: Accepted
+Signed-off-by: Eivind Næss <eivnaes@yahoo.com>
+---
+ Makefile.am | 5 +-
+ configure.ac | 37 +++++++-
+ src/nm-fortisslvpn-pppd-compat.h | 93 +++++++++++++++++++
+ src/nm-fortisslvpn-pppd-plugin.c | 24 ++---
+ ...-status.h => nm-fortisslvpn-pppd-status.h} | 0
+ src/nm-fortisslvpn-service.c | 2 +-
+ 6 files changed, 145 insertions(+), 16 deletions(-)
+ create mode 100644 src/nm-fortisslvpn-pppd-compat.h
+ rename src/{nm-ppp-status.h => nm-fortisslvpn-pppd-status.h} (100%)
+
+diff --git a/Makefile.am b/Makefile.am
+index b2e5533..e1e5ec9 100644
+--- 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)
+diff --git a/configure.ac b/configure.ac
+index a998707..877493e 100644
+--- 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
+diff --git a/src/nm-fortisslvpn-pppd-compat.h b/src/nm-fortisslvpn-pppd-compat.h
+new file mode 100644
+index 0000000..9a02908
+--- /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 <pppd/pppd.h>
++
++#ifndef PPPD_VERSION
++#define PPPD_VERSION VERSION
++#endif
++
++#include <pppd/fsm.h>
++#include <pppd/ccp.h>
++#include <pppd/eui64.h>
++#include <pppd/ipcp.h>
++#include <pppd/ipv6cp.h>
++#include <pppd/eap.h>
++#include <pppd/upap.h>
++
++#ifdef HAVE_PPPD_CHAP_H
++ #include <pppd/chap.h>
++#endif
++
++#ifdef HAVE_PPPD_CHAP_NEW_H
++ #include <pppd/chap-new.h>
++#endif
++
++#ifdef HAVE_PPPD_CHAP_MS_H
++ #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 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__
+diff --git a/src/nm-fortisslvpn-pppd-plugin.c b/src/nm-fortisslvpn-pppd-plugin.c
+index f2ad262..c2efb9a 100644
+--- a/src/nm-fortisslvpn-pppd-plugin.c
++++ b/src/nm-fortisslvpn-pppd-plugin.c
+@@ -23,12 +23,6 @@
+ #define ___CONFIG_H__
+ #include <config.h>
+
+-#include <pppd/pppd.h>
+-#include <pppd/fsm.h>
+-#include <pppd/ipcp.h>
+-
+-#include "nm-default.h"
+-
+ #include <sys/types.h>
+ #include <string.h>
+ #include <sys/socket.h>
+@@ -42,10 +36,12 @@
+ #include <grp.h>
+ #include <glib/gstdio.h>
+
++#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;
+ }
+diff --git a/src/nm-ppp-status.h b/src/nm-fortisslvpn-pppd-status.h
+similarity index 100%
+rename from src/nm-ppp-status.h
+rename to src/nm-fortisslvpn-pppd-status.h
+diff --git a/src/nm-fortisslvpn-service.c b/src/nm-fortisslvpn-service.c
+index 6c340d0..a8483c2 100644
+--- a/src/nm-fortisslvpn-service.c
++++ b/src/nm-fortisslvpn-service.c
+@@ -40,7 +40,7 @@
+ #include <glib/gstdio.h>
+
+ #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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn/0002-fix-ppp-2.5.0-build.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn/0002-fix-ppp-2.5.0-build.patch
new file mode 100644
index 0000000000..798a57b0da
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn/0002-fix-ppp-2.5.0-build.patch
@@ -0,0 +1,34 @@
+From 8773f772d39f8eee6edc1fd2e5437c754ed41e1e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Eivind=20N=C3=A6ss?= <eivnaes@yahoo.com>
+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
+
+Upstream-Status: Accepted
+Signed-off-by: Eivind Næss <eivnaes@yahoo.com>
+---
+ configure.ac | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 877493e..a5b4abb 100644
+--- 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/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn_1.4.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn_1.4.0.bb
new file mode 100644
index 0000000000..a251e8bf3d
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn_1.4.0.bb
@@ -0,0 +1,70 @@
+SUMMARY = "Fortinet SSLVPN support for NetworkManager"
+SECTION = "net/misc"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+DEPENDS = "glib-2.0-native libxml2-native networkmanager ppp"
+
+inherit gnomebase gettext useradd
+
+SRC_URI = " \
+ ${GNOME_MIRROR}/NetworkManager-fortisslvpn/${@gnome_verdir("${PV}")}/NetworkManager-fortisslvpn-${PV}.tar.xz \
+ file://0001-fix-ppp-2.5.0-build.patch \
+ file://0002-fix-ppp-2.5.0-build.patch \
+"
+SRC_URI[sha256sum] = "b055e26349b516b23585798ab3ef57b436b014800e92a8ac732cfc8e76c5dafa"
+
+S = "${WORKDIR}/NetworkManager-fortisslvpn-${PV}"
+
+# meta-gnome in layers is required using gnome:
+PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome,gtk+3 libnma libsecret,"
+PACKAGECONFIG[gtk4] = "--with-gtk4,--without-gtk4,gtk4,"
+
+EXTRA_OECONF = "--with-pppd-plugin-dir=${libdir}/pppd/${@get_ppp_version(d)}"
+
+def get_ppp_version(d):
+ import re
+
+ pppd_plugin = d.expand('${STAGING_LIBDIR}/pppd')
+ if not os.path.isdir(pppd_plugin):
+ return None
+
+ bb.debug(1, "pppd plugin dir %s" % pppd_plugin)
+ r = re.compile(r"\d*\.\d*\.\d*")
+ for f in os.listdir(pppd_plugin):
+ if os.path.isdir(os.path.join(pppd_plugin, f)):
+ ma = r.match(f)
+ if ma:
+ bb.debug(1, "pppd version dir %s" % f)
+ return f
+ else:
+ bb.debug(1, "under pppd plugin dir %s" % f)
+
+ return None
+
+# gdbus-codegen requires target directories to exist
+do_configure:append() {
+ mkdir -p ${B}/properties
+ mkdir -p ${B}/src
+}
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system nm-fortisslvpn"
+
+FILES:${PN} += " \
+ ${libdir}/NetworkManager/*.so \
+ ${libdir}/pppd/*/*.so \
+ ${nonarch_libdir}/NetworkManager/VPN/nm-fortisslvpn-service.name \
+"
+
+FILES:${PN}-staticdev += " \
+ ${libdir}/NetworkManager/*.a \
+ ${libdir}/pppd/*/*.a \
+"
+
+RDEPENDS:${PN} = " \
+ networkmanager \
+ openfortivpn \
+ ppp \
+"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openconnect_1.2.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openconnect_1.2.8.bb
new file mode 100644
index 0000000000..c978defbbf
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openconnect_1.2.8.bb
@@ -0,0 +1,46 @@
+SUMMARY = "OpenConnect VPN client for NetworkManager"
+SECTION = "net/misc"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=186e8b54342da4f753a62b7748c947db"
+
+DEPENDS = "glib-2.0-native intltool-native libxml2 networkmanager openconnect"
+
+inherit gnomebase useradd
+
+SRC_URI = "${GNOME_MIRROR}/NetworkManager-openconnect/${@gnome_verdir("${PV}")}/NetworkManager-openconnect-${PV}.tar.xz"
+
+SRC_URI[sha256sum] = "5dedaa785d82d8e239ddd082bfac5250c691e964464be1807b6827263633cdcc"
+
+S = "${WORKDIR}/NetworkManager-openconnect-${PV}"
+
+# meta-gnome in layers is required using gnome:
+PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome,gtk+3 gcr3 libnma libsecret,"
+PACKAGECONFIG[gtk4] = "--with-gtk4,--without-gtk4,gtk4,"
+
+do_configure:append() {
+ # network-manager-openconnect.metainfo.xml is created in source folder but
+ # compile expects it in build folder. As long as nobody comes up with a
+ # better solution just support build:
+ if [ -e ${S}/appdata/network-manager-openconnect.metainfo.xml ]; then
+ mkdir -p ${B}/appdata
+ cp -f ${S}/appdata/network-manager-openconnect.metainfo.xml ${B}/appdata/
+ fi
+}
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system nm-openconnect"
+
+FILES:${PN} += " \
+ ${libdir}/NetworkManager/*.so \
+ ${nonarch_libdir}/NetworkManager/VPN/nm-openconnect-service.name \
+"
+
+FILES:${PN}-staticdev += " \
+ ${libdir}/NetworkManager/*.a \
+"
+
+RDEPENDS:${PN} = " \
+ networkmanager \
+ openconnect \
+"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openfortivpn/openfortivpn_1.20.3.bb b/meta-openembedded/meta-networking/recipes-connectivity/openfortivpn/openfortivpn_1.20.3.bb
new file mode 100644
index 0000000000..bfd51f7f70
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openfortivpn/openfortivpn_1.20.3.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Client for PPP+SSL VPN tunnel services"
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3d575262a651a6f1a17210ce41bf907d"
+
+SRC_URI = "git://github.com/adrienverge/openfortivpn.git;protocol=https;branch=master"
+SRCREV = "45cb8e0f9984f1d54b648e499bda637d96568908"
+
+DEPENDS = "openssl"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf --enable-resolvconf,--with-resolvconf=DISABLED,,"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir},--without-systemdsystemunitdir,,"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig systemd
+
+EXTRA_OECONF = " \
+ --with-pppd=${sbindir}/pppd \
+ --disable-proc \
+"
+
+SYSTEMD_SERVICE:${PN} = "openfortivpn@.service"
+
+RDEPENDS:${PN} = "ppp"