summaryrefslogtreecommitdiff
path: root/gnome-extra/nm-applet
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-04-30 21:33:31 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-04-30 21:33:31 +0100
commit2f8db31405fac68eea6f7257d58529243815033b (patch)
tree54259cc8988a98a10586fc0496b1f3501cd1e2a1 /gnome-extra/nm-applet
parenta4e2a46beb5e4858ef27bdedbb0ff6d2ced430ad (diff)
gentoo resync : 30.04.2018
Diffstat (limited to 'gnome-extra/nm-applet')
-rw-r--r--gnome-extra/nm-applet/Manifest7
-rw-r--r--gnome-extra/nm-applet/files/nm-applet-1.8.10-cert-chooser.patch38
-rw-r--r--gnome-extra/nm-applet/files/nm-applet-1.8.10-vpn-crash.patch137
-rw-r--r--gnome-extra/nm-applet/nm-applet-1.8.10-r1.ebuild (renamed from gnome-extra/nm-applet/nm-applet-1.8.6.ebuild)14
-rw-r--r--gnome-extra/nm-applet/nm-applet-1.8.2.ebuild62
5 files changed, 190 insertions, 68 deletions
diff --git a/gnome-extra/nm-applet/Manifest b/gnome-extra/nm-applet/Manifest
index 7b2e85e34585..6dd1b4809bcb 100644
--- a/gnome-extra/nm-applet/Manifest
+++ b/gnome-extra/nm-applet/Manifest
@@ -2,12 +2,11 @@ AUX 1.4.6-CVE-2017-6590.patch 8963 BLAKE2B d725254a4cee53f4d24aaa062f1782ecf4e5c
AUX 1.4.6-fix-nma-bindings.patch 1350 BLAKE2B e09dbb79718de55270405de02efd48c0df45448e3073762088523070346076c0fa0c42813beeb3de377108c55516908e9b37440f8089a308d9840be74d8d1a41 SHA512 a2237c8fd94260c1681e97aabe6a8c203acb5e743996c280e6e7f8890cf4ccf1525c7d61d768e3418915258ef2a9416614a41eee6d223e4db11f1f168c17cf4f
AUX 1.4.6-fix-translations-in-g-c-c.patch 4530 BLAKE2B 34f76eb8ffc74d58be05e05dfe636ca594149b1a101c2611d4df896e2148519d18087ebd12a3cc5e17253be5e57bf6bf90ed87aa5895e5a100fbfc82f74e4fbf SHA512 3af403696d1e647bfdf5a2316c17064b7fd4eb07c4ccce6d23fb0b6ce59143a90ba5b37377ed559d3abbe7fbe06642958c8a59b39cb67c19541dd6dd81831f7d
AUX 1.4.6-improved-certfile-error-msg.patch 1481 BLAKE2B ca880144ffe78153b4989399d883def5d318668e886449f2bb2fdf094742cf2a6d25e6fa36fd6faba505d9caa97771fd6c1969c721bf14352c8665b072f07fca SHA512 dce3cbd0e8184d2558ffc63b068b7d1d396473f428fdba60c566eb1c5aae8c2519ee427516efebd63e69518ca55cac86c21db18a3753dd2780f0db2743d80bad
+AUX nm-applet-1.8.10-cert-chooser.patch 1421 BLAKE2B 6c867f5cca1c3b67a27cdfc9a80da728be65f80a8619dcfa0d53f910884e56d7cc1e6c2aa4a2661079d29f3abd49257a0720d59c09d0ba8024e140dc086ce033 SHA512 79ac1445ee0885b63092f28d2fbfd74b6b926696d44ee0ff47d079adc293301c05b8984ad812c66d4b7cab34c32902faed467fee1a2f14af66d2c43914858ed6
+AUX nm-applet-1.8.10-vpn-crash.patch 4613 BLAKE2B 44dbc67736d2025f177de3c29961234c8f8f1f0002bd7a4275cdd2631e5a3961f011c73c9c1a9ee77b2471945d5ce83c5120b2b26e8395f5666338e64b067359 SHA512 e2a9bc66b13f84270ac9735315d197c1ab264c99e5941218df310ebaa40900490661dec5f5972734e75c89b6db27530fd6ef02ad91a61a20c0eb388cff0b42aa
DIST network-manager-applet-1.4.6.tar.xz 1388916 BLAKE2B 697587e4451d37ab91e99e25e40a1d797724e26568d252c77361e25f32508722a58dba1b2b4d2c784150479493c0451173da0b42314ebb17f1b7215628675444 SHA512 f0eab5c50739c2309fa19336e23ead6603dc953b62fff0600a91988df8d41c2f300c22ebd4d5be8654a3fd7bac38dacc23be149f1a7085f10bb55e1830d9472f
DIST network-manager-applet-1.8.10.tar.xz 1479032 BLAKE2B 482c7a644edaf4f19ed02ca3f29ffbbcf11c01b1c9572affa430a7edb8314d1381ca6738d998e91537903f6eceea0cff1b82b88e7acd1e9b5665c566271cdf3c SHA512 319a280ad56efe8d1b31db7879aebd6242f2e67453287476d397835069f5f5c6ce7884c84d65e0177a94a554b8f1a6e1d353ab33f8ddfc63269d8133b76b1372
-DIST network-manager-applet-1.8.2.tar.xz 1445920 BLAKE2B 583090089b48cf5265f5f52aa2f412f357a62042863d6eaeb515316ad27e384654004ae3b8fdc05af962d660f99c19d4a047e0ecc803cc295b7ce48da77f0fc8 SHA512 1e9019ca17a55138e08eaf34c7889b7d5f531e918412bf025c0e03eb0794dc323b59f0d3521f14e93b6a94756f8e2a52139c76117ed430c73bcd1366eeffb5c9
-DIST network-manager-applet-1.8.6.tar.xz 1478992 BLAKE2B cb037aab17e9802c52724a894cb2e998e9d81b8831ee850754f63c176ebf737070a87eb6495388e59bd97516608bdb0ff91c9464cce78b705fbd8a3b132e592a SHA512 9080fe1ef252837f16c698fe2083ebe66949e2a30f626619ef7eb82f44e988a0b8488f4f8cd0946a78a240f9bf7a5d054afc988b25c1bedeba7f79a7c84d46fa
EBUILD nm-applet-1.4.6-r1.ebuild 1670 BLAKE2B 3119a19f109ee03c9a149167b4e11812b6303fda297485f61c5494c669dbdb99e9b40e0721d8c9180ab7ea95af1e1d20f83a96f85c3915fc53fb3f2f67e8ffaf SHA512 ba565628ef8430a0e93e85ee5495409cd36094801a5ec9cf6207df3cf829405a0c74848e8840c4e6d0cb9ceb642d8abe3f888fc793e57bf9272f66ebb6fe7cf5
+EBUILD nm-applet-1.8.10-r1.ebuild 1777 BLAKE2B c101d9c941f29a3211445c872ef03b6d2f7cec1ce222e56c96a045bd70c4572311f17df525fb5b18567caaad545e220399a96bc7f19b671d13248e337753a015 SHA512 a01dd88a4b504b3df18ad7c509fe48f6524526a1c904866b1054ee7cdb88dcb7ac7651323cdcdd481191d1e866cf4cc4dba2b314bd17eed6e1cc57918e6ecb99
EBUILD nm-applet-1.8.10.ebuild 1521 BLAKE2B 745e2371612905c6d42ff9bc57b1e29f4bfcf078a0ed32ee5bcd9bd6f106d7f44204e84fdeca46701fa64fee6cecad28d155a5b4a56d0fa08514c246b95930fa SHA512 4c498d9b8bba82485134556025b9be43640a259bbb01be404537c655102a1d08198c58c9f28e4bc0b720810a5d4842e92b67885303f6b0a6a3c279bc65224166
-EBUILD nm-applet-1.8.2.ebuild 1522 BLAKE2B 4d8889cc8dac6b585c7d004faa920d948f315e009160ceb7a31dab479cb4d298effd5ce0aa2bb0fc7edb25aa5e517e6c1ae9454c97feca1e39366d8bf8b78d29 SHA512 9f6382da7112978a74cb6cb74d17d9494a9325d3610204e383f2f3e53cba69ae684d50b1fd5baeef523e80e6a15aed1d7fcb74245c53ecd60336e270c26795fa
-EBUILD nm-applet-1.8.6.ebuild 1521 BLAKE2B 745e2371612905c6d42ff9bc57b1e29f4bfcf078a0ed32ee5bcd9bd6f106d7f44204e84fdeca46701fa64fee6cecad28d155a5b4a56d0fa08514c246b95930fa SHA512 4c498d9b8bba82485134556025b9be43640a259bbb01be404537c655102a1d08198c58c9f28e4bc0b720810a5d4842e92b67885303f6b0a6a3c279bc65224166
MISC metadata.xml 548 BLAKE2B 2b7a8b83983ab5c3477f2fbd75b35176f875dd6c9dccd28d8cb010168b10df3ca13307ee525db41c4309f9caab8e7c8e96b0822d3bb8480479a5cec8a25650c1 SHA512 3a163bc5738f3ee35fe00273788f2a3bd943db38832096c9e8a8d7c3676e0b90ba891ed0cc4903109e11c2dbbda950c100b66a79ddfb09b4a5fcb160b6a55067
diff --git a/gnome-extra/nm-applet/files/nm-applet-1.8.10-cert-chooser.patch b/gnome-extra/nm-applet/files/nm-applet-1.8.10-cert-chooser.patch
new file mode 100644
index 000000000000..9aad2396953e
--- /dev/null
+++ b/gnome-extra/nm-applet/files/nm-applet-1.8.10-cert-chooser.patch
@@ -0,0 +1,38 @@
+From 4d2523b482ab78134dafc02c9b99bd15f1a9174a Mon Sep 17 00:00:00 2001
+From: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>
+Date: Sun, 14 Jan 2018 23:28:15 +0100
+Subject: [PATCH 1/1] libnma/cert-chooser: handle case of no avalable modules
+
+Cause: Apparently it's perfectly okay if the list of modules is empty
+(e.g., NULL). However, the code assume that this indicates an error,
+tries to print the NULL error, and crashes.
+
+[lkundrak@v3.sk: cosmetic changes]
+
+https://bugzilla.gnome.org/show_bug.cgi?id=785674
+(cherry picked from commit a37483c1a364ef3cc1cfa29e7ad51ca108d75674)
+---
+ src/libnma/nma-cert-chooser-button.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/libnma/nma-cert-chooser-button.c b/src/libnma/nma-cert-chooser-button.c
+index c7089390..00651765 100644
+--- a/src/libnma/nma-cert-chooser-button.c
++++ b/src/libnma/nma-cert-chooser-button.c
+@@ -93,10 +93,10 @@ modules_initialized (GObject *object, GAsyncResult *res, gpointer user_data)
+ gchar *label;
+
+ modules = gck_modules_initialize_registered_finish (res, &error);
+- if (!modules) {
++ if (error) {
+ /* The Front Fell Off. */
+- g_critical ("Error getting registered modules: %s", error->message);
+- g_error_free (error);
++ g_warning ("Error getting registered modules: %s", error->message);
++ g_clear_error (&error);
+ }
+
+ model = GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (self)));
+--
+2.14.3
+
diff --git a/gnome-extra/nm-applet/files/nm-applet-1.8.10-vpn-crash.patch b/gnome-extra/nm-applet/files/nm-applet-1.8.10-vpn-crash.patch
new file mode 100644
index 000000000000..8f217af2dac6
--- /dev/null
+++ b/gnome-extra/nm-applet/files/nm-applet-1.8.10-vpn-crash.patch
@@ -0,0 +1,137 @@
+From 46f99b295e59f44dfde50ec90e7c09627d32431e Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Wed, 20 Dec 2017 13:23:12 +0100
+Subject: [PATCH 1/2] shared/compat: fix memory handling of
+ nm_setting_vpn_get_*_keys
+
+The compat implementations return a (transfer none) strv instead of a
+(transfer container) one. This has caused double frees in nm-applet:
+https://bugs.archlinux.org/task/56772
+
+Don't copy the keys and don't free the container later.
+
+[thaller@redhat.com: patch adjusted to avoid compiler warning]
+
+Patch imported from NetworkManager commit 8ac8c01162235c2c198bfaf25fb7d1a57a595ce5.
+
+Fixes: e93ca7fc129ec0f29f5313a3aa12839914df8fa2
+(cherry picked from commit 0c90e08f77b71d2bda699cf032fceec0122bbf82)
+---
+ shared/nm-utils/nm-compat.c | 10 +---------
+ 1 file changed, 1 insertion(+), 9 deletions(-)
+
+diff --git a/shared/nm-utils/nm-compat.c b/shared/nm-utils/nm-compat.c
+index 22ab675d..47035e62 100644
+--- a/shared/nm-utils/nm-compat.c
++++ b/shared/nm-utils/nm-compat.c
+@@ -30,7 +30,7 @@ _get_keys_cb (const char *key, const char *val, gpointer user_data)
+ {
+ GPtrArray *a = user_data;
+
+- g_ptr_array_add (a, g_strdup (key));
++ g_ptr_array_add (a, (gpointer) key);
+ }
+
+ static const char **
+@@ -55,14 +55,6 @@ _get_keys (NMSettingVpn *setting,
+ g_ptr_array_sort (a, nm_strcmp_p);
+ g_ptr_array_add (a, NULL);
+ keys = (const char **) g_ptr_array_free (g_steal_pointer (&a), FALSE);
+-
+- /* we need to cache the keys *somewhere*. */
+- g_object_set_qdata_full (G_OBJECT (setting),
+- is_secrets
+- ? NM_CACHED_QUARK ("libnm._nm_setting_vpn_get_secret_keys")
+- : NM_CACHED_QUARK ("libnm._nm_setting_vpn_get_data_keys"),
+- keys,
+- (GDestroyNotify) g_strfreev);
+ }
+
+ NM_SET_OUT (out_length, len);
+--
+2.14.3
+
+
+From 0d13a8b4064c83146714ecee86b69042aca35f9e Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Thu, 21 Dec 2017 20:36:48 +0100
+Subject: [PATCH 2/2] shared/compat: fix memory handling of
+ nm_setting_vpn_get_*_keys()
+
+The previous fix was bad because the keys do not come from NMSettingVpn's hash
+table but are copies that are freed by nm_setting_vpn_foreach_* before
+it returns.
+
+[thaller@redhat.com: import shared code from NetworkManager, merging
+three patches together.]
+
+Fixes: e93ca7fc129ec0f29f5313a3aa12839914df8fa2
+Fixes: 0c90e08f77b71d2bda699cf032fceec0122bbf82
+
+https://mail.gnome.org/archives/networkmanager-list/2017-December/msg00069.html
+https://mail.gnome.org/archives/networkmanager-list/2017-December/msg00070.html
+(cherry picked from commit a52ccb2fe170558fc0aab4dd1d15ba8808b10951)
+---
+ shared/nm-utils/nm-compat.c | 29 ++++++++++++++++++++++-------
+ 1 file changed, 22 insertions(+), 7 deletions(-)
+
+diff --git a/shared/nm-utils/nm-compat.c b/shared/nm-utils/nm-compat.c
+index 47035e62..90328c06 100644
+--- a/shared/nm-utils/nm-compat.c
++++ b/shared/nm-utils/nm-compat.c
+@@ -30,7 +30,7 @@ _get_keys_cb (const char *key, const char *val, gpointer user_data)
+ {
+ GPtrArray *a = user_data;
+
+- g_ptr_array_add (a, (gpointer) key);
++ g_ptr_array_add (a, g_strdup (key));
+ }
+
+ static const char **
+@@ -40,22 +40,37 @@ _get_keys (NMSettingVpn *setting,
+ {
+ guint len;
+ const char **keys = NULL;
+- gs_unref_ptrarray GPtrArray *a = NULL;
++ GPtrArray *a;
+
+ nm_assert (NM_IS_SETTING_VPN (setting));
+
+- a = g_ptr_array_new ();
++ if (is_secrets)
++ len = nm_setting_vpn_get_num_secrets (setting);
++ else
++ len = nm_setting_vpn_get_num_data_items (setting);
++
++ a = g_ptr_array_sized_new (len + 1);
++
+ if (is_secrets)
+ nm_setting_vpn_foreach_secret (setting, _get_keys_cb, a);
+ else
+ nm_setting_vpn_foreach_data_item (setting, _get_keys_cb, a);
+- len = a->len;
+
+- if (a->len) {
++ len = a->len;
++ if (len) {
+ g_ptr_array_sort (a, nm_strcmp_p);
+ g_ptr_array_add (a, NULL);
+- keys = (const char **) g_ptr_array_free (g_steal_pointer (&a), FALSE);
+- }
++ keys = g_memdup (a->pdata, a->len * sizeof (gpointer));
++
++ /* we need to cache the keys *somewhere*. */
++ g_object_set_qdata_full (G_OBJECT (setting),
++ is_secrets
++ ? NM_CACHED_QUARK ("libnm._nm_setting_vpn_get_secret_keys")
++ : NM_CACHED_QUARK ("libnm._nm_setting_vpn_get_data_keys"),
++ g_ptr_array_free (a, FALSE),
++ (GDestroyNotify) g_strfreev);
++ } else
++ g_ptr_array_free (a, TRUE);
+
+ NM_SET_OUT (out_length, len);
+ return keys;
+--
+2.14.3
+
diff --git a/gnome-extra/nm-applet/nm-applet-1.8.6.ebuild b/gnome-extra/nm-applet/nm-applet-1.8.10-r1.ebuild
index 52554e8a0baa..651cf34423a7 100644
--- a/gnome-extra/nm-applet/nm-applet-1.8.6.ebuild
+++ b/gnome-extra/nm-applet/nm-applet-1.8.10-r1.ebuild
@@ -12,8 +12,8 @@ HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager"
LICENSE="GPL-2+"
SLOT="0"
-IUSE="+introspection gcr +modemmanager selinux teamd"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 x86"
+IUSE="+introspection +gcr +modemmanager selinux teamd"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
RDEPEND="
>=app-crypt/libsecret-0.18
@@ -44,6 +44,16 @@ DEPEND="${RDEPEND}
PDEPEND="virtual/notification-daemon" #546134
+PATCHES=(
+ # shared/compat: fix memory handling of nm_setting_vpn_get_*_keys
+ # (from 'master')
+ "${FILESDIR}"/${P}-vpn-crash.patch
+
+ # libnma/cert-chooser: handle case of no avalable modules (from
+ # 'master')
+ "${FILESDIR}"/${P}-cert-chooser.patch
+)
+
src_configure() {
local myconf=(
--without-appindicator
diff --git a/gnome-extra/nm-applet/nm-applet-1.8.2.ebuild b/gnome-extra/nm-applet/nm-applet-1.8.2.ebuild
deleted file mode 100644
index a937ab737f58..000000000000
--- a/gnome-extra/nm-applet/nm-applet-1.8.2.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GNOME2_LA_PUNT="yes"
-GNOME_ORG_MODULE="network-manager-applet"
-
-inherit gnome2
-
-DESCRIPTION="GNOME applet for NetworkManager"
-HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager"
-
-LICENSE="GPL-2+"
-SLOT="0"
-IUSE="+introspection gcr +modemmanager selinux teamd"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
-
-RDEPEND="
- >=app-crypt/libsecret-0.18
- >=dev-libs/glib-2.32:2[dbus]
- >=dev-libs/dbus-glib-0.88
- >=sys-apps/dbus-1.4.1
- >=sys-auth/polkit-0.96-r1
- >=x11-libs/gtk+-3.4:3[introspection?]
- >=x11-libs/libnotify-0.7.0
-
- app-text/iso-codes
- >=net-misc/networkmanager-1.7:=[introspection?,modemmanager?,teamd?]
- net-misc/mobile-broadband-provider-info
-
- introspection? ( >=dev-libs/gobject-introspection-0.9.6:= )
- virtual/freedesktop-icon-theme
- virtual/libgudev:=
- gcr? ( >=app-crypt/gcr-3.14:=[gtk] )
- modemmanager? ( net-misc/modemmanager )
- selinux? ( sys-libs/libselinux )
- teamd? ( >=dev-libs/jansson-2.3 )
-"
-DEPEND="${RDEPEND}
- >=dev-util/gtk-doc-am-1.0
- >=dev-util/intltool-0.50.1
- virtual/pkgconfig
-"
-
-PDEPEND="virtual/notification-daemon" #546134
-
-src_configure() {
- local myconf=(
- --without-appindicator
- --disable-lto
- --disable-ld-gc
- --disable-more-warnings
- --disable-static
- --localstatedir=/var
- $(use_enable introspection)
- $(use_with gcr)
- $(use_with modemmanager wwan)
- $(use_with selinux)
- $(use_with teamd team)
- )
- gnome2_src_configure "${myconf[@]}"
-}