summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Bogusz2023-09-09 08:33:39 (GMT)
committerJakub Bogusz2023-09-09 08:33:39 (GMT)
commit53f09c90f704da6da3ecf7dd085952a0cc36d91c (patch)
treea3c3f40f3a9f417986ca1a016002198f910d1c65
parent7d233c93a862d1999311f40c321ab80b53caf93b (diff)
downloadNetworkManager-fortisslvpn-53f09c90f704da6da3ecf7dd085952a0cc36d91c.zip
NetworkManager-fortisslvpn-53f09c90f704da6da3ecf7dd085952a0cc36d91c.tar.gz
- added ppp2.5 patch (adapt to ppp 2.5.0 changes)
- build gtk4 editor plugin by default - release 2
-rw-r--r--NetworkManager-fortisslvpn-ppp2.5.patch32
-rw-r--r--NetworkManager-fortisslvpn.spec17
2 files changed, 46 insertions, 3 deletions
diff --git a/NetworkManager-fortisslvpn-ppp2.5.patch b/NetworkManager-fortisslvpn-ppp2.5.patch
new file mode 100644
index 0000000..fc07abc
--- /dev/null
+++ b/NetworkManager-fortisslvpn-ppp2.5.patch
@@ -0,0 +1,32 @@
+--- NetworkManager-fortisslvpn-1.4.0/src/nm-fortisslvpn-pppd-plugin.c.orig 2021-10-11 12:49:41.000000000 +0200
++++ NetworkManager-fortisslvpn-1.4.0/src/nm-fortisslvpn-pppd-plugin.c 2023-09-09 10:27:21.115938547 +0200
+@@ -296,7 +296,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 +317,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 +442,8 @@ plugin_init (void)
+ return -1;
+ }
+
+- add_notifier (&phasechange, nm_phasechange, 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, NULL);
++ ppp_add_notify (NF_IP_UP, nm_ip_up, NULL);
++ ppp_add_notify (NF_EXIT, nm_exit_notify, NULL);
+ return 0;
+ }
diff --git a/NetworkManager-fortisslvpn.spec b/NetworkManager-fortisslvpn.spec
index 8a2d06f..bed6e90 100644
--- a/NetworkManager-fortisslvpn.spec
+++ b/NetworkManager-fortisslvpn.spec
@@ -1,15 +1,19 @@
# TODO:
# - nm-fortisslvpn user (for dropping pppd privileges)
-# - gtk4 for GNOME 42 (--with-gtk4, requires libnma-gtk4 >= 1.8.33)
+#
+# Conditional build:
+%bcond_without gtk4 # Gtk4 version of editor plugin (GNOME 42+)
+
Summary: NetworkManager VPN integration for Fortinet SSLVPN
Summary(pl.UTF-8): Integracja NetworkManagera z Fortinet SSLVPN
Name: NetworkManager-fortisslvpn
Version: 1.4.0
-Release: 1
+Release: 2
License: GPL v2+
Group: X11/Applications
Source0: https://download.gnome.org/sources/NetworkManager-fortisslvpn/1.4/%{name}-%{version}.tar.xz
# Source0-md5: 33e1a0c50b9032621748ff166f57fa1d
+Patch0: %{name}-ppp2.5.patch
URL: https://wiki.gnome.org/Projects/NetworkManager
BuildRequires: NetworkManager-devel >= 2:1.2.0
BuildRequires: autoconf >= 2.59
@@ -17,11 +21,13 @@ BuildRequires: automake >= 1:1.9
BuildRequires: gettext-devel >= 0.19
BuildRequires: glib2-devel >= 1:2.32
BuildRequires: gtk+3-devel >= 3.4
+%{?with_gtk4:BuildRequires: gtk4-devel >= 4.0}
BuildRequires: libnma-devel >= 1.8.33
+%{?with_gtk4:BuildRequires: libnma-gtk4-devel >= 1.8.33}
BuildRequires: libsecret-devel >= 0.18
BuildRequires: libtool >= 2:2
BuildRequires: pkgconfig
-BuildRequires: ppp-plugin-devel >= 3:2.4.5
+BuildRequires: ppp-plugin-devel >= 3:2.5.0
BuildRequires: tar >= 1:1.22
BuildRequires: xz
Requires: NetworkManager >= 2:1.2.0
@@ -41,6 +47,7 @@ Integracja NetworkManagera z Fortinet SSLVPN.
%prep
%setup -q
+%patch0 -p1
%build
%{__libtoolize}
@@ -51,6 +58,7 @@ Integracja NetworkManagera z Fortinet SSLVPN.
%configure \
--disable-silent-rules \
--disable-static \
+ %{?with_gtk4:--with-gtk4} \
--with-pppd-plugin-dir=%{_libdir}/pppd/plugins
%{__make}
@@ -73,6 +81,9 @@ rm -rf $RPM_BUILD_ROOT
%doc AUTHORS NEWS README TODO
%attr(755,root,root) %{_libdir}/NetworkManager/libnm-vpn-plugin-fortisslvpn.so
%attr(755,root,root) %{_libdir}/NetworkManager/libnm-vpn-plugin-fortisslvpn-editor.so
+%if %{with gtk4}
+%attr(755,root,root) %{_libdir}/NetworkManager/libnm-gtk4-vpn-plugin-fortisslvpn-editor.so
+%endif
%attr(755,root,root) %{_libexecdir}/nm-fortisslvpn-auth-dialog
%attr(755,root,root) %{_libexecdir}/nm-fortisslvpn-pinentry
%attr(755,root,root) %{_libexecdir}/nm-fortisslvpn-service