summaryrefslogtreecommitdiff
path: root/net-libs/libnma
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/libnma')
-rw-r--r--net-libs/libnma/Manifest5
-rw-r--r--net-libs/libnma/files/1.8.28-nma-ws-leak-fix.patch86
-rw-r--r--net-libs/libnma/libnma-1.8.28.ebuild72
-rw-r--r--net-libs/libnma/metadata.xml3
4 files changed, 165 insertions, 1 deletions
diff --git a/net-libs/libnma/Manifest b/net-libs/libnma/Manifest
index 5e59fec8503e..138df71c15cc 100644
--- a/net-libs/libnma/Manifest
+++ b/net-libs/libnma/Manifest
@@ -1,2 +1,5 @@
+AUX 1.8.28-nma-ws-leak-fix.patch 2559 BLAKE2B a399b22f1f9c2a4d0acca2fac72f17211ec360204e8029ae980a46f67aff1b39dc20e6d4dbe88c55885d85f19b270b1c77e3bccde52884831383f168df5c2671 SHA512 35a8c8b4cb85dd0c0e7af1b9c424f9b69908b71c30605274dc8c383f72fbd3793780209ddbb1e82422aef3a8a297fecada0233a31f285090c5c037ff4f454228
+DIST libnma-1.8.28.tar.xz 1366584 BLAKE2B 598c2d310844930a5ed8b8d4b8bc0ae91193a8e62bccdb60050cc980cd37d198adf728b98694d9f1cf9f523998b865d9682fd271c88e434ead777ed5b69866b4 SHA512 d3996da3433493149edf0743b7f2280a83db2efc2228f04eddb773bbcb08ea2efcb640f781cb1d0a5cbabd8b25b1c612387682ff5239151d8ce249568e877f5b
EBUILD libnma-1.8.24.ebuild 585 BLAKE2B 14955a958ecb2ef65e729f46dc4cabbedf020ca1ede426efd0291101fed11d8dc5ef70051143c4ea5f638cc1a08aeca5426f09595fcdc67d8127228c98af247e SHA512 e67925f59d07a5cba47cb44ec50721e8c365b5ec9d73882b31c2ddfa82ee5daee1241e152a7f2fe7a7f4035a8aa9ea563594d8722ed3e0bc340c9c8fe8e15c95
-MISC metadata.xml 253 BLAKE2B a1efbd3751efaa83ee173f557ec1c8a4497a90b60896cf5a7a07da40b4f94a7a299ca0385477e82b2f5e5dbdf9afa482ccbe21f35ef44214e9c451d764b65529 SHA512 8d59f413993268ca783f7407b676900bb2d964754bf705d4175e2bafbe058a52af74f3928e4bd84d292518f8cf13fab7051486ab7cdc61d02fae6e0188d44442
+EBUILD libnma-1.8.28.ebuild 1689 BLAKE2B 6da4564ecf1a70c90ffd4b9f46b67a062eefc031961ff05b702465065f6637da500ac4dc6bd41590d975c953ccac5fb2650068fc53d9334d43248ab37ad2e727 SHA512 194b9f092912f8a5df01b0f64962f87ca9b613984fe2b8ff8abde42e525dadd2c35411ee0311cccdb40d84486e5f1b2e2170d79dbd1a12c0b952dc8b9d83f4de
+MISC metadata.xml 372 BLAKE2B e55e51eff966d0806e416c520f700ab28219271b0b92cbab359e9b894813e0cf48b978279a4c3d0b460fe5477e12bd016cf2d401b22134c609432284d1e01ff3 SHA512 b644f5bbd965ea13b9097aec503e0d9448bd013feb1abc24cc2bf9b2b4612a984a4ec6b36b67bf0c8b920c82c812e79afcc9dceccde4b37652a61e71c6cdf16e
diff --git a/net-libs/libnma/files/1.8.28-nma-ws-leak-fix.patch b/net-libs/libnma/files/1.8.28-nma-ws-leak-fix.patch
new file mode 100644
index 000000000000..8f2042a2568b
--- /dev/null
+++ b/net-libs/libnma/files/1.8.28-nma-ws-leak-fix.patch
@@ -0,0 +1,86 @@
+From 55e33e4ce01c8b2b8dc98a5ee40a5636579cd577 Mon Sep 17 00:00:00 2001
+From: Beniamino Galvani <bgalvani@redhat.com>
+Date: Sat, 11 Apr 2020 15:44:17 +0200
+Subject: [PATCH] nma-ws: properly dispose wireless security objects
+
+Chain up to parent to properly free resources on dispose().
+
+Fixes: b61cc1b9fa040 ("nma-ws: add")
+
+https://gitlab.gnome.org/GNOME/libnma/-/issues/7
+---
+ src/nma-ws/nma-ws-802-1x.c | 2 ++
+ src/nma-ws/nma-ws-leap.c | 2 ++
+ src/nma-ws/nma-ws-sae.c | 2 ++
+ src/nma-ws/nma-ws-wep-key.c | 2 ++
+ src/nma-ws/nma-ws-wpa-psk.c | 2 ++
+ 5 files changed, 10 insertions(+)
+
+diff --git a/src/nma-ws/nma-ws-802-1x.c b/src/nma-ws/nma-ws-802-1x.c
+index ba348266..0c148ce5 100644
+--- a/src/nma-ws/nma-ws-802-1x.c
++++ b/src/nma-ws/nma-ws-802-1x.c
+@@ -482,6 +482,8 @@ dispose (GObject *object)
+ g_clear_pointer (&self->secrets_hints, g_strfreev);
+ g_clear_pointer (&self->username, g_free);
+ g_clear_pointer (&self->password, g_free);
++
++ G_OBJECT_CLASS (nma_ws_802_1x_parent_class)->dispose (object);
+ }
+
+ static void
+diff --git a/src/nma-ws/nma-ws-leap.c b/src/nma-ws/nma-ws-leap.c
+index f90d43aa..df6d2dde 100644
+--- a/src/nma-ws/nma-ws-leap.c
++++ b/src/nma-ws/nma-ws-leap.c
+@@ -260,6 +260,8 @@ dispose (GObject *object)
+ NMAWsLeap *self = NMA_WS_LEAP (object);
+
+ g_clear_object (&self->connection);
++
++ G_OBJECT_CLASS (nma_ws_leap_parent_class)->dispose (object);
+ }
+
+ static void
+diff --git a/src/nma-ws/nma-ws-sae.c b/src/nma-ws/nma-ws-sae.c
+index e3454bbd..00fb6ff5 100644
+--- a/src/nma-ws/nma-ws-sae.c
++++ b/src/nma-ws/nma-ws-sae.c
+@@ -252,6 +252,8 @@ dispose (GObject *object)
+ NMAWsSae *self = NMA_WS_SAE (object);
+
+ g_clear_object (&self->connection);
++
++ G_OBJECT_CLASS (nma_ws_sae_parent_class)->dispose (object);
+ }
+
+ static void
+diff --git a/src/nma-ws/nma-ws-wep-key.c b/src/nma-ws/nma-ws-wep-key.c
+index cae8c272..992aabf7 100644
+--- a/src/nma-ws/nma-ws-wep-key.c
++++ b/src/nma-ws/nma-ws-wep-key.c
+@@ -404,6 +404,8 @@ dispose (GObject *object)
+ NMAWsWepKey *self = NMA_WS_WEP_KEY (object);
+
+ g_clear_object (&self->connection);
++
++ G_OBJECT_CLASS (nma_ws_wep_key_parent_class)->dispose (object);
+ }
+
+ static void
+diff --git a/src/nma-ws/nma-ws-wpa-psk.c b/src/nma-ws/nma-ws-wpa-psk.c
+index 1c73922a..27604960 100644
+--- a/src/nma-ws/nma-ws-wpa-psk.c
++++ b/src/nma-ws/nma-ws-wpa-psk.c
+@@ -270,6 +270,8 @@ dispose (GObject *object)
+ NMAWsWpaPsk *self = NMA_WS_WPA_PSK (object);
+
+ g_clear_object (&self->connection);
++
++ G_OBJECT_CLASS (nma_ws_wpa_psk_parent_class)->dispose (object);
+ }
+
+ static void
+--
+2.20.1
+
diff --git a/net-libs/libnma/libnma-1.8.28.ebuild b/net-libs/libnma/libnma-1.8.28.ebuild
new file mode 100644
index 000000000000..140757c9ecb7
--- /dev/null
+++ b/net-libs/libnma/libnma-1.8.28.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit gnome.org gnome2-utils meson xdg vala
+
+DESCRIPTION="NetworkManager GUI library"
+HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager"
+
+LICENSE="GPL-2+"
+SLOT="0"
+# pkcs11 default enabled as it's a small dep often already present by libnma users, and it was default enabled as IUSE=+gcr in nm-applet before
+IUSE="gtk-doc +introspection +pkcs11 vala"
+REQUIRED_USE="vala? ( introspection )"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+DEPEND="
+ app-text/iso-codes
+ net-misc/mobile-broadband-provider-info
+ >=dev-libs/glib-2.38:2
+ >=x11-libs/gtk+-3.10:3[introspection?]
+ >=net-misc/networkmanager-1.7[introspection?]
+ pkcs11? ( >=app-crypt/gcr-3.14:= )
+ introspection? ( >=dev-libs/gobject-introspection-1.56:= )
+"
+RDEPEND="${DEPEND}
+ !<gnome-extra/nm-applet-1.16.0" # gschema moved to here before nm-applet-1.16.0
+BDEPEND="
+ dev-libs/libxml2
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ gtk-doc? ( dev-util/gtk-doc
+ app-text/docbook-xml-dtd:4.3 )
+ vala? ( $(vala_depend)
+ net-misc/networkmanager[vala]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-nma-ws-leak-fix.patch
+)
+
+src_prepare() {
+ use vala && vala_src_prepare
+ xdg_src_prepare
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dlibnma_gtk4=false
+ $(meson_use pkcs11 gcr)
+ -Dmore_asserts=0
+ -Diso_codes=true
+ -Dmobile_broadband_provider_info=true
+ -Dld_gc=false
+ $(meson_use gtk-doc gtk_doc)
+ $(meson_use introspection)
+ $(meson_use vala vapi)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/net-libs/libnma/metadata.xml b/net-libs/libnma/metadata.xml
index 996e7cacd217..5c94e2f316c0 100644
--- a/net-libs/libnma/metadata.xml
+++ b/net-libs/libnma/metadata.xml
@@ -5,4 +5,7 @@
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
+ <use>
+ <flag name="pkcs11">Enable PKCS#11 support in certificate chooser via <pkg>app-crypt/gcr</pkg></flag>
+ </use>
</pkgmetadata>