From 421a715b4a7b32199516e99dd865b1855868e2dadd4b68018bb1b184fb3c051d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Lie?= Date: Sat, 29 Oct 2016 09:32:40 +0000 Subject: [PATCH] Accepting request 435422 from GNOME:Next Rename of NM-gnome (and versionbump) OBS-URL: https://build.opensuse.org/request/show/435422 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/NetworkManager-applet?expand=0&rev=1 --- NetworkManager-applet.changes | 1100 +++++++++++++++++ NetworkManager-applet.spec | 276 +++++ .gitattributes | 23 + .gitignore | 1 + network-manager-applet-1.4.2.tar.xz | 3 + network-manager-applet-no-firewalld.patch | 126 ++ nm-applet-private-connection.patch | 421 +++++++ nm-applet-probe-radius-server-cert.patch | 1310 +++++++++++++++++++++ 8 files changed, 3260 insertions(+) create mode 100644 NetworkManager-applet.changes create mode 100644 NetworkManager-applet.spec create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 network-manager-applet-1.4.2.tar.xz create mode 100644 network-manager-applet-no-firewalld.patch create mode 100644 nm-applet-private-connection.patch create mode 100644 nm-applet-probe-radius-server-cert.patch diff --git a/NetworkManager-applet.changes b/NetworkManager-applet.changes new file mode 100644 index 0000000..12fa569 --- /dev/null +++ b/NetworkManager-applet.changes @@ -0,0 +1,1100 @@ +------------------------------------------------------------------- +Sat Oct 1 09:12:32 UTC 2016 - sor.alexei@meowr.ru + +- Change the summary to something less GNOME-specific. +- Don't install the ChangeLog file. +- Replace the following BuildRequires for their pkgconfig + equivalent: gobject-introspection-devel, gtk3-devel and + libnotify-devel for: pkgconfig(gobject-introspection-1.0), + pkgconfig(gtk+-3.0), pkgconfig(libnotify). +- Drop dbus-1-devel and dbus-1-glib-devel BuildRequires: We already + have pkgconfig(dbusmenu-gtk3-0.4) that pulls in all the dbus + devel packages. + +------------------------------------------------------------------- +Fri Sep 30 20:45:06 UTC 2016 - zaitor@opensuse.org + +- Rename package to NetworkManager-applet aligning slightly more + close to upstream name. +- Provide/Obsolete old name NetworkManager-gnome. +- Run spec-cleaner to modernise spec file. Following this, add + pkgconfig BuildRequires. +- Rename NetworkManager-gnome-no-firewalld.patch to + network-manager-applet-no-firewalld.patch, align with new package + name. +- Drop nm-icons.nm-icons.tar.gz as source package and handling of + it in spec, not needed anymore. +- Stop using suse-update-desktop files for nm-applet.desktop file, + no longer needed. +- Stop passing --disable-migration to configure, no longer needed, + nor regcognized. + +------------------------------------------------------------------- +Fri Sep 30 20:35:25 UTC 2016 - zaitor@opensuse.org + +- Update to version 1.4.2: + + Removed UI property that required gtk3 >= 3.16 + + Added a workaround for broken strict matching with old Jansson + versions. + +------------------------------------------------------------------- +Wed Sep 7 11:12:37 UTC 2016 - dimstar@opensuse.org + +- Update to version 1.4.0: + + Added support for multiple VPN connections. + + Added new pages for changing team and team-port configurations. + + Improved error reporting in the wireless security page. + + A single VPN plugins now supports the creation of multiple + connection types. + + Fixed some crashes. +- Add pkgconfig(jansson) BuildRequires: new dependency for team + support. +- Rebase NetworkManager-gnome-no-firewalld.patch. +- No longer rename org.gnome.nm-connection-editor.appdata.xml to + nm-connection-editor.appdata.xml: this is fixed in the tarball + already. + +------------------------------------------------------------------- +Wed Sep 7 11:12:36 UTC 2016 - zaitor@opensuse.org + +- Update to version 1.2.2: + + Connecting to multiple VPNs from the applet is now possible. + + A minor crash bugfix. + + Updated translations. +- Drop NetworkManager-wrongly-placed-brace.patch: Fixed upstream. +- Conditionally apply translations-update-upstream BuildRequires + and macro for non-openSUSE only. +- Stop packaging AUTORS and README, they are empthy files. + +------------------------------------------------------------------- +Wed Sep 7 11:12:35 UTC 2016 - dimstar@opensuse.org + +- Update to version 1.2.0: + + Appdata: fix the screenshot url. + + Updated translations. + +------------------------------------------------------------------- +Wed Sep 7 11:12:34 UTC 2016 - dimstar@opensuse.org + +- Update to version 1.1.93 (1.2-rc1): + + Updated translations. +- Changes from version 1.1.92: + + Numerous crasher and memory leak bugs were fixed. +- Add pkgconfig(dbusmenu-gtk3-0.4) BuildRequires: new dependency + for AppIndicator integration. + +------------------------------------------------------------------- +Wed Sep 7 11:12:33 UTC 2016 - dimstar@opensuse.org + +- Update to version 1.1.91: + + Port to GDBus. + + Bugs fixed: bgo#686357, bgo#760866, bgo#760946, bgo#760966, + bgo#762421, rh#1279937, rh#1284671. + + Updated translations. + +------------------------------------------------------------------- +Wed Sep 7 11:12:32 UTC 2016 - dimstar@opensuse.org + +- Update to version 1.1.90: + + Ported to libnm. + + Added new libnm-based client library (libnma). + + Add support for libappindicator. +- Add pkgconfig(libnm) BuildRequires: new dependency. +- Disable nm-applet-private-connection.patch: needs rebase. +- Rebase NetworkManager-gnome-no-firewalld.patch. +- Flip with_cacert_patch off (set to 0): patch needs rebase. +- Split the .ui files out of libnm-gtk0 into libnm-gtk-data, as + those files violate the SLPP, making it impossible to install + multiple versions of libnm-gtk. +- Split out new subpackage for the new libnma library: + + libnma0, libnma-data, libnma-devel, typelib-1_0-NMA-1_0. +- Unconditionally pass --with-appindicator to configure: this + support is now upstream supported. Remove 2nd spec file and + traces of the dual-spec setup. +- Drop nm-applet-app-indicator.patch: no longer needed. + +------------------------------------------------------------------- +Wed Sep 7 11:12:31 UTC 2016 - sckang@suse.com + +- Drop nm-applet-fix-missing-translation.patch: This patch leads to + conflict between accelerate keys. And it won't fix the missing + translations, since the problem comes from those untranslated + POs. + +------------------------------------------------------------------- +Mon Aug 29 02:31:42 UTC 2016 - sckang@suse.com + +- Drop nm-applet-build-don-t-try-to-build-bluetooth-widget-with-bluez5.patch: + Fixed in upstream. + +------------------------------------------------------------------- +Mon Jul 25 09:08:12 UTC 2016 - sckang@suse.com + +- Add nm-applet-fix-missing-translation.patch: Fix missing + translation in ce-page-team.ui(bsc#988533). + +------------------------------------------------------------------- +Mon May 23 09:43:03 UTC 2016 - dimstar@opensuse.org + +- Add NetworkManager-wrongly-placed-brace.patch: fix wrongly placed + brace. + +------------------------------------------------------------------- +Wed Apr 13 10:54:22 UTC 2016 - sckang@suse.com + +- Update to GNOME 3.20 Fate#318572 +- Drop nm-applet-build-don-t-try-to-build-bluetooth-widget-with-newer.patch: + Fixed in upstream. +- Rebase nm-applet-build-don-t-try-to-build-bluetooth-widget-with-bluez5.patch. +- Rebase nm-applet-probe-radius-server-cert.patch. +- Rebase nm-applet-private-connection.patch. +- Add NetworkManager-appindicator.changes. +- Add NetworkManager-appindicator.spec. +- Add NetworkManager-gnome-no-firewalld.patch. +- Add nm-applet-app-indicator.patch. +- Add nm-icons-appindicator.tar.gz. +- Add pre_checkin.sh. + +------------------------------------------------------------------- +Thu Apr 7 08:23:41 UTC 2016 - sckang@suse.com + +- Add nm-applet-build-don-t-try-to-build-bluetooth-widget-with-bluez5.patch + + BlueZ 5 supported is default, disable the bluetooth plugin + when BlueZ 5 is used.(bnc#876552) + + Add bluez Requires + +------------------------------------------------------------------- +Wed Dec 23 21:24:45 UTC 2015 - dimstar@opensuse.org + +- Update to version 1.0.10: + + Bluetooth page in connection editor is now populated with + available Bluetooth devices. + + Fix a possible agent crash when cancelling the secrets request. + + Updated translations. +- Rebase nm-applet-private-connection.patch. + +------------------------------------------------------------------- +Mon Dec 7 10:50:05 UTC 2015 - dimstar@opensuse.org + +- Split nm-connection-editor into a separate package + (NetworkManager-connection-editor), which is then recommended by + NetworkManager-gnome and NetworkManager-appindicator. The VPN + plugins should then require connection editor, as that's what + they're actually extending. As a result, + NetworkManager-appindicator users would receive the option to + install those plugins without conflicts. + +------------------------------------------------------------------- +Sun Nov 22 14:02:51 UTC 2015 - zaitor@opensuse.org + +- Update to version 1.0.8: + + Added hotspot support to the editor. + + Password widgets now emits a signal for secret flag changes. + + The connection validation errors are now communicated in a + tooltip. + + The editor is now able to edit the VLAN flags. + + Several bug fixes. + + Updated translations. +- Rebase nm-applet-probe-radius-server-cert.patch. + +------------------------------------------------------------------- +Mon Oct 12 11:07:12 UTC 2015 - dimstar@opensuse.org + +- Align the name of the appdata file with the desktop file: rename + org.gnome.nm-connection-editor.appdata.xml to + nm-connection-editor.appdata.xml + +------------------------------------------------------------------- +Wed Sep 16 17:25:59 UTC 2015 - dimstar@opensuse.org + +- Own %{_datadir}/appdata to fix build in Leap 42.1. + +------------------------------------------------------------------- +Tue Sep 1 10:25:16 UTC 2015 - simon@simotek.net + +- Add dual spec file for building appindicator support +- Add nm-applet-app-indicator.patch: introduce appindicator + support. + +------------------------------------------------------------------- +Tue Sep 1 10:25:16 UTC 2015 - simon@simotek.net + +- Update to version 1.0.6: + + Added option to set MTU of Team devices. + + Added AppData for nm-connection-editor. + + Build fixes. + + Updated Czech, Polish and Hungarian translations. + +------------------------------------------------------------------- +Wed Aug 19 19:52:54 UTC 2015 - dimstar@opensuse.org + +- Toggle with_cacert_patch to 1: the patch has been rebased. + +------------------------------------------------------------------- +Wed Jul 15 11:45:35 UTC 2015 - dimstar@opensuse.org + +- Update to version 1.0.4: + + Setting MTU for a bond device is now supported. + + Connecting to a wireless network from the NetworkManager applet + no longer results in an attempt to create system-wide + connections. This fixes the ability to connect to a wireless + network for non-privileged user. + + The master interface name is used instead of master connection + UUID for slave connections created with nm-connection-editor. + This fixes compatibility of the ifcfg configuration files with + the legacy network service. + + It is now possible to specify an interface name instead of a + MAC address when editing a connection using + nm-connection-editor. + + The WWAN connections now have IPv6 enabled by default. + + libnm-gtk includes functions for password storage selection, + which eases implementation of password GUI for VPN plugins and + other users. +- Rebase nm-applet-probe-radius-server-cert.patch and + nm-applet-probe-radius-server-cert.patch. +- Toggle with_cacert_patch to 0: the cacert patch is currently + disabled in NetworkManager (boo#938198). + +------------------------------------------------------------------- +Wed May 6 07:58:47 UTC 2015 - dimstar@opensuse.org + +- Update to version 1.0.2: + + The applet is no longer started in GNOME 3. + + STP controls are no longer displayed if STP is disabled. + + Improved accessibility for screen reader users. + + Multiple bugs fixed, including crashes. + + Updated translations. + +------------------------------------------------------------------- +Thu Mar 12 10:30:50 UTC 2015 - dimstar@opensuse.org + +- Add with_cacert_patch condition. When enabled: + + Add NetworkManager(cacert-patch) Requires + + Apply nm-applet-probe-radius-server-cert.patch + + This needs to be toggled whenever NetworkManager is updated + and the nm-probe-radius-server-cert.patch there is not rebased + yet. + +------------------------------------------------------------------- +Tue Mar 10 03:06:20 UTC 2015 - glin@suse.com + +- Refresh and enable nm-applet-probe-radius-server-cert.patch + +------------------------------------------------------------------- +Tue Jan 27 10:32:47 UTC 2015 - dimstar@opensuse.org + +- Update to version 1.0.0: + + Added support for editing Bluetooth mobile broadband + connections. + + Added support for IPv6 mobile broadband connections. + + Allow IPv6-only configuration for more connection types. + + The applet and editor are no longer shown in GNOME 3, which has + its own network indicator and control panel. +- Rebase NetworkManager-gnome-no-firewalld.patch. +- Disable nm-applet-probe-radius-server-cert.patch for now: needs + rebase (possibly only in NetworkManager itself). + +------------------------------------------------------------------- +Tue Sep 30 22:34:01 UTC 2014 - dimstar@opensuse.org + +- Add NetworkManager-gnome-no-firewalld.patch: Allow to build + without firewalld integration (which openSUSE does not offer, + boo#897636). +- Pass --without-firewalld to configure, to disable integration. + +------------------------------------------------------------------- +Tue Aug 19 10:37:17 UTC 2014 - acho@suse.com + +- Added patches: + - Add nm-applet-build-don-t-try-to-build-bluetooth-widget-with-newer.patch + + Since the plugin API no longer exists(bnc#876552). + - Add nm-applet-build-network-manager-applet-add-rules-for-BlueZ-.patch + + BlueZ 5 supported is default, + disable the bluetooth plugin when BlueZ 5 is used(bnc#876552). + + Add bluez Requires + +------------------------------------------------------------------- +Tue Jul 15 09:51:28 UTC 2014 - glin@suse.com + +- Rebase nm-applet-probe-radius-server-cert.patch. + +------------------------------------------------------------------- +Wed Jul 9 20:29:31 UTC 2014 - dimstar@opensuse.org + +- Update to version 0.9.10.0: + + Added controls for IPv6 privacy extensions. + + Added support for VPN hints for new/additional secrets during + connection. + + Added support for Data Center Bridging and FibreChannel over + Ethernet configuration. + + Improved connections to new hidden WiFi networks. + + Allow slaves VLANs/slaves of more device types. + + Added support for changing password flags. + + Passwords/secrets now default to user-agent storage instead of + system-wide storage. + + Added support for editing Team connections. + + Rework CA certificate warnings to be less annoying. +- Rebase nm-applet-private-connection.patch. +- Disable nm-applet-probe-radius-server-cert.patch: needs further + investigation. + +------------------------------------------------------------------- +Fri Apr 25 08:20:46 UTC 2014 - dimstar@opensuse.org + +- Update to version 0.9.8.10: + + Fixed the applet to not show the PIN unlock dialog even if the + PIN was saved in the keyring. + + Fixed a GSettings-related warning when using GLib 2.40. + +------------------------------------------------------------------- +Fri Apr 4 12:02:17 UTC 2014 - dimstar@opensuse.org + +- Update to version 0.9.8.9: + + Changed the default configuration of WPA Enterprise EAP + certificate lookup to not use the system CA store by default, + since this turns out to be a bad default. + + We no longer try to build the bluetooth widget when using newer + versions of gnome-bluetooth (that no longer support plugins). + + Updated translations. + +------------------------------------------------------------------- +Tue Dec 24 13:00:09 UTC 2013 - dimstar@opensuse.org + +- Drop gnome-bluetooth-devel BuildRequires: on GNOME 3.11.x, the + bluetooth widget is no longer supported. + +------------------------------------------------------------------- +Mon Nov 11 18:28:12 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.8.8: + + nm-applet is now started under GNOME 3 again (but never acts as + a "secret agent" under GNOME Shell). This fixes the lack of + password dialogs in some GNOME-3-based sessions (bgo#709410), + and fixes the lack of a mobile broadband PIN unlock dialog + under GNOME Shell. + + Fixed a warning when closing the VPN import/export dialogs. + + Made nm-applet use g_debug(); set G_MESSAGES_DEBUG=nm-applet to + see logging now. + + Updated translations. + +------------------------------------------------------------------- +Tue Oct 1 10:35:42 UTC 2013 - glin@suse.com + +- Rebase nm-applet-private-connection.patch for 0.9.8.4 + (bnc#751211) +- Add nm-applet-probe-radius-server-cert.patch to probe the + certificate the RADIUS server (bnc#574266) + +------------------------------------------------------------------- +Fri Sep 13 17:20:46 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.8.4: + + Fix handling of bonding mode and VLAN parent fields in editor. + + Fix crash when failing to read secrets from the keyring. + + nm-applet is no longer autostarted under GNOME. + + Updated translations. + +------------------------------------------------------------------- +Wed Sep 11 17:55:18 UTC 2013 - dimstar@opensuse.org + +- Add dbus(org.freedesktop.secrets) Requires (bnc#828387). + +------------------------------------------------------------------- +Fri Jun 21 13:02:30 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.8.2: + + Conversion from gnome-keyring to libsecret; libsecret is now + required to build. + + Editor no longer overwrites master interface name with the + master UUID. + + Fix crashes when using ModemManager 0.7/0.8. + + Fix allowed values for VLAN ID and MTU in the editor. + + Preserve existing PPP LCP echo failure and interval values. + + Ensure Bridge STP checkbox values are saved. + + Hide BSSID for Wi-Fi Ad-Hoc connections (it's autocreated by + the kernel). + + Ensure IPv6 next-hop/gateway values are sane. + + Fix problems with the MAC address combo box on various pages. + + Only request secrets from the user when allowed to. + + Fix running with GTK+ 2.x. + + Fix signal icons to work with newer libpng. + + Don't show Wi-Fi Security combo when not required. + + Improve applet icon size handling. + + Show more helpful errors when VPN plugins are not installed. + + Updated translations. +- Replace gnome-keyring-devel BuildRequires with + pkgconfig(libsecret-unstable), following upstreams port to + libsecret. + +------------------------------------------------------------------- +Fri Feb 22 19:46:25 UTC 2013 - zaitor@opensuse.org + +- Update to version 0.9.8.0: + + Add manpages for nm-applet and nm-connection-editor. +- Stop passing --disable-more-warnings to configure, it builds fine + without it now. +- Exchange NetworkManager-devel BuildRequires for + pkgconfig(NetworkManager), pkgconfig(libnm-glib), + pkgconfig(libnm-glib-vpn) and pkgconfig(libnm-util) + BuildRequires, following what configure checks for. + +------------------------------------------------------------------- +Sat Feb 9 21:38:43 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.7.997: + + Ensure AP mode connections are treated as Hotspot too. + + Build fixes. + + Editor fixes. + + Editor: hide widgets that aren't supported for VPNs on the + general page. + + Updated translations. + +------------------------------------------------------------------- +Mon Feb 4 20:44:32 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.7.995: + + Rework connection editor main UI to better support different + connection types + + Add connection editor support for WiMAX, Infiniband, Bond, and + VLAN connections + + Suggest "seen BSSIDs" for WiFi BSSID entry + + Add connection editor support for autoconnect VPN connections + + Add a "General" page to the connection editor and move general + options to it + + Fix GNOME Bluetooth plugin for recent versions of GNOME + Bluetooth and the GNOME Control Center + + Add LTE and HSPA+ icons to the applet + + Fix connection editor command-line passing to already-running + instance + + Suppress nm-applet notifications when GNOME Shell is running + + Ensure 802.1x passwords default to "agent owned" and not + system-wide + + Default to using system CA certificates for new connections + + Add support for ModemManager 0.7/0.8 + + Fix a crash when editing IP addresses with the XIM input + framework + + Fix handling of connection Zone when firewalld is active + + Fix saving a connection when ignoring a missing CA certificate +- Add pkgconfig(mm-glib) BuildRequires: dependency for ModemManager + support. +- Add pkgconfig(gudev-1.0) BuildRequires: new depdendency. +- Add gobject-introspection-devel BuildRequires: new dependency. +- Split new subpackage typelib-1_0-NMGtk-1_0. + +------------------------------------------------------------------- +Mon Feb 4 19:54:42 UTC 2013 - dimstar@opensuse.org + +- Fix nm-applet-private-connection.patch: Allow to select a BT + paired devices a PAN/NAP device. Without this fix, + gnome-control-center crashes at that moment. + +------------------------------------------------------------------- +Sat Oct 27 09:01:22 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.9.6.4: + + Better cooperation with GNOME Shell + + Fix connection editing from external tools when the editor is + already open + + Backport new libnm-gtk API to work with recent GNOME Control + Center versions + + Updated translations. + +------------------------------------------------------------------- +Mon Aug 13 08:41:50 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.9.6.2: + + Fix GNOME Bluetooth plugin DUN modem detection and setup. + +------------------------------------------------------------------- +Tue Aug 7 18:20:32 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.9.6.0: + + Only handle VPN secrets for GNOME Shell 3.3 and lower. + +------------------------------------------------------------------- +Tue Jul 24 07:33:55 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.9.5.96: + + Recognize PKCS#12 certificates imported from Firefox + + Pre-fill CDMA username/password in the mobile broadband wizard. + +------------------------------------------------------------------- +Fri Jun 29 06:57:42 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.9.5.95: + + Fixed UI mnemonics. + + Various crash and stability fixes. + + Allow appending DNS servers and domains in automatic addressing + mode. + + Fix defaults for PPP echo values. + + Show IPv6 addressing page for VPN plugins that support it. + + Port to GSettings and split out 0.8 -> 0.9 migration code into + standalone tool. +- Pass --disable-migration to configure: no supported openSUSE + version has NetworkManager <= 0.8 anymore, so we do not need the + migration tool. +- Replace gconf schema handling macros with glib variants. +- Drop gconf2-devel BuildRequires: without the migration tool, + there is no need to access gconf anymore. + +------------------------------------------------------------------- +Thu Jun 28 21:19:01 UTC 2012 - dimstar@opensuse.org + +- Add nm-applet-private-connection.patch: Create private + connections if the user is not authorized. + Some distributions do not allow the normal user to create a + system connection without the polkit authentication. This commit + checks the polkit policy and creates private connections if the + user is not authorized. [bnc#751211]. +- Add polkit-devel BuildRequires, as the above patch makes use + of it. +- Add gnome-common BuildRequires and call to gnome-autogen.sh, as + above patch touches the build system. + +------------------------------------------------------------------- +Sat Mar 24 09:54:49 UTC 2012 - vuntz@opensuse.org + +- Update to version 0.9.4.1: + + No change compared to 0.9.4.1. +- Changes from version 0.9.4.0: + + Do not run our own secret agent when GNOME Shell is running. + + Several bug fixes. + + Updated translations. +- Drop NetworkManager-gnome-OnlyShowIn.patch: this was implemented + with NotShowIn upstream. + +------------------------------------------------------------------- +Tue Mar 20 16:29:59 UTC 2012 - vuntz@opensuse.org + +- Update to version 0.9.3.997: + + More flexible build-time warnings with + --enable-more-warnings=[yes|no|error] + + Removed unused PolicyKit configure check + + Lazily initialize the notification service for faster startup + + Fix various memory leaks + + Warn user if CA certificate is left blank in the editor for + 802.1x + + Disabled creation of WPA-protected Ad-Hoc WiFi networks due to + kernel bugs +- Remove polkit-devel BuildRequires: removed upstream. + +------------------------------------------------------------------- +Fri Mar 2 19:21:56 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.9.3.995: + + Updated translations. + +------------------------------------------------------------------- +Sat Feb 18 16:11:03 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.9.3.990: + + Fix interaction of single-connection edit mode with PolicyKit + + Add EAP-FAST support + + Make editor connection list sortable + + Ensure mobile broadband provider list is sensitized correctly +- Drop NetworkManager-gnome-link-gkr.patch: fixed upstream. +- Remove call to autoreconf: it was only needed for above patch. + +------------------------------------------------------------------- +Wed Feb 8 20:49:26 UTC 2012 - dimstar@opensuse.org + +- Add NetworkManager-gnome-link-gkr.patch: Fix linking with + gnome-keyring in a gconf-helpers test program. +- Add call to autoreconf in %prep, as above patch touches the build + system. + +------------------------------------------------------------------- +Sat Nov 12 19:21:46 UTC 2011 - dimstar@opensuse.org + +- Update to version 0.9.2.0: + + Updated translations. +- Pass --disable-more-warnings to configure to allow building with + gtk+ 3.3. +- Really enable parallel build: fix typo smp_flags => smp_mflags. + +------------------------------------------------------------------- +Mon Oct 31 17:32:22 UTC 2011 - dimstar@opensuse.org + +- Update to version 0.9.1.95: + + Select user's home directory by default for VPN import + + Show VPN details in the Connection Information dialog + + Allow auto-unlocking of GSM modems + + Fix crash of Bluetooth widget after pairing +- Drop NetworkManager-gnome-bluetooth-crash.patch: fixed upstream. + +------------------------------------------------------------------- +Fri Oct 28 13:58:51 UTC 2011 - badshah400@gmail.com + +- Replace category SystemSetup by X-SuSE-ServiceConfiguration to + suppress rpmlint warnings + +------------------------------------------------------------------- +Wed Oct 26 16:58:41 UTC 2011 - badshah400@gmail.com + +- Modified categories in .desktop file so that it is grouped with + "System" applications in the desktop menus (bnc#714333) + +------------------------------------------------------------------- +Thu Oct 13 13:24:27 UTC 2011 - vuntz@opensuse.org + +- Add NetworkManager-gnome-bluetooth-crash.patch: fix some crash in + gnome-control-center when disabling bluetooth. + +------------------------------------------------------------------- +Wed Sep 21 19:06:48 UTC 2011 - vuntz@opensuse.org + +- Update to version 0.9.1.90: + + New private library for wireless and mobile dialogs + + iso-codes package used for translated country names in the + mobile broadband wizard +- Add pkgconfig(iso-codes) BuildRequires and iso-codes Requires for + the new use of iso-codes. +- Create libnm-gtk0 and libnm-gtk-devel subpackages, for the new + library. + +------------------------------------------------------------------- +Sat Sep 17 09:52:39 UTC 2011 - jengelh@medozas.de + +- Remove redundant tags/sections from specfile + +------------------------------------------------------------------- +Wed Sep 7 08:36:15 UTC 2011 - vuntz@opensuse.org + +- Remove NetworkManager-glib BuildRequires: we don't need an + explicit BuildRequires for libraries. +- Remove libglade2-devel, libgudev-1_0-devel, libiw-devel + BuildRequires: they are unneeded. +- Change dbus-1-glib BuildRequires to dbus-1-glib-devel: we're + interested in the devel subpackage. + +------------------------------------------------------------------- +Tue Aug 23 09:16:05 CEST 2011 - dimstar@opensuse.org + +- Update to version 0.9.0: + + Fix compatibility with GTK+ <= 2.22. + + Change "Device MAC address" to combo box with an entry. + + Default to IPv6 Auto for manually created connections. + + Enable registration state home/roaming notifications for CDMA. + + Fix various VPN secret saving issues. + +------------------------------------------------------------------- +Thu Jun 9 14:37:22 UTC 2011 - fcrozat@novell.com + +- Update to 0.8.9997: + + don't allow inserting 0.0.0.0 as destination and netmask for + IPv4 routes. + + Fix crash when connection is invalid. + + Complete openconnect migration support. + + handle PKCS#8 private keys. + + filter APN entry characters in mobile-wizard. + + allow _ as APN character. + + Updated translations. + +------------------------------------------------------------------- +Wed May 4 12:20:59 CEST 2011 - dimstar@opensuse.org + +- Update to version 0.8.999: + + Give modems more time to unlock themselves after PIN entry + + Fix creation of 802.1x-enabled connections in the applet + + Don't crash gnome-bluetooth on some failures when creating new + DUN connections + + Much better handling of IP addresses in the editor + + Updated translations. +- Drop NetworkManager-gnome-fix-wpa-e.patch: fixed upstream. + +------------------------------------------------------------------- +Mon May 2 14:54:50 UTC 2011 - fcrozat@novell.com + +- Add NetworkManager-gnome-fix-wpa-e.patch: fix WPA-Enterprise + support (bgo#646210) (git) + +------------------------------------------------------------------- +Tue Apr 5 13:46:07 UTC 2011 - dimstar@opensuse.org + +- Update to version 0.8.998 (0.9.0-rc1): + + Bugs fixed: bgo#646043, bgo#646643. + + Updated translations. +- Rebase NetworkManager-gnome-OnlyShowIn.patch + +------------------------------------------------------------------- +Sun Mar 20 16:28:06 UTC 2011 - dimstar@opensuse.org + +- Update to version 0.8.997 (0.9 beta3): + + Mostly bugfixes. + +------------------------------------------------------------------- +Wed Mar 16 11:22:48 CET 2011 - dimstar@opensuse.org + +- Update to version 0.8.996 (0.9 beta2): + + don't require glib 2.26 + + deb#615082, lp#725041: fixes for new dnsmasq + + crash fixes + + ifupdown plugin fixes + + save connection timestamps in /var not /etc + + install time fixes for Arch Linux + + libnm-glib crash and correctness fixes + + fix display of SSIDs in applet tooltips + + build fixes and cleanups + + import existing user connections +- Summary from 0.8.995 (0.9 beta1) + + simpler, easier, more flexible, and cooler applets. + + Fast User Switching. + + WiMAX support. + + System connections by default. + + More flexible system administration. + + Scales down to smaller devices. +- Rebase NetworkManager-gnome-OnlyShowIn.patch +- Change gtk2-devel BuildRequires to gtk3-devel. +- Stop removing %{_sysconfdir}/dbus-1/system.d/nm-applet.conf + ourselves: it's not installed anymore. + +------------------------------------------------------------------- +Mon Feb 14 16:14:49 CET 2011 - sbrabec@suse.cz + +- Added support for translation-update-upstream. + +------------------------------------------------------------------- +Sun Feb 13 16:54:56 CET 2011 - vuntz@opensuse.org + +- Call relevant macros in %post/%postun: + + %desktop_database_post/postun because the package ships at + least one desktop file. + + %icon_theme_cache_post/postun because the package ships themed + icons. +- Pass %{?no_lang_C} to %find_lang so that english documentation + can be packaged with the program, and not in the lang subpackage. +- Change Requires of lang subpackage to Recommends, since the + english documentation is not there anymore. + +------------------------------------------------------------------- +Thu Dec 23 12:52:06 UTC 2010 - gber@opensuse.org + +- updated NetworkManager-gnome-OnlyShowIn.patch in order to start + nm-applet under Xfce as well + +------------------------------------------------------------------- +Sat Nov 6 14:57:07 CET 2010 - dimstar@opensuse.org + +- Update to version 0.8.2: + + Hide mobile broadband PIN code when it's entered + + Ensure Enable Wireless and Enable Networking always correctly + sensitized + + Fix handling of slow mobile broadband devices when entering a + PIN + + Startup performance improvements + + Easier keyboard navigation of the connection editor + + Show VPN connection notification even if VPN provides none + + Fix handling of VPN secrets when moving connections from system + to user + + Updated translations. +- Drop upstream fixed patches: + + NetworkManager-gnome-fix-new-glib.patch + + Drop NetworkManager-gnome-remove-bad-category.patch +- Split out -lang package. + +------------------------------------------------------------------- +Mon Sep 6 14:30:30 CEST 2010 - vuntz@opensuse.org + +- Add NetworkManager-gnome-remove-bad-category.patch to remove a + category that should not exist upstream anyway. Instead, add + X-SuSE-ControlCenter-Hardware to nm-connection-editor.desktop + later on with suse_update_desktop_file. + +------------------------------------------------------------------- +Mon Aug 9 13:12:11 CEST 2010 - vuntz@opensuse.org + +- Do not add -fno-strict-aliasing to CFLAGS: it's not needed + anymore. +- Remove non-existing --with-notify configure option. +- Re-enable parallel build. + +------------------------------------------------------------------- +Mon Jul 26 11:48:26 UTC 2010 - dimstar@opensuse.org + +- Upodate to version 0.8.1: + + Bluetooth Dial-Up Networking + + Mobile Broadband Status: signal strength, roaming, and access + technology display + + Enhanced IPv6 support + + Updated translations +- Pass --disable-maintainer-mode to configure to allow building + with latest gtk. + +------------------------------------------------------------------- +Mon Jun 21 22:13:20 UTC 2010 - dimstar@opensuse.org + +- Require mobile-broadband-provider-info for DUN capabilities. The + BT plugin crashes when selecting DUN without this package + available. + +------------------------------------------------------------------- +Fri Apr 23 09:50:02 UTC 2010 - bili@novell.com + +- Add a general frontend dbus configuration in NetworkManager + so delete the conf in nm-applet, bili@novell.com(bnc#476502). + +------------------------------------------------------------------- +Sun Apr 18 01:40:10 UTC 2010 - crrodriguez@opensuse.org + +- Requires timezone package + +------------------------------------------------------------------- +Tue Feb 23 15:50:09 CET 2010 - vuntz@opensuse.org + +- Rename 0002-Autostart-nm-applet-in-GNOME-session-only.patch to + NetworkManager-gnome-OnlyShowIn.patch, and add LXDE to + OnlyShowIn. +- This is based on work by Andrea Florio + +------------------------------------------------------------------- +Tue Feb 23 09:07:54 CET 2010 - dimstar@opensuse.org + +- Update to version 0.8: + + rh#494641 - Add --help to explain what nm-applet is/does + + core: clearer failure message when an applet is already running + + dun: refactor gnome bluetooth plugin to use bluetooth client + + rh#556763 - wired: don't crash when getting 802.1x settings + from the user + + rh#557007 - info: don't crash on various D-Bus property errors + + core: fix clearing secrets when updating connections + + rh#541353 - link nm-connection-editor with libm for ceil() + + gsm: fix secret request when connection has multiple secrets + + Updated translations. + +------------------------------------------------------------------- +Thu Feb 11 09:31:37 CET 2010 - vuntz@opensuse.org + +- Change again gnome-keyring-devel BuildRequires to + libgnome-keyring-devel, following the module split upstream. + +------------------------------------------------------------------- +Thu Jan 21 18:43:19 UTC 2010 - tambet@novell.com + +- Upgrade to the latest upstream 0.8 branch: + + New popup menu UI. + + Ability to manually disconnect active devices. + + Rework PolicyKit support. + + Now it's possible to disable (somewhat annoying) notifications + + Require newer glib and remove cut+pasted code for things that are now in + glib (GChecksum, ) + + Certificate handling improvements. + + Add lockdown support for "Create new wireless network..." + + New wizard for GSM/CDMA connection setup + + Translation updates. + + Lots of bug fixes. + +------------------------------------------------------------------- +Wed Dec 23 11:44:55 CET 2009 - vuntz@opensuse.org + +- Change gnome-keyring-devel BuildRequires to + libgnome-keyring-devel, following the module split upstream. + +------------------------------------------------------------------- +Fri Sep 25 20:35:28 UTC 2009 - andrea@opensuse.org + +- Replaced 0002-Autostart-nm-applet-in-GNOME-session-only.patch + with 0002-Autostart-nm-applet-in-GNOME-LXDE-session-only.patch: + Add LXDE to OnlyShowIn, as LXDE uses the gtk2 NetworkManager. + +------------------------------------------------------------------- +Fri Sep 4 07:06:20 UTC 2009 - tambet@novell.com + +- Fix the 802.1x wired authentication dialog to use the entered + secrets (bnc #525401). + +------------------------------------------------------------------- +Tue Aug 25 07:59:02 UTC 2009 - tambet@novell.com + +- The ModemManager API signatures have been changed for some calls, + adjust the calling code (bnc #533261). + +------------------------------------------------------------------- +Thu Jun 11 04:33:10 CEST 2009 - vuntz@novell.com + +- Remove libgnomeui-devel BuildRequires, which isn't needed. + +------------------------------------------------------------------- +Wed May 27 09:06:00 EEST 2009 - tambet@novell.com + +- Update to 0.7.1. + +------------------------------------------------------------------- +Tue Apr 28 17:41:09 CEST 2009 - vuntz@novell.com + +- Add -fno-strict-aliasing to CFLAGS to fix build with gcc 4.4. + +------------------------------------------------------------------- +Sun Feb 1 01:12:46 CET 2009 - vuntz@novell.com + +- Use sr@latin instead of sr@Latn. + +------------------------------------------------------------------- +Sun Jan 25 02:11:25 CET 2009 - vuntz@novell.com + +- Call %suse_update_desktop_file on all desktop files. Part of + bnc#445728. + +------------------------------------------------------------------- +Mon Jan 12 10:47:03 EET 2009 - michael.meeks@novell.com + +- Hide all "Show Password" widgets from the UI. + +------------------------------------------------------------------- +Fri Jan 9 10:55:14 EET 2009 - tambet@novell.com + +- Hide characters entered to the PIN request entry (bnc #456722). +- Add widgets to allow choosing CA from system "database" + (bnc #456050). + +------------------------------------------------------------------- +Wed Dec 3 13:29:41 EET 2008 - tambet@novell.com + +- Rebase from the official NetworkManager 0.7.0 release: + + Update translations: de, sv. + +------------------------------------------------------------------- +Fri Nov 21 14:42:46 EET 2008 - tambet@novell.com + +- Fix conversion of NM 0.6 vpnc connections with custom routes. +- Add support for PKCS#12 certificates. +- Fix a bunch of non-accurate warnings. +- Lot's of small bug fixes. +- Updated translations: es, hu, pl. + +------------------------------------------------------------------- +Fri Nov 14 12:21:33 EET 2008 - tambet@novell.com + +- Fix private key handling. + +------------------------------------------------------------------- +Mon Nov 3 14:56:06 EET 2008 - tambet@suse.de + +- Use the accessors provided by NM instead of poking the private + structures directly for settings. (a.k.a make it built with the + latest NetworkManager again.) + +------------------------------------------------------------------- +Fri Oct 24 13:03:12 EEST 2008 - tambet@suse.de + +- Updated connection editor UI. +- List certificates with '.cer' and '.crt' extensions too. +- Update translations: be, cs, de, es, fi, fr, he, hu, nb, pl, sk, sv. + +------------------------------------------------------------------- +Fri Oct 10 12:17:30 EEST 2008 - tambet@suse.de + +- Upgrade from upstream: + + Correct translatables in the UI (bgo #554193). + + Accept more delimiters for DNS servers and searches. + + Update translations: es, et, fi, hu, nb, sv + +------------------------------------------------------------------- +Fri Sep 26 16:09:35 EEST 2008 - tambet@suse.de + +- Upgrade from upstream: + + Fix some memory leaks. + + Fix names & constants to accurately reflect the network + technologies (bgo #551361). + + Fix some issues with upgrading gconf data (bgo #553465). + + Handle VPN login failures (bnc #395564). + + Updated translations: fr fi lt sv eu cs it. +------------------------------------------------------------------- +Fri Sep 12 16:04:15 EEST 2008 - tambet@suse.de + +- Add a progress dialog for GSM modem scanning. +- Update from the SVN: + + Fix a crasher bug in connection editor (bnc #426661). + + Fix a bug causing to not store secrets in keyring. + + Update translations: fi, he, nl. + +------------------------------------------------------------------- +Fri Sep 12 16:04:15 EEST 2008 - tambet@suse.de + +- Bring up to date with SVN. +- Add a patch to make use of ModemManager. That allows us to use + more advanced features like signal quality monitoring, scanning, + and seeing more information about modems. +- Require NetworkManager >= 0.7.0.r4060 since '0.7.0' is too vague. +- Build fixes required to compile with newer kernels. + +------------------------------------------------------------------- +Fri Aug 1 15:42:03 EEST 2008 - tambet@suse.de + +- Bring up to date with SVN again. + +------------------------------------------------------------------- +Mon Jun 30 17:36:09 CEST 2008 - tambet@suse.de + +- Bring up to date with SVN again. + +------------------------------------------------------------------- +Wed May 28 17:23:54 CEST 2008 - sbrabec@suse.cz + +- Do not call gtk-update-icon-cache (bnc#395056). + +------------------------------------------------------------------- +Fri May 23 14:42:20 CEST 2008 - tambet@suse.de + +- Show error dialog if updating, adding, or removing connection fails in + connection editor. +- Implement changing connection type in connection editor (bnc #390170). +- Update GConf connections after all the changes are done to avoid invalid + connection states while in between changes. +- Add a "DHCP with manual DNS settings" IP4 configuration method. + +------------------------------------------------------------------- +Fri May 9 13:37:35 CEST 2008 - tambet@suse.de + +- Upgrade to the latest SVN: + Use PolicyKit to restrict system connections editing. + Implement PIN code requesting for GSM devices. + Implement system connections editing. + Allow adding new connections in the connection editor. + Improve connection editor pages. + Lots of bug fixes. + +------------------------------------------------------------------- +Fri Apr 11 12:24:02 CEST 2008 - tambet@suse.de + +- Upgrade to the latest SVN: + Rework the wireless security handling to support wired 802.1x. + Implement wired 802.1x authentication. + Remove the iwlib dependecy. + Implement DSL handling. + Implement editing in connection editor for most of the connection types. + Add the WEP key index selector. + Add an ID to connections to handle connection name changes correctly. + Bug fixes. + +------------------------------------------------------------------- +Thu Mar 13 23:58:45 CET 2008 - tambet@suse.de + +- Upgrade to the latest SVN: + Support for multiple active devices. + Adapt NetworkManager API changes. +- Don't autostart nm-applet in KDE (bnc #367258). +- Disable "Add" and "Edit" buttons in connection editor - these aren't + implemented yet and only crash the editor (bnc #368750). + +------------------------------------------------------------------- +Fri Feb 29 23:40:06 CET 2008 - tambet@suse.de + +- Upgrade to the latest SVN. + +------------------------------------------------------------------- +Mon Feb 4 17:35:18 CET 2008 - tambet@suse.de + +- Update to the latest SVN. + +------------------------------------------------------------------- +Fri Jan 11 22:54:25 CET 2008 - maw@suse.de + +- Remove unnecessary Requires +- Parallel build is broken, so don't build in parallel. + +------------------------------------------------------------------- +Wed Nov 28 11:33:24 CET 2007 - tambet@suse.de + +- New spec file, split from NetworkManager. + + diff --git a/NetworkManager-applet.spec b/NetworkManager-applet.spec new file mode 100644 index 0000000..1437352 --- /dev/null +++ b/NetworkManager-applet.spec @@ -0,0 +1,276 @@ +# +# spec file for package NetworkManager-applet +# +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +%define with_cacert_patch 0 +%define sover 0 +%define _name network-manager-applet +Name: NetworkManager-applet +Version: 1.4.2 +Release: 0 +Summary: GTK+ tray applet for use with NetworkManager +License: GPL-2.0+ +Group: System/GUI/GNOME +Url: https://gnome.org/projects/NetworkManager +Source: http://download.gnome.org/sources/network-manager-applet/1.4/network-manager-applet-%{version}.tar.xz +# PATCH-NEEDS-REBASE nm-applet-private-connection.patch boo#751211 bgo#646187 dimstar@opensuse.org -- Create private connections if the user is not authorised. Allows to create wifi connections without root access. Patch under discussion upstream. (WAS: PATCH-FIX-UPSTREAM) +Patch0: nm-applet-private-connection.patch +# PATCH-NEEDS-REBASE nm-applet-probe-radius-server-cert.patch bsc#574266 glin@suse.com -- Probe the RADIUS server certificate. (WAS: PATCH-FIX-UPSTREAM) +Patch1: nm-applet-probe-radius-server-cert.patch +# PATCH-FEATURE-UPSTREAM network-manager-applet-no-firewalld.patch boo#897636 bgo#737687 dimstar@opensuse.org -- Allow disabling FirewallD integration. +Patch2: network-manager-applet-no-firewalld.patch +# Needed for patch0 - disabled since patch0 is disabled. +#BuildRequires: gnome-common +BuildRequires: intltool +# Needed by Patch0. Patch0 is currently disabled. +#BuildRequires: libtool +BuildRequires: pkgconfig +# Needed by Patch0. +BuildRequires: polkit-devel +BuildRequires: update-desktop-files +BuildRequires: pkgconfig(NetworkManager) >= 1.3 +BuildRequires: pkgconfig(appindicator3-0.1) +BuildRequires: pkgconfig(dbusmenu-gtk3-0.4) >= 16.04.0 +BuildRequires: pkgconfig(gtk+-3.0) >= 3.4 +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(gudev-1.0) >= 147 +BuildRequires: pkgconfig(iso-codes) +BuildRequires: pkgconfig(jansson) >= 2.3 +BuildRequires: pkgconfig(libnm) >= 1.3 +BuildRequires: pkgconfig(libnm-glib) >= 1.3 +BuildRequires: pkgconfig(libnm-glib-vpn) >= 1.3 +BuildRequires: pkgconfig(libnm-util) >= 1.3 +BuildRequires: pkgconfig(libnotify) +BuildRequires: pkgconfig(libsecret-unstable) +BuildRequires: pkgconfig(mm-glib) +Requires: NetworkManager >= 0.9.3 +Requires: dbus(org.freedesktop.secrets) +# Needed for translated country names. +Requires: iso-codes +# mobile-broadband-provider-info is required for DUN capabilities. The BT plugin crashes without it. +Requires: mobile-broadband-provider-info +Requires: timezone +Recommends: %{name}-lang +Recommends: NetworkManager-connection-editor +Provides: NetworkManager-client +# NetworkManager-gnome was last used in openSUSE Leap 42.2. +Provides: NetworkManager-gnome = %{version} +Obsoletes: NetworkManager-gnome < %{version} +Obsoletes: NetworkManager-gnome-lang +%glib2_gsettings_schema_requires +%if !0%{?is_opensuse} +BuildRequires: translation-update-upstream +%endif +%if %{with_cacert_patch} +Requires: NetworkManager(cacert-patch) +%endif + +%description +This package contains utilities and applications for use with +NetworkManager, including a panel applet for wireless networks. + +%package -n NetworkManager-connection-editor +Summary: GUI to configure connections for NetworkManager +Group: System/GUI/GNOME + +%description -n NetworkManager-connection-editor +NetworkManager Configuration tool - take control over your +connection settings. + +%package -n libnma%{sover} +Summary: NetworkManager UI dialog library +Group: System/Libraries +# The .ui files are split in case libnma ever bumps ABI. +Requires: libnma-data >= %{version} + +%description -n libnma%{sover} +This library provides UI dialogs for NetworkManager integration. + +%package -n libnma-data +Summary: NetworkManager UI dialogs +Group: System/Libraries + +%description -n libnma-data +This package provides GTK+ dialogs for NetworkManager integration. + +%package -n typelib-1_0-NMA-1_0 +Summary: NetworkManager UI dialogs -- Introspection bindings +Group: System/Libraries + +%description -n typelib-1_0-NMA-1_0 +This library provides GTK+ dialogs for NetworkManager integration +provided as introspection bindings. + +%package -n libnma-devel +Summary: NetworkManager UI dialogs -- Development Files +Group: Development/Libraries/GNOME +Requires: libnma0 = %{version} +Requires: typelib-1_0-NMA-1_0 = %{version} + +%description -n libnma-devel +This library provides GTK+ dialogs for NetworkManager integration. + +%package -n libnm-gtk%{sover} +Summary: NetworkManager Gtk+ dialog library +Group: System/Libraries +# The .ui files are split in case libnm-gtk ever bumps ABI. +Requires: libnm-gtk-data >= %{version} + +%description -n libnm-gtk%{sover} +This library provides GTK+ dialogs for NetworkManager integration. + +%package -n libnm-gtk-data +Summary: NetworkManager Gtk+ dialogs +Group: System/Libraries +# Until the appearance of the NetworkManager 1.1 branch, the .ui +# files were shipped in libnm-gtk0 directly, violating the SLPP. +Conflicts: libnm-gtk0 < 1.1 + +%description -n libnm-gtk-data +This package provides GTK+ dialogs for NetworkManager integration. + +%package -n typelib-1_0-NMGtk-1_0 +Summary: NetworkManager Gtk+ dialogs -- Introspection bindings +Group: System/Libraries + +%description -n typelib-1_0-NMGtk-1_0 +This library provides GTK+ dialogs for NetworkManager integration +provided as introspection bindings. + +%package -n libnm-gtk-devel +Summary: NetworkManager Gtk+ dialogs -- Development Files +Group: Development/Libraries/GNOME +Requires: libnm-gtk%{sover} = %{version} +Requires: typelib-1_0-NMGtk-1_0 = %{version} + +%description -n libnm-gtk-devel +This library provides GTK+ dialogs for NetworkManager integration. + +%lang_package + +%prep +%setup -q -n %{_name}-%{version} +# Needs rebase. +# %%patch0 -p1 +%if %{with_cacert_patch} +%patch1 -p1 +%endif +%patch2 -p1 +%if !0%{?is_opensuse} +translation-update-upstream +%endif + +%build +# Patch0 is disabled. +#NOCONFIGURE=1 gnome-autogen.sh +%configure \ + --disable-static \ + --disable-maintainer-mode \ + --with-appindicator +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print +%suse_update_desktop_file -r nm-connection-editor GTK GNOME System X-SuSE-ServiceConfiguration +%find_lang nm-applet %{?no_lang_C} + +%post +%desktop_database_post +%icon_theme_cache_post +%glib2_gsettings_schema_post + +%postun +%desktop_database_postun +%icon_theme_cache_postun +%glib2_gsettings_schema_postun + +%post -n libnm-gtk%{sover} -p /sbin/ldconfig + +%postun -n libnm-gtk%{sover} -p /sbin/ldconfig + +%post -n libnma%{sover} -p /sbin/ldconfig + +%postun -n libnma%{sover} -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%doc COPYING CONTRIBUTING NEWS +%{_sysconfdir}/xdg/autostart/nm-applet.desktop +%{_bindir}/nm-applet +%{_datadir}/nm-applet/ +# This file moves to NetworkManager-connection-editor +%exclude %{_datadir}/nm-applet/nm-connection-editor.ui +%{_datadir}/GConf/gsettings/nm-applet.convert +%{_datadir}/glib-2.0/schemas/org.gnome.nm-applet.gschema.xml +%{_datadir}/applications/nm-applet.desktop +%{_datadir}/icons/hicolor/*/apps/*.png +%{_datadir}/icons/hicolor/*/apps/*.svg +%{_mandir}/man1/nm-applet.1%{?ext_man} + +%files lang -f nm-applet.lang +%defattr(-,root,root) + +%files -n NetworkManager-connection-editor +%defattr(-,root,root) +%{_bindir}/nm-connection-editor +%dir %{_datadir}/nm-applet/ +%{_datadir}/nm-applet/nm-connection-editor.ui +%{_datadir}/applications/nm-connection-editor.desktop +%dir %{_datadir}/appdata/ +%{_datadir}/appdata/nm-connection-editor.appdata.xml +%{_mandir}/man1/nm-connection-editor.1%{?ext_man} + +%files -n libnm-gtk%{sover} +%defattr(-,root,root) +%{_libdir}/libnm-gtk.so.%{sover}* + +%files -n libnm-gtk-data +%defattr(-,root,root) +%{_datadir}/libnm-gtk/ + +%files -n typelib-1_0-NMGtk-1_0 +%defattr(-,root,root) +%{_libdir}/girepository-1.0/NMGtk-1.0.typelib + +%files -n libnm-gtk-devel +%defattr(-,root,root) +%{_datadir}/gir-1.0/NMGtk-1.0.gir +%{_includedir}/libnm-gtk/ +%{_libdir}/libnm-gtk.so +%{_libdir}/pkgconfig/libnm-gtk.pc + +%files -n libnma%{sover} +%defattr(-,root,root) +%{_libdir}/libnma.so.%{sover}* + +%files -n typelib-1_0-NMA-1_0 +%defattr(-,root,root) +%{_libdir}/girepository-1.0/NMA-1.0.typelib + +%files -n libnma-data +%defattr(-,root,root) +%{_datadir}/libnma/ + +%files -n libnma-devel +%defattr(-,root,root) +%{_includedir}/libnma/ +%{_libdir}/libnma.so +%{_libdir}/pkgconfig/libnma.pc +%{_datadir}/gir-1.0/NMA-1.0.gir + +%changelog diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/network-manager-applet-1.4.2.tar.xz b/network-manager-applet-1.4.2.tar.xz new file mode 100644 index 0000000..2b8f36e --- /dev/null +++ b/network-manager-applet-1.4.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:431b7b4876638c6a537c8bf9c91a9250532b3d960b22b056df554695a81e4499 +size 1312280 diff --git a/network-manager-applet-no-firewalld.patch b/network-manager-applet-no-firewalld.patch new file mode 100644 index 0000000..c887007 --- /dev/null +++ b/network-manager-applet-no-firewalld.patch @@ -0,0 +1,126 @@ +From 13e9bee8d32dde4f59e23c054ed9a96ca10cd4b0 Mon Sep 17 00:00:00 2001 +From: Dominique Leuenberger +Date: Wed, 1 Oct 2014 00:30:38 +0200 +Subject: [PATCH] build: Allow to build without firewalld support + +Not all distributions ship firewalld (e.g. openSUSE). The firewall zone +configuration in nm-connection-editor gives warnings about dbus service +not reachable. + +Add a --without-firewalld option to configure to build without those +features. Default, if not specified, is to enable firewalld support, +as-is. + +https://bugzilla.gnome.org/show_bug.cgi?id=737687 +--- + configure.ac | 5 +++++ + src/connection-editor/page-general.c | 16 ++++++++++++++-- + 2 files changed, 19 insertions(+), 2 deletions(-) + +Index: network-manager-applet-1.4.0/configure.ac +=================================================================== +--- network-manager-applet-1.4.0.orig/configure.ac ++++ network-manager-applet-1.4.0/configure.ac +@@ -110,6 +110,11 @@ fi + + AM_CONDITIONAL(HAVE_GBT, test x"$have_gbt" = "xyes") + ++AC_ARG_WITH([firewalld], ++ AS_HELP_STRING([--with-firewalld|--without-firewalld], [Enable firewalld integration support]), ++ with_firewalld="$withval",with_firewalld=yes) ++AM_CONDITIONAL(HAVE_FIREWALLD, test x"with_firewalld" = "xyes") ++ + dnl ModemManager1 with libmm-glib for WWAN support + AC_ARG_WITH(wwan, AS_HELP_STRING([--with-wwan], [Enable WWAN support (default: yes)])) + if (test "${with_wwan}" == "no"); then +Index: network-manager-applet-1.4.0/src/connection-editor/page-general.c +=================================================================== +--- network-manager-applet-1.4.0.orig/src/connection-editor/page-general.c ++++ network-manager-applet-1.4.0/src/connection-editor/page-general.c +@@ -58,6 +58,7 @@ enum { + N_COLUMNS + }; + ++#if 0 + static void populate_firewall_zones_ui (CEPageGeneral *self); + + static void +@@ -125,16 +126,19 @@ on_fw_proxy_acquired (GObject *object, G + (GAsyncReadyCallback) get_zones_cb, + self); + } ++#endif + + static void + general_private_init (CEPageGeneral *self) + { + CEPageGeneralPrivate *priv = CE_PAGE_GENERAL_GET_PRIVATE (self); + GtkBuilder *builder; ++ builder = CE_PAGE (self)->builder; ++ ++#if 0 + GtkWidget *vbox; + GtkLabel *label; + +- builder = CE_PAGE (self)->builder; + + /*-- Firewall zone --*/ + priv->firewall_zone = GTK_COMBO_BOX_TEXT (gtk_combo_box_text_new ()); +@@ -158,6 +162,7 @@ general_private_init (CEPageGeneral *sel + /* Set mnemonic widget for device Firewall zone label */ + label = GTK_LABEL (gtk_builder_get_object (builder, "firewall_zone_label")); + gtk_label_set_mnemonic_widget (label, GTK_WIDGET (priv->firewall_zone)); ++#endif + + /*-- Dependent VPN connection --*/ + priv->dependent_vpn_checkbox = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "dependent_vpn_checkbox")); +@@ -178,9 +183,9 @@ dispose (GObject *object) + g_clear_object (&priv->cancellable); + } + g_clear_object (&priv->fw_proxy); +- ++#if 0 + g_clear_pointer (&priv->zones, g_strfreev); +- ++#endif + G_OBJECT_CLASS (ce_page_general_parent_class)->dispose (object); + } + +@@ -199,6 +204,7 @@ vpn_checkbox_toggled (GtkToggleButton *b + ce_page_changed (CE_PAGE (user_data)); + } + ++#if 0 + static void + populate_firewall_zones_ui (CEPageGeneral *self) + { +@@ -237,6 +243,7 @@ populate_firewall_zones_ui (CEPageGenera + + stuff_changed (NULL, self); + } ++#endif + + static void + populate_ui (CEPageGeneral *self) +@@ -250,9 +257,11 @@ populate_ui (CEPageGeneral *self) + GtkTreeIter iter; + gboolean global_connection = TRUE; + ++#if 0 + /* Zones are filled when got them from firewalld */ + if (priv->got_zones) + populate_firewall_zones_ui (self); ++#endif + + /* Secondary UUID (VPN) */ + vpn_uuid = nm_setting_connection_get_secondary (setting, 0); +@@ -314,7 +323,9 @@ finish_setup (CEPageGeneral *self, gpoin + + populate_ui (self); + ++#if 0 + g_signal_connect (priv->firewall_zone, "changed", G_CALLBACK (stuff_changed), self); ++#endif + + any_dependent_vpn = !!nm_setting_connection_get_num_secondaries (priv->setting); + gtk_toggle_button_set_active (priv->dependent_vpn_checkbox, any_dependent_vpn); diff --git a/nm-applet-private-connection.patch b/nm-applet-private-connection.patch new file mode 100644 index 0000000..d0dd7a4 --- /dev/null +++ b/nm-applet-private-connection.patch @@ -0,0 +1,421 @@ +From 1a06498ed24c3580acb286a539aba0c99a544b0f Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Thu, 2 Feb 2012 18:08:56 +0800 +Subject: [PATCH] Create private connections if the user is not authorized + +Some distributions do not allow the normal user to create a system +connection without the polkit authentication. This commit checks +the polkit policy and creates private connections if the user is +not authorized. + +https://bugzilla.gnome.org/show_bug.cgi?id=646187 +--- + configure.ac | 4 +++ + src/applet-device-ethernet.c | 7 +++++ + src/applet-device-wifi.c | 12 ++++++++ + src/applet-device-wimax.c | 7 +++++ + src/connection-editor/Makefile.am | 2 ++ + src/connection-editor/ce-page.c | 47 ++++++++++++++++++++++++++++++ + src/gnome-bluetooth/Makefile.am | 2 ++ + src/gnome-bluetooth/nma-bt-device.c | 58 +++++++++++++++++++++++++++++++++++++ + src/mobile-helpers.c | 6 ++++ + src/utils/Makefile.am | 3 +- + src/utils/utils.c | 40 +++++++++++++++++++++++++ + src/utils/utils.h | 2 ++ + 12 files changed, 189 insertions(+), 1 deletion(-) + +Index: network-manager-applet-1.0.10/configure.ac +=================================================================== +--- network-manager-applet-1.0.10.orig/configure.ac ++++ network-manager-applet-1.0.10/configure.ac +@@ -86,6 +86,10 @@ PKG_CHECK_MODULES(NMA, + + NMA_CFLAGS="$NMA_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32" + ++PKG_CHECK_MODULES(POLKIT, [polkit-gobject-1]) ++AC_SUBST(POLKIT_CFLAGS) ++AC_SUBST(POLKIT_LIBS) ++ + AC_MSG_CHECKING([whether to build nm-applet-migration-tool]) + AC_ARG_ENABLE([migration], + [AS_HELP_STRING([--disable-migration], [Don't build migration tool for NM <= 0.8 settings])], +Index: network-manager-applet-1.0.10/src/applet-device-ethernet.c +=================================================================== +--- network-manager-applet-1.0.10.orig/src/applet-device-ethernet.c ++++ network-manager-applet-1.0.10/src/applet-device-ethernet.c +@@ -40,6 +40,7 @@ + #include "applet-device-ethernet.h" + #include "ethernet-dialog.h" + #include "nm-ui-utils.h" ++#include "utils.h" + + #define DEFAULT_ETHERNET_NAME _("Auto Ethernet") + +@@ -68,6 +69,12 @@ ethernet_new_auto_connection (NMDevice * + NM_SETTING_CONNECTION_UUID, uuid, + NULL); + g_free (uuid); ++ if (!utils_system_connection_authorized ()) { ++ nm_setting_connection_add_permission (s_con, ++ "user", ++ g_get_user_name(), ++ NULL); ++ } + + nm_connection_add_setting (connection, NM_SETTING (s_con)); + +Index: network-manager-applet-1.0.10/src/applet-device-wifi.c +=================================================================== +--- network-manager-applet-1.0.10.orig/src/applet-device-wifi.c ++++ network-manager-applet-1.0.10/src/applet-device-wifi.c +@@ -445,6 +445,18 @@ _do_new_auto_connection (NMApplet *apple + nm_connection_add_setting (connection, NM_SETTING (s_8021x)); + } + ++ if (!utils_system_connection_authorized ()) { ++ s_con = nm_connection_get_setting_connection (connection); ++ if (!s_con) { ++ s_con = (NMSettingConnection *) nm_setting_connection_new (); ++ nm_connection_add_setting (connection, NM_SETTING (s_con)); ++ } ++ nm_setting_connection_add_permission (s_con, ++ "user", ++ g_get_user_name(), ++ NULL); ++ } ++ + /* If it's an 802.1x connection, we need more information, so pop up the + * Dialog Of Doom. + */ +Index: network-manager-applet-1.0.10/src/applet-device-wimax.c +=================================================================== +--- network-manager-applet-1.0.10.orig/src/applet-device-wimax.c ++++ network-manager-applet-1.0.10/src/applet-device-wimax.c +@@ -39,6 +39,7 @@ + #include "nma-marshal.h" + #include "mb-menu-item.h" + #include "nm-ui-utils.h" ++#include "utils.h" + + #define ACTIVE_NSP_TAG "active-nsp" + +@@ -94,6 +95,12 @@ wimax_new_auto_connection (NMDevice *dev + NM_SETTING_CONNECTION_UUID, uuid, + NULL); + g_free (uuid); ++ if (!utils_system_connection_authorized ()) { ++ nm_setting_connection_add_permission (s_con, ++ "user", ++ g_get_user_name(), ++ NULL); ++ } + + nm_connection_add_setting (connection, NM_SETTING (s_con)); + +Index: network-manager-applet-1.0.10/src/connection-editor/Makefile.am +=================================================================== +--- network-manager-applet-1.0.10.orig/src/connection-editor/Makefile.am ++++ network-manager-applet-1.0.10/src/connection-editor/Makefile.am +@@ -13,6 +13,7 @@ nm_connection_editor_CPPFLAGS = \ + -DDATADIR=\""$(datadir)"\" \ + -DNMALOCALEDIR=\"$(datadir)/locale\" \ + $(DBUS_CFLAGS) \ ++ $(POLKIT_CFLAGS) \ + $(DISABLE_DEPRECATED) \ + -I${top_srcdir}/src/utils \ + -I${top_srcdir}/src/wireless-security \ +@@ -94,6 +95,7 @@ nm_connection_editor_LDADD = \ + ${top_builddir}/src/libnm-gtk/libnm-gtk.la \ + $(GTK_LIBS) \ + $(NMA_LIBS) \ ++ $(POLKIT_LIBS) \ + -lm + + uidir = $(datadir)/nm-applet +Index: network-manager-applet-1.0.10/src/connection-editor/ce-page.c +=================================================================== +--- network-manager-applet-1.0.10.orig/src/connection-editor/ce-page.c ++++ network-manager-applet-1.0.10/src/connection-editor/ce-page.c +@@ -29,6 +29,8 @@ + + #include + ++#include ++ + #include + #include + #include +@@ -868,6 +870,44 @@ ce_page_class_init (CEPageClass *page_cl + G_TYPE_NONE, 1, G_TYPE_POINTER); + } + ++static gboolean ++polkit_system_connection_authorized (void) ++{ ++ PolkitSubject *subject; ++ PolkitAuthority *authority; ++ PolkitAuthorizationResult *result; ++ GError *error = NULL; ++ static gboolean is_checked = FALSE; ++ static gboolean is_authorized = FALSE; ++ ++ if (is_checked) ++ return is_authorized; ++ ++ /* Check the polkit authorization */ ++ authority = polkit_authority_get_sync (NULL, NULL); ++ subject = polkit_unix_process_new_for_owner (getpid (), 0, -1); ++ result = polkit_authority_check_authorization_sync (authority, ++ subject, ++ "org.freedesktop.NetworkManager.settings.modify.system", ++ NULL, ++ POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE, ++ NULL, ++ &error); ++ if (error || !result) { ++ g_warning ("%s: failed to check polkit authorization! %s", __func__, ++ error ? error->message : "(unknown)"); ++ g_clear_error (&error); ++ } else if (polkit_authorization_result_get_is_authorized (result)) { ++ is_authorized = TRUE; ++ } ++ g_object_unref (result); ++ g_object_unref (authority); ++ g_object_unref (subject); ++ ++ is_checked = TRUE; ++ ++ return is_authorized; ++} + + NMConnection * + ce_page_new_connection (const char *format, +@@ -902,6 +942,13 @@ ce_page_new_connection (const char *form + g_free (uuid); + g_free (id); + ++ if (!polkit_system_connection_authorized ()) { ++ nm_setting_connection_add_permission (s_con, ++ "user", ++ g_get_user_name(), ++ NULL); ++ } ++ + return connection; + } + +Index: network-manager-applet-1.0.10/src/gnome-bluetooth/Makefile.am +=================================================================== +--- network-manager-applet-1.0.10.orig/src/gnome-bluetooth/Makefile.am ++++ network-manager-applet-1.0.10/src/gnome-bluetooth/Makefile.am +@@ -7,6 +7,7 @@ AM_CPPFLAGS = \ + -I${top_srcdir}/src/utils \ + -I${top_srcdir}/src/libnm-gtk \ + $(GNOME_BLUETOOTH_CFLAGS) \ ++ $(POLKIT_CFLAGS) \ + $(DISABLE_DEPRECATED) \ + $(WARN_CFLAGS) + +@@ -34,6 +35,7 @@ libnma_la_LIBADD = \ + $(top_builddir)/src/marshallers/libmarshallers.la \ + $(top_builddir)/src/utils/libutils.la \ + $(top_builddir)/src/libnm-gtk/libnm-gtk.la \ ++ $(POLKIT_LIBS) \ + $(GNOME_BLUETOOTH_LIBS) + + if WITH_MODEM_MANAGER_1 +Index: network-manager-applet-1.0.10/src/gnome-bluetooth/nma-bt-device.c +=================================================================== +--- network-manager-applet-1.0.10.orig/src/gnome-bluetooth/nma-bt-device.c ++++ network-manager-applet-1.0.10/src/gnome-bluetooth/nma-bt-device.c +@@ -34,6 +34,8 @@ + #include + #include + ++#include ++ + #include + #include + +@@ -227,6 +229,44 @@ recheck_services_enabled (NmaBtDevice *s + } + + /*********************************************************************/ ++static gboolean ++polkit_system_connection_authorized (void) ++{ ++ PolkitSubject *subject; ++ PolkitAuthority *authority; ++ PolkitAuthorizationResult *result; ++ GError *error = NULL; ++ static gboolean is_checked = FALSE; ++ static gboolean is_authorized = FALSE; ++ ++ if (is_checked) ++ return is_authorized; ++ ++ /* Check the polkit authorization */ ++ authority = polkit_authority_get_sync (NULL, NULL); ++ subject = polkit_unix_process_new_for_owner (getpid (), 0, -1); ++ result = polkit_authority_check_authorization_sync (authority, ++ subject, ++ "org.freedesktop.NetworkManager.settings.modify.system", ++ NULL, ++ POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE, ++ NULL, ++ &error); ++ if (error || !result) { ++ g_warning ("%s: failed to check polkit authorization! %s", __func__, ++ error ? error->message : "(unknown)"); ++ g_clear_error (&error); ++ } else if (polkit_authorization_result_get_is_authorized (result)) { ++ is_authorized = TRUE; ++ } ++ g_object_unref (result); ++ g_object_unref (authority); ++ g_object_unref (subject); ++ ++ is_checked = TRUE; ++ ++ return is_authorized; ++} + + const char * + nma_bt_device_get_bdaddr (NmaBtDevice *device) +@@ -368,6 +408,12 @@ dun_new_cdma (NMAMobileWizardAccessMetho + NULL); + g_free (uuid); + g_free (id); ++ if (!polkit_system_connection_authorized ()) { ++ nm_setting_connection_add_permission ((NMSettingConnection *)setting, ++ "user", ++ g_get_user_name(), ++ NULL); ++ } + nm_connection_add_setting (connection, setting); + + return connection; +@@ -414,6 +460,12 @@ dun_new_gsm (NMAMobileWizardAccessMethod + NULL); + g_free (uuid); + g_free (id); ++ if (!polkit_system_connection_authorized ()) { ++ nm_setting_connection_add_permission ((NMSettingConnection *)setting, ++ "user", ++ g_get_user_name(), ++ NULL); ++ } + nm_connection_add_setting (connection, setting); + + return connection; +@@ -978,6 +1030,12 @@ add_pan_connection (NmaBtDevice *self) + NULL); + g_free (id); + g_free (uuid); ++ if (!polkit_system_connection_authorized ()) { ++ nm_setting_connection_add_permission ((NMSettingConnection *)setting, ++ "user", ++ g_get_user_name(), ++ NULL); ++ } + nm_connection_add_setting (connection, setting); + + /* The Bluetooth settings */ +Index: network-manager-applet-1.0.10/src/mobile-helpers.c +=================================================================== +--- network-manager-applet-1.0.10.orig/src/mobile-helpers.c ++++ network-manager-applet-1.0.10/src/mobile-helpers.c +@@ -219,6 +219,12 @@ mobile_wizard_done (NMAMobileWizard *wiz + "user", g_get_user_name (), NULL); + g_free (uuid); + g_free (id); ++ if (!utils_system_connection_authorized ()) { ++ nm_setting_connection_add_permission ((NMSettingConnection *)setting, ++ "user", ++ g_get_user_name(), ++ NULL); ++ } + nm_connection_add_setting (connection, setting); + } + +Index: network-manager-applet-1.0.10/src/utils/Makefile.am +=================================================================== +--- network-manager-applet-1.0.10.orig/src/utils/Makefile.am ++++ network-manager-applet-1.0.10/src/utils/Makefile.am +@@ -10,7 +10,8 @@ libutils_la_SOURCES = \ + libutils_la_CPPFLAGS = \ + $(GTK_CFLAGS) \ + $(NMA_CFLAGS) \ ++ $(POLKIT_CFLAGS) \ + $(DISABLE_DEPRECATED) \ + -I${top_srcdir}/src + +-libutils_la_LIBADD = $(GTK_LIBS) $(NMA_LIBS) ++libutils_la_LIBADD = $(GTK_LIBS) $(NMA_LIBS) $(POLKIT_LIBS) +Index: network-manager-applet-1.0.10/src/utils/utils.c +=================================================================== +--- network-manager-applet-1.0.10.orig/src/utils/utils.c ++++ network-manager-applet-1.0.10/src/utils/utils.c +@@ -27,6 +27,8 @@ + #include + #include + ++#include ++ + #include + #include + +@@ -286,3 +288,41 @@ utils_filter_editable_on_insert_text (Gt + return count > 0; + } + ++gboolean ++utils_system_connection_authorized (void) ++{ ++ PolkitSubject *subject; ++ PolkitAuthority *authority; ++ PolkitAuthorizationResult *result; ++ GError *error = NULL; ++ static gboolean is_checked = FALSE; ++ static gboolean is_authorized = FALSE; ++ ++ if (is_checked) ++ return is_authorized; ++ ++ /* Check the polkit authorization */ ++ authority = polkit_authority_get_sync (NULL, NULL); ++ subject = polkit_unix_process_new_for_owner (getpid (), 0, -1); ++ result = polkit_authority_check_authorization_sync (authority, ++ subject, ++ "org.freedesktop.NetworkManager.settings.modify.system", ++ NULL, ++ POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE, ++ NULL, ++ &error); ++ if (error || !result) { ++ g_warning ("%s: failed to check polkit authorization! %s", __func__, ++ error ? error->message : "(unknown)"); ++ g_clear_error (&error); ++ } else if (polkit_authorization_result_get_is_authorized (result)) { ++ is_authorized = TRUE; ++ } ++ g_object_unref (result); ++ g_object_unref (authority); ++ g_object_unref (subject); ++ ++ is_checked = TRUE; ++ ++ return is_authorized; ++} +Index: network-manager-applet-1.0.10/src/utils/utils.h +=================================================================== +--- network-manager-applet-1.0.10.orig/src/utils/utils.h ++++ network-manager-applet-1.0.10/src/utils/utils.h +@@ -107,5 +107,7 @@ gboolean utils_filter_editable_on_insert + UtilsFilterGtkEditableFunc validate_character, + gpointer block_func); + ++gboolean utils_system_connection_authorized (void); ++ + #endif /* UTILS_H */ + diff --git a/nm-applet-probe-radius-server-cert.patch b/nm-applet-probe-radius-server-cert.patch new file mode 100644 index 0000000..4cab3fa --- /dev/null +++ b/nm-applet-probe-radius-server-cert.patch @@ -0,0 +1,1310 @@ +From aba0bd71caf050baa10c1f354e4d519fa0d887d2 Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Wed, 18 Jul 2012 14:52:29 +0800 +Subject: [PATCH 1/5] security: new entry for the subject and support server + hash + +--- + src/wireless-security/eap-method-peap.c | 86 +++++++++++++++++++++++++++++++ + src/wireless-security/eap-method-peap.ui | 74 ++++++++++++++++++++------ + src/wireless-security/eap-method-tls.c | 73 ++++++++++++++++++++++++++ + src/wireless-security/eap-method-tls.ui | 63 ++++++++++++++++------ + src/wireless-security/eap-method-ttls.c | 86 +++++++++++++++++++++++++++++++ + src/wireless-security/eap-method-ttls.ui | 66 +++++++++++++++++++----- + src/wireless-security/wireless-security.c | 22 ++++++++ + src/wireless-security/wireless-security.h | 3 ++ + 8 files changed, 426 insertions(+), 47 deletions(-) + +Index: network-manager-applet-1.0.8/src/wireless-security/eap-method-peap.c +=================================================================== +--- network-manager-applet-1.0.8.orig/src/wireless-security/eap-method-peap.c ++++ network-manager-applet-1.0.8/src/wireless-security/eap-method-peap.c +@@ -36,6 +36,8 @@ + #define I_NAME_COLUMN 0 + #define I_METHOD_COLUMN 1 + ++#define SUBJECT_NOTE _("") ++ + struct _EAPMethodPEAP { + EAPMethod parent; + +@@ -114,6 +116,10 @@ add_to_size_group (EAPMethod *parent, Gt + g_assert (widget); + gtk_size_group_add_widget (group, widget); + ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_subject_label")); ++ g_assert (widget); ++ gtk_size_group_add_widget (group, widget); ++ + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_ca_cert_label")); + g_assert (widget); + gtk_size_group_add_widget (group, widget); +@@ -142,6 +148,7 @@ fill_connection (EAPMethod *parent, NMCo + { + NMSetting8021x *s_8021x; + NMSetting8021xCKFormat format = NM_SETTING_802_1X_CK_FORMAT_UNKNOWN; ++ NMSetting8021xCKScheme cert_scheme; + GtkWidget *widget; + const char *text; + char *filename; +@@ -163,13 +170,21 @@ fill_connection (EAPMethod *parent, NMCo + if (text && strlen (text)) + g_object_set (s_8021x, NM_SETTING_802_1X_ANONYMOUS_IDENTITY, text, NULL); + ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_subject_entry")); ++ g_assert (widget); ++ text = gtk_entry_get_text (GTK_ENTRY (widget)); ++ if (text && strlen (text) && g_strcmp0 (text, SUBJECT_NOTE) != 0) ++ g_object_set (s_8021x, NM_SETTING_802_1X_SUBJECT_MATCH, text, NULL); ++ + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_ca_cert_button")); + g_assert (widget); + filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget)); +- if (!nm_setting_802_1x_set_ca_cert (s_8021x, filename, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { +- g_warning ("Couldn't read CA certificate '%s': %s", filename, error ? error->message : "(unknown)"); +- g_clear_error (&error); +- ca_cert_error = TRUE; ++ cert_scheme = nm_setting_802_1x_get_ca_cert_scheme (s_8021x); ++ if (filename || cert_scheme != NM_SETTING_802_1X_CK_SCHEME_HASH) { ++ if (!nm_setting_802_1x_set_ca_cert (s_8021x, filename, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { ++ g_warning ("Couldn't read CA certificate '%s': %s", filename, error ? error->message : "(unknown)"); ++ g_clear_error (&error); ++ } + } + eap_method_ca_cert_ignore_set (parent, connection, filename, ca_cert_error); + g_free (filename); +@@ -334,6 +349,37 @@ update_secrets (EAPMethod *parent, NMCon + I_METHOD_COLUMN); + } + ++static gboolean ++subject_entry_focus_in_cb (GtkWidget *widget, ++ GdkEvent *event, ++ gpointer user_data) ++{ ++ const char *text = gtk_entry_get_text (GTK_ENTRY (widget)); ++ if (g_strcmp0 (text, SUBJECT_NOTE) == 0) { ++ gtk_entry_set_text (GTK_ENTRY (widget), ""); ++ gtk_widget_override_color (widget, GTK_STATE_FLAG_NORMAL, NULL); ++ } ++ return FALSE; ++} ++ ++static gboolean ++subject_entry_focus_out_cb (GtkWidget *widget, ++ GdkEvent *event, ++ gpointer user_data) ++{ ++ const char *text = gtk_entry_get_text (GTK_ENTRY (widget)); ++ GtkStyleContext *context; ++ GdkRGBA color; ++ ++ if (!text || !strlen (text)) { ++ gtk_entry_set_text (GTK_ENTRY (widget), SUBJECT_NOTE); ++ context = gtk_widget_get_style_context (widget); ++ gtk_style_context_get_color (context, GTK_STATE_FLAG_INSENSITIVE, &color); ++ gtk_widget_override_color (widget, GTK_STATE_FLAG_NORMAL, &color); ++ } ++ return FALSE; ++} ++ + EAPMethodPEAP * + eap_method_peap_new (WirelessSecurity *ws_parent, + NMConnection *connection, +@@ -421,6 +467,43 @@ eap_method_peap_new (WirelessSecurity *w + (GCallback) wireless_security_changed_cb, + ws_parent); + ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_subject_entry")); ++ if (s_8021x) { ++ const char *text = nm_setting_802_1x_get_subject_match (s_8021x); ++ if (!text) { ++ GtkStyleContext *context; ++ GdkRGBA color; ++ context = gtk_widget_get_style_context (widget); ++ gtk_style_context_get_color (context, GTK_STATE_FLAG_INSENSITIVE, &color); ++ gtk_widget_override_color (widget, GTK_STATE_FLAG_NORMAL, &color); ++ gtk_entry_set_text (GTK_ENTRY (widget), SUBJECT_NOTE); ++ } else { ++ gtk_entry_set_text (GTK_ENTRY (widget), text); ++ } ++ g_signal_connect (G_OBJECT (widget), "focus-in-event", ++ (GCallback) subject_entry_focus_in_cb, ++ NULL); ++ g_signal_connect (G_OBJECT (widget), "focus-out-event", ++ (GCallback) subject_entry_focus_out_cb, ++ NULL); ++ } ++ g_signal_connect (G_OBJECT (widget), "changed", ++ (GCallback) wireless_security_changed_cb, ++ ws_parent); ++ ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_note_label")); ++ gtk_widget_hide (widget); ++ if (s_8021x) { ++ NMSetting8021xCKScheme cert_scheme; ++ cert_scheme = nm_setting_802_1x_get_ca_cert_scheme (s_8021x); ++ if (cert_scheme == NM_SETTING_802_1X_CK_SCHEME_HASH) { ++ gtk_label_set_text (GTK_LABEL (widget), ++ _("Note: Server hash is used instead of CA certificate")); ++ gtk_label_set_use_markup (GTK_LABEL (widget), TRUE); ++ gtk_widget_show (widget); ++ } ++ } ++ + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_anon_identity_entry")); + if (s_8021x && nm_setting_802_1x_get_anonymous_identity (s_8021x)) + gtk_entry_set_text (GTK_ENTRY (widget), nm_setting_802_1x_get_anonymous_identity (s_8021x)); +@@ -433,12 +516,18 @@ eap_method_peap_new (WirelessSecurity *w + gtk_widget_hide (widget); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_anon_identity_entry")); + gtk_widget_hide (widget); ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_subject_label")); ++ gtk_widget_hide (widget); ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_subject_entry")); ++ gtk_widget_hide (widget); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_ca_cert_label")); + gtk_widget_hide (widget); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_ca_cert_button")); + gtk_widget_hide (widget); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_ca_cert_not_required_checkbox")); + gtk_widget_hide (widget); ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_note_label")); ++ gtk_widget_hide (widget); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_inner_auth_label")); + gtk_widget_hide (widget); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_inner_auth_combo")); +Index: network-manager-applet-1.0.8/src/wireless-security/eap-method-peap.ui +=================================================================== +--- network-manager-applet-1.0.8.orig/src/wireless-security/eap-method-peap.ui ++++ network-manager-applet-1.0.8/src/wireless-security/eap-method-peap.ui +@@ -38,7 +38,7 @@ + + True + False +- 5 ++ 8 + 2 + 12 + 6 +@@ -69,6 +69,35 @@ + + + ++ ++ True ++ 0 ++ _Subject: ++ True ++ eap_peap_subject_entry ++ ++ ++ 1 ++ 2 ++ GTK_FILL ++ ++ ++ ++ ++ ++ True ++ True ++ True ++ ++ ++ 1 ++ 2 ++ 1 ++ 2 ++ ++ ++ ++ + + True + False +@@ -78,8 +107,8 @@ + eap_peap_ca_cert_button + + +- 1 +- 2 ++ 2 ++ 3 + GTK_FILL + + +@@ -92,8 +121,8 @@ + + 1 + 2 +- 1 +- 2 ++ 2 ++ 3 + GTK_FILL + GTK_FILL + +@@ -111,13 +140,24 @@ + + 1 + 2 +- 2 +- 3 ++ 3 ++ 4 + GTK_FILL + + + + ++ ++ True ++ Note ++ ++ ++ 2 ++ 4 ++ 5 ++ ++ ++ + + True + False +@@ -127,8 +167,8 @@ + + + 2 +- 5 +- 6 ++ 7 ++ 8 + GTK_FILL + + +@@ -142,8 +182,8 @@ + eap_peap_inner_auth_combo + + +- 4 +- 5 ++ 6 ++ 7 + GTK_FILL + + +@@ -163,8 +203,8 @@ + + 1 + 2 +- 4 +- 5 ++ 6 ++ 7 + GTK_FILL + GTK_FILL + +@@ -179,8 +219,8 @@ + eap_peap_version_combo + + +- 3 +- 4 ++ 5 ++ 6 + GTK_FILL + + +@@ -200,8 +240,8 @@ + + 1 + 2 +- 3 +- 4 ++ 5 ++ 6 + GTK_FILL + GTK_FILL + +Index: network-manager-applet-1.0.8/src/wireless-security/eap-method-tls.c +=================================================================== +--- network-manager-applet-1.0.8.orig/src/wireless-security/eap-method-tls.c ++++ network-manager-applet-1.0.8/src/wireless-security/eap-method-tls.c +@@ -35,6 +35,8 @@ + #include "nm-ui-utils.h" + #include "utils.h" + ++#define SUBJECT_NOTE _("") ++ + struct _EAPMethodTLS { + EAPMethod parent; + +@@ -140,6 +142,10 @@ add_to_size_group (EAPMethod *parent, Gt + g_assert (widget); + gtk_size_group_add_widget (group, widget); + ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_subject_label")); ++ g_assert (widget); ++ gtk_size_group_add_widget (group, widget); ++ + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_private_key_label")); + g_assert (widget); + gtk_size_group_add_widget (group, widget); +@@ -154,10 +160,12 @@ fill_connection (EAPMethod *parent, NMCo + { + EAPMethodTLS *method = (EAPMethodTLS *) parent; + NMSetting8021xCKFormat format = NM_SETTING_802_1X_CK_FORMAT_UNKNOWN; ++ NMSetting8021xCKScheme cert_scheme; + NMSetting8021x *s_8021x; + NMSettingSecretFlags secret_flags; + GtkWidget *widget, *passwd_entry; + char *ca_filename, *pk_filename, *cc_filename; ++ const char *subject; + const char *password = NULL; + GError *error = NULL; + gboolean ca_cert_error = FALSE; +@@ -248,14 +256,22 @@ fill_connection (EAPMethod *parent, NMCo + ca_cert_error = TRUE; + } + } else { +- if (!nm_setting_802_1x_set_ca_cert (s_8021x, ca_filename, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { +- g_warning ("Couldn't read CA certificate '%s': %s", ca_filename, error ? error->message : "(unknown)"); +- g_clear_error (&error); +- ca_cert_error = TRUE; ++ cert_scheme = nm_setting_802_1x_get_ca_cert_scheme (s_8021x); ++ if (ca_filename || cert_scheme != NM_SETTING_802_1X_CK_SCHEME_HASH) { ++ if (!nm_setting_802_1x_set_ca_cert (s_8021x, ca_filename, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { ++ g_warning ("Couldn't read CA certificate '%s': %s", ca_filename, error ? error->message : "(unknown)"); ++ g_clear_error (&error); ++ } + } + } + eap_method_ca_cert_ignore_set (parent, connection, ca_filename, ca_cert_error); + g_free (ca_filename); ++ ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_subject_entry")); ++ g_assert (widget); ++ subject = gtk_entry_get_text (GTK_ENTRY (widget)); ++ if (subject && strlen (subject) && g_strcmp0 (subject, SUBJECT_NOTE) != 0) ++ g_object_set (s_8021x, NM_SETTING_802_1X_SUBJECT_MATCH, subject, NULL); + } + + static void +@@ -424,6 +440,37 @@ update_secrets (EAPMethod *parent, NMCon + } + } + ++static gboolean ++subject_entry_focus_in_cb (GtkWidget *widget, ++ GdkEvent *event, ++ gpointer user_data) ++{ ++ const char *text = gtk_entry_get_text (GTK_ENTRY (widget)); ++ if (g_strcmp0 (text, SUBJECT_NOTE) == 0) { ++ gtk_entry_set_text (GTK_ENTRY (widget), ""); ++ gtk_widget_override_color (widget, GTK_STATE_FLAG_NORMAL, NULL); ++ } ++ return FALSE; ++} ++ ++static gboolean ++subject_entry_focus_out_cb (GtkWidget *widget, ++ GdkEvent *event, ++ gpointer user_data) ++{ ++ const char *text = gtk_entry_get_text (GTK_ENTRY (widget)); ++ GtkStyleContext *context; ++ GdkRGBA color; ++ ++ if (!text || !strlen (text)) { ++ gtk_entry_set_text (GTK_ENTRY (widget), SUBJECT_NOTE); ++ context = gtk_widget_get_style_context (widget); ++ gtk_style_context_get_color (context, GTK_STATE_FLAG_INSENSITIVE, &color); ++ gtk_widget_override_color (widget, GTK_STATE_FLAG_NORMAL, &color); ++ } ++ return FALSE; ++} ++ + EAPMethodTLS * + eap_method_tls_new (WirelessSecurity *ws_parent, + NMConnection *connection, +@@ -487,6 +534,31 @@ eap_method_tls_new (WirelessSecurity *ws + phase2 ? nm_setting_802_1x_get_phase2_ca_cert_scheme : nm_setting_802_1x_get_ca_cert_scheme, + phase2 ? nm_setting_802_1x_get_phase2_ca_cert_path : nm_setting_802_1x_get_ca_cert_path, + FALSE, FALSE); ++ ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_subject_entry")); ++ if (s_8021x) { ++ const char *text = nm_setting_802_1x_get_subject_match (s_8021x); ++ if (!text) { ++ GtkStyleContext *context; ++ GdkRGBA color; ++ context = gtk_widget_get_style_context (widget); ++ gtk_style_context_get_color (context, GTK_STATE_FLAG_INSENSITIVE, &color); ++ gtk_widget_override_color (widget, GTK_STATE_FLAG_NORMAL, &color); ++ gtk_entry_set_text (GTK_ENTRY (widget), SUBJECT_NOTE); ++ } else { ++ gtk_entry_set_text (GTK_ENTRY (widget), text); ++ } ++ g_signal_connect (G_OBJECT (widget), "focus-in-event", ++ (GCallback) subject_entry_focus_in_cb, ++ NULL); ++ g_signal_connect (G_OBJECT (widget), "focus-out-event", ++ (GCallback) subject_entry_focus_out_cb, ++ NULL); ++ } ++ g_signal_connect (G_OBJECT (widget), "changed", ++ (GCallback) wireless_security_changed_cb, ++ ws_parent); ++ + setup_filepicker (parent->builder, "eap_tls_private_key_button", + _("Choose your private key..."), + ws_parent, parent, s_8021x, +@@ -538,6 +610,10 @@ eap_method_tls_new (WirelessSecurity *ws + gtk_widget_hide (widget); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_not_required_checkbox")); + gtk_widget_hide (widget); ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_subject_label")); ++ gtk_widget_hide (widget); ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_subject_entry")); ++ gtk_widget_hide (widget); + } + + return method; +Index: network-manager-applet-1.0.8/src/wireless-security/eap-method-tls.ui +=================================================================== +--- network-manager-applet-1.0.8.orig/src/wireless-security/eap-method-tls.ui ++++ network-manager-applet-1.0.8/src/wireless-security/eap-method-tls.ui +@@ -11,7 +11,7 @@ + True + False + start +- 6 ++ 7 + 2 + 12 + 6 +@@ -61,6 +61,35 @@ + + + ++ ++ True ++ 0 ++ CA _subject: ++ True ++ eap_tls_subject_entry ++ ++ ++ 2 ++ 3 ++ GTK_FILL ++ ++ ++ ++ ++ ++ True ++ True ++ True ++ ++ ++ 1 ++ 2 ++ 2 ++ 3 ++ ++ ++ ++ + + True + False +@@ -70,8 +99,8 @@ + eap_tls_ca_cert_button + + +- 2 +- 3 ++ 3 ++ 4 + GTK_FILL + + +@@ -84,8 +113,8 @@ + + 1 + 2 +- 2 +- 3 ++ 3 ++ 4 + GTK_FILL + GTK_FILL + +@@ -103,8 +132,8 @@ + + 1 + 2 +- 3 +- 4 ++ 4 ++ 5 + GTK_FILL + + +@@ -119,8 +148,8 @@ + eap_tls_private_key_button + + +- 4 +- 5 ++ 5 ++ 6 + GTK_FILL + + +@@ -133,8 +162,8 @@ + + 1 + 2 +- 4 +- 5 ++ 5 ++ 6 + GTK_FILL + GTK_FILL + +@@ -149,8 +178,8 @@ + eap_tls_private_key_password_entry + + +- 5 +- 6 ++ 6 ++ 7 + GTK_FILL + + +@@ -165,8 +194,8 @@ + + 1 + 2 +- 5 +- 6 ++ 6 ++ 7 + + + +@@ -183,8 +212,8 @@ + + 1 + 2 +- 6 +- 7 ++ 7 ++ 8 + GTK_FILL + + +Index: network-manager-applet-1.0.8/src/wireless-security/eap-method-ttls.c +=================================================================== +--- network-manager-applet-1.0.8.orig/src/wireless-security/eap-method-ttls.c ++++ network-manager-applet-1.0.8/src/wireless-security/eap-method-ttls.c +@@ -36,6 +36,8 @@ + #define I_NAME_COLUMN 0 + #define I_METHOD_COLUMN 1 + ++#define SUBJECT_NOTE _("") ++ + struct _EAPMethodTTLS { + EAPMethod parent; + +@@ -114,6 +116,10 @@ add_to_size_group (EAPMethod *parent, Gt + g_assert (widget); + gtk_size_group_add_widget (group, widget); + ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_subject_label")); ++ g_assert (widget); ++ gtk_size_group_add_widget (group, widget); ++ + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_label")); + g_assert (widget); + gtk_size_group_add_widget (group, widget); +@@ -138,6 +144,7 @@ fill_connection (EAPMethod *parent, NMCo + { + NMSetting8021x *s_8021x; + NMSetting8021xCKFormat format = NM_SETTING_802_1X_CK_FORMAT_UNKNOWN; ++ NMSetting8021xCKScheme cert_scheme; + GtkWidget *widget; + const char *text; + char *filename; +@@ -158,13 +165,21 @@ fill_connection (EAPMethod *parent, NMCo + if (text && strlen (text)) + g_object_set (s_8021x, NM_SETTING_802_1X_ANONYMOUS_IDENTITY, text, NULL); + ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_subject_entry")); ++ g_assert (widget); ++ text = gtk_entry_get_text (GTK_ENTRY (widget)); ++ if (text && strlen (text) && g_strcmp0 (text, SUBJECT_NOTE) != 0) ++ g_object_set (s_8021x, NM_SETTING_802_1X_SUBJECT_MATCH, text, NULL); ++ + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_button")); + g_assert (widget); + filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget)); +- if (!nm_setting_802_1x_set_ca_cert (s_8021x, filename, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { +- g_warning ("Couldn't read CA certificate '%s': %s", filename, error ? error->message : "(unknown)"); +- g_clear_error (&error); +- ca_cert_error = TRUE; ++ cert_scheme = nm_setting_802_1x_get_ca_cert_scheme (s_8021x); ++ if (filename || cert_scheme != NM_SETTING_802_1X_CK_SCHEME_HASH) { ++ if (!nm_setting_802_1x_set_ca_cert (s_8021x, filename, NM_SETTING_802_1X_CK_SCHEME_PATH, &format, &error)) { ++ g_warning ("Couldn't read CA certificate '%s': %s", filename, error ? error->message : "(unknown)"); ++ g_clear_error (&error); ++ } + } + eap_method_ca_cert_ignore_set (parent, connection, filename, ca_cert_error); + g_free (filename); +@@ -365,6 +380,37 @@ update_secrets (EAPMethod *parent, NMCon + I_METHOD_COLUMN); + } + ++static gboolean ++subject_entry_focus_in_cb (GtkWidget *widget, ++ GdkEvent *event, ++ gpointer user_data) ++{ ++ const char *text = gtk_entry_get_text (GTK_ENTRY (widget)); ++ if (g_strcmp0 (text, SUBJECT_NOTE) == 0) { ++ gtk_entry_set_text (GTK_ENTRY (widget), ""); ++ gtk_widget_override_color (widget, GTK_STATE_FLAG_NORMAL, NULL); ++ } ++ return FALSE; ++} ++ ++static gboolean ++subject_entry_focus_out_cb (GtkWidget *widget, ++ GdkEvent *event, ++ gpointer user_data) ++{ ++ const char *text = gtk_entry_get_text (GTK_ENTRY (widget)); ++ GtkStyleContext *context; ++ GdkRGBA color; ++ ++ if (!text || !strlen (text)) { ++ gtk_entry_set_text (GTK_ENTRY (widget), SUBJECT_NOTE); ++ context = gtk_widget_get_style_context (widget); ++ gtk_style_context_get_color (context, GTK_STATE_FLAG_INSENSITIVE, &color); ++ gtk_widget_override_color (widget, GTK_STATE_FLAG_NORMAL, &color); ++ } ++ return FALSE; ++} ++ + EAPMethodTTLS * + eap_method_ttls_new (WirelessSecurity *ws_parent, + NMConnection *connection, +@@ -430,6 +476,43 @@ eap_method_ttls_new (WirelessSecurity *w + !filename && eap_method_ca_cert_ignore_get (parent, connection)); + } + ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_subject_entry")); ++ if (s_8021x) { ++ const char *text = nm_setting_802_1x_get_subject_match (s_8021x); ++ if (!text) { ++ GtkStyleContext *context; ++ GdkRGBA color; ++ context = gtk_widget_get_style_context (widget); ++ gtk_style_context_get_color (context, GTK_STATE_FLAG_INSENSITIVE, &color); ++ gtk_widget_override_color (widget, GTK_STATE_FLAG_NORMAL, &color); ++ gtk_entry_set_text (GTK_ENTRY (widget), SUBJECT_NOTE); ++ } else { ++ gtk_entry_set_text (GTK_ENTRY (widget), text); ++ } ++ g_signal_connect (G_OBJECT (widget), "focus-in-event", ++ (GCallback) subject_entry_focus_in_cb, ++ NULL); ++ g_signal_connect (G_OBJECT (widget), "focus-out-event", ++ (GCallback) subject_entry_focus_out_cb, ++ NULL); ++ } ++ g_signal_connect (G_OBJECT (widget), "changed", ++ (GCallback) wireless_security_changed_cb, ++ ws_parent); ++ ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_note_label")); ++ gtk_widget_hide (widget); ++ if (s_8021x) { ++ NMSetting8021xCKScheme cert_scheme; ++ cert_scheme = nm_setting_802_1x_get_ca_cert_scheme (s_8021x); ++ if (cert_scheme == NM_SETTING_802_1X_CK_SCHEME_HASH) { ++ gtk_label_set_text (GTK_LABEL (widget), ++ _("Note: Server hash is used instead of CA certificate")); ++ gtk_label_set_use_markup (GTK_LABEL (widget), TRUE); ++ gtk_widget_show (widget); ++ } ++ } ++ + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_anon_identity_entry")); + if (s_8021x && nm_setting_802_1x_get_anonymous_identity (s_8021x)) + gtk_entry_set_text (GTK_ENTRY (widget), nm_setting_802_1x_get_anonymous_identity (s_8021x)); +@@ -445,12 +528,18 @@ eap_method_ttls_new (WirelessSecurity *w + gtk_widget_hide (widget); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_anon_identity_entry")); + gtk_widget_hide (widget); ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_subject_label")); ++ gtk_widget_hide (widget); ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_subject_entry")); ++ gtk_widget_hide (widget); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_label")); + gtk_widget_hide (widget); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_button")); + gtk_widget_hide (widget); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_not_required_checkbox")); + gtk_widget_hide (widget); ++ widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_note_label")); ++ gtk_widget_hide (widget); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_inner_auth_label")); + gtk_widget_hide (widget); + widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_inner_auth_combo")); +Index: network-manager-applet-1.0.8/src/wireless-security/eap-method-ttls.ui +=================================================================== +--- network-manager-applet-1.0.8.orig/src/wireless-security/eap-method-ttls.ui ++++ network-manager-applet-1.0.8/src/wireless-security/eap-method-ttls.ui +@@ -21,7 +21,7 @@ + + True + False +- 4 ++ 7 + 2 + 12 + 6 +@@ -52,6 +52,35 @@ + + + ++ ++ True ++ 0 ++ _Subject: ++ True ++ eap_ttls_subject_entry ++ ++ ++ 1 ++ 2 ++ GTK_FILL ++ ++ ++ ++ ++ ++ True ++ True ++ True ++ ++ ++ 1 ++ 2 ++ 1 ++ 2 ++ ++ ++ ++ + + True + False +@@ -61,8 +90,8 @@ + eap_ttls_ca_cert_button + + +- 1 +- 2 ++ 2 ++ 3 + GTK_FILL + + +@@ -75,8 +104,8 @@ + + 1 + 2 +- 1 +- 2 ++ 2 ++ 3 + GTK_FILL + GTK_FILL + +@@ -94,13 +123,24 @@ + + 1 + 2 +- 2 +- 3 ++ 3 ++ 4 + GTK_FILL + + + + ++ ++ True ++ Note ++ ++ ++ 2 ++ 4 ++ 5 ++ ++ ++ + + True + False +@@ -110,8 +150,8 @@ + eap_ttls_inner_auth_combo + + +- 3 +- 4 ++ 5 ++ 6 + GTK_FILL + + +@@ -131,8 +171,8 @@ + + 1 + 2 +- 3 +- 4 ++ 5 ++ 6 + GTK_FILL + GTK_FILL + +@@ -148,8 +188,8 @@ + + + 2 +- 4 +- 5 ++ 6 ++ 7 + GTK_FILL + + +Index: network-manager-applet-1.0.8/src/wireless-security/wireless-security.c +=================================================================== +--- network-manager-applet-1.0.8.orig/src/wireless-security/wireless-security.c ++++ network-manager-applet-1.0.8/src/wireless-security/wireless-security.c +@@ -533,11 +533,14 @@ ws_802_1x_fill_connection (WirelessSecur + { + GtkWidget *widget; + NMSettingWirelessSecurity *s_wireless_sec; +- NMSetting8021x *s_8021x; ++ NMSetting8021x *s_8021x, *old_s_8021x; + NMSettingSecretFlags secret_flags = NM_SETTING_SECRET_FLAG_NONE; ++ NMSetting8021xCKScheme cert_scheme; + EAPMethod *eap = NULL; + GtkTreeModel *model; + GtkTreeIter iter; ++ char *subject, *cert_hash; ++ char *old_hash = NULL; + + /* Get the EAPMethod object */ + widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, combo_name)); +@@ -553,6 +556,12 @@ ws_802_1x_fill_connection (WirelessSecur + else + secret_flags = NM_SETTING_SECRET_FLAG_AGENT_OWNED; + ++ old_s_8021x = nm_connection_get_setting_802_1x (connection); ++ if (old_s_8021x && ++ nm_setting_802_1x_get_ca_cert_scheme (old_s_8021x) == NM_SETTING_802_1X_CK_SCHEME_HASH) { ++ old_hash = g_strdup (nm_setting_802_1x_get_ca_cert_hash (old_s_8021x)); ++ } ++ + /* Blow away the old wireless security setting by adding a clear one */ + s_wireless_sec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new (); + nm_connection_add_setting (connection, (NMSetting *) s_wireless_sec); +@@ -561,8 +570,43 @@ ws_802_1x_fill_connection (WirelessSecur + s_8021x = (NMSetting8021x *) nm_setting_802_1x_new (); + nm_connection_add_setting (connection, (NMSetting *) s_8021x); + ++ if (old_hash) { ++ NMSetting8021xCKFormat format = NM_SETTING_802_1X_CK_FORMAT_UNKNOWN; ++ GError *error = NULL; ++ if (!nm_setting_802_1x_set_ca_cert (s_8021x, ++ old_hash, ++ NM_SETTING_802_1X_CK_SCHEME_HASH, ++ &format, ++ &error)) { ++ g_warning ("Couldn't set CA certificate '%s': %s", old_hash, ++ error ? error->message : "(unknown)"); ++ g_error_free (error); ++ } ++ g_free (old_hash); ++ } ++ + eap_method_fill_connection (eap, connection, secret_flags); + eap_method_unref (eap); ++ ++ /* Fetch subject and cert_hash from connection */ ++ subject = (char *)g_object_get_data (G_OBJECT (connection), NMA_SERVER_SUBJECT); ++ if (subject && !nm_setting_802_1x_get_subject_match (s_8021x)) ++ g_object_set (s_8021x, NM_SETTING_802_1X_SUBJECT_MATCH, subject, NULL); ++ ++ cert_hash = (char *)g_object_get_data (G_OBJECT (connection), NMA_SERVER_CERT_HASH); ++ cert_scheme = nm_setting_802_1x_get_ca_cert_scheme (s_8021x); ++ if (cert_hash && cert_scheme == NM_SETTING_802_1X_CK_SCHEME_UNKNOWN) { ++ NMSetting8021xCKFormat format = NM_SETTING_802_1X_CK_FORMAT_UNKNOWN; ++ GError *error = NULL; ++ if (!nm_setting_802_1x_set_ca_cert (s_8021x, ++ cert_hash, ++ NM_SETTING_802_1X_CK_SCHEME_HASH, ++ &format, ++ &error)) { ++ g_warning ("Couldn't set CA certificate '%s': %s", cert_hash, error ? error->message : "(unknown)"); ++ g_error_free (error); ++ } ++ } + } + + void +Index: network-manager-applet-1.0.8/src/wireless-security/wireless-security.h +=================================================================== +--- network-manager-applet-1.0.8.orig/src/wireless-security/wireless-security.h ++++ network-manager-applet-1.0.8/src/wireless-security/wireless-security.h +@@ -28,6 +28,9 @@ + + #include + ++#define NMA_SERVER_SUBJECT "nma-server-subject" ++#define NMA_SERVER_CERT_HASH "mna-server-cert-hash" ++ + typedef struct _WirelessSecurity WirelessSecurity; + + typedef void (*WSChangedFunc) (WirelessSecurity *sec, gpointer user_data); +Index: network-manager-applet-1.0.8/src/libnm-gtk/nm-wifi-dialog.c +=================================================================== +--- network-manager-applet-1.0.8.orig/src/libnm-gtk/nm-wifi-dialog.c ++++ network-manager-applet-1.0.8/src/libnm-gtk/nm-wifi-dialog.c +@@ -78,6 +78,10 @@ typedef struct { + GetSecretsInfo *secrets_info; + + gboolean disposed; ++ ++ /* For Server certificate probe */ ++ guint cert_id; ++ guint timeout_id; + } NMAWifiDialogPrivate; + + enum { +@@ -111,6 +115,234 @@ nma_wifi_dialog_get_nag_ignored (NMAWifi + return TRUE; + } + ++gboolean ++nma_wifi_dialog_need_cert_probe (NMAWifiDialog *self) ++{ ++ NMAWifiDialogPrivate *priv; ++ NMSetting8021x *s_8021x; ++ NMSetting8021xCKScheme cert_scheme; ++ int i, num_eap; ++ char *subject, *cert_hash; ++ gboolean need_ca = FALSE; ++ ++ g_return_val_if_fail (self != NULL, FALSE); ++ ++ priv = NMA_WIFI_DIALOG_GET_PRIVATE (self); ++ ++ s_8021x = nm_connection_get_setting_802_1x (priv->connection); ++ if (!s_8021x) ++ return FALSE; ++ ++ num_eap = nm_setting_802_1x_get_num_eap_methods (s_8021x); ++ for (i = 0; i < num_eap; i++) { ++ const char *eap; ++ eap = nm_setting_802_1x_get_eap_method (s_8021x, i); ++ if ( g_strcmp0 (eap, "ttls") == 0 ++ || g_strcmp0 (eap, "peap") == 0 ++ || g_strcmp0 (eap, "tls") == 0) { ++ need_ca = TRUE; ++ break; ++ } ++ } ++ ++ if (!need_ca) ++ return FALSE; ++ ++ subject = (char *)g_object_get_data (G_OBJECT (priv->connection), NMA_SERVER_SUBJECT); ++ cert_hash = (char *)g_object_get_data (G_OBJECT (priv->connection), NMA_SERVER_CERT_HASH); ++ cert_scheme = nm_setting_802_1x_get_ca_cert_scheme (s_8021x); ++ ++ if ( (!subject && !nm_setting_802_1x_get_subject_match (s_8021x)) ++ || (!cert_hash && (cert_scheme == NM_SETTING_802_1X_CK_SCHEME_UNKNOWN))) ++ return TRUE; ++ ++ return FALSE; ++} ++ ++static gboolean ++show_probe_result_dialog (GtkWindow *parent, ++ NMConnection *connection, ++ NMSetting8021x *s_8021x, ++ const char *subject, ++ const char *cert_hash) ++{ ++ NMSettingWireless *s_wireless; ++ GtkWidget *notify_dialog, *content; ++ GtkWidget *grid; ++ GtkWidget *context, *label, *entry; ++ char *ssid, *string; ++ int response_id; ++ ++ s_wireless = nm_connection_get_setting_wireless (connection); ++ ssid = nm_utils_ssid_to_utf8 (nm_setting_wireless_get_ssid (s_wireless)); ++ ++ notify_dialog = gtk_dialog_new_with_buttons (ssid, parent, ++ GTK_DIALOG_MODAL, ++ GTK_STOCK_NO, GTK_RESPONSE_NO, ++ GTK_STOCK_YES, GTK_RESPONSE_YES, ++ NULL); ++ gtk_window_set_resizable (GTK_WINDOW (notify_dialog), FALSE); ++ content = gtk_dialog_get_content_area (GTK_DIALOG (notify_dialog)); ++ ++ grid = gtk_grid_new (); ++ gtk_grid_set_row_spacing (GTK_GRID (grid), 12); ++ gtk_container_set_border_width (GTK_CONTAINER (grid), 5); ++ gtk_container_add (GTK_CONTAINER (content), grid); ++ ++ entry = gtk_entry_new (); ++ gtk_editable_set_editable (GTK_EDITABLE (entry), FALSE); ++ if (!cert_hash) { ++ string = g_strdup_printf ("%s %s\n\n%s\n%s", ++ _("Server Certificate Probed:"), ++ ssid, ++ _("The subject is going to be filled with the probe result."), ++ _("Do you agree?")); ++ label = gtk_label_new (_("Subject:")); ++ gtk_entry_set_text (GTK_ENTRY (entry), subject); ++ } else { ++ string = g_strdup_printf ("%s %s\n\n%s\n%s", ++ _("Server Certificate Probed:"), ++ ssid, ++ _("The CA certificate is going to be filled with the probed server hash."), ++ _("Do you agree?")); ++ label = gtk_label_new (_("CA Certificate:")); ++ gtk_entry_set_text (GTK_ENTRY (entry), cert_hash); ++ } ++ context = gtk_label_new (string); ++ g_free (string); ++ g_free (ssid); ++ gtk_label_set_line_wrap (GTK_LABEL (context), TRUE); ++ gtk_label_set_use_markup (GTK_LABEL (context), TRUE); ++ gtk_grid_attach (GTK_GRID (grid), context, 0, 0, 10, 1); ++ gtk_grid_attach (GTK_GRID (grid), label, 0, 1, 1, 1); ++ gtk_grid_attach (GTK_GRID (grid), entry, 1, 1, 9, 1); ++ ++ gtk_widget_show_all (notify_dialog); ++ ++ response_id = gtk_dialog_run (GTK_DIALOG (notify_dialog)); ++ ++ gtk_widget_destroy (notify_dialog); ++ ++ if (response_id == GTK_RESPONSE_YES) ++ return TRUE; ++ ++ return FALSE; ++} ++ ++static void ++wifi_got_cert_cb (NMDeviceWifi *wifi, ++ GHashTable *cert, ++ gpointer user_data) ++{ ++ NMAWifiDialog *self = NMA_WIFI_DIALOG (user_data); ++ NMAWifiDialogPrivate *priv; ++ NMSetting8021x *s_8021x; ++ const char *subject = NULL, *hash = NULL; ++ GValue *value; ++ gboolean response = FALSE; ++ ++ priv = NMA_WIFI_DIALOG_GET_PRIVATE (self); ++ ++ g_signal_handler_disconnect (NM_DEVICE_WIFI (priv->device), priv->cert_id); ++ if (priv->timeout_id) { ++ g_source_remove (priv->timeout_id); ++ priv->timeout_id = 0; ++ } ++ ++ value = g_hash_table_lookup (cert, "subject"); ++ if (value && G_VALUE_HOLDS_STRING (value)) ++ subject = g_value_get_string (value); ++ ++ value = g_hash_table_lookup (cert, "cert_hash"); ++ if (value && G_VALUE_HOLDS_STRING (value)) ++ hash = g_value_get_string (value); ++ ++ if (!subject || !hash) ++ goto out; ++ ++ s_8021x = nm_connection_get_setting_802_1x (priv->connection); ++ if (s_8021x) { ++ NMSetting8021xCKScheme cert_scheme; ++ char *hash_path = NULL; ++ gboolean ret; ++ ++ cert_scheme = nm_setting_802_1x_get_ca_cert_scheme (s_8021x); ++ if (cert_scheme == NM_SETTING_802_1X_CK_SCHEME_UNKNOWN) ++ hash_path = g_strconcat ("hash://server/sha256/", hash, NULL); ++ ret = show_probe_result_dialog (gtk_window_get_transient_for (GTK_WINDOW (self)), ++ priv->connection, ++ s_8021x, ++ subject, ++ hash_path); ++ if (!ret) { ++ g_free (hash_path); ++ goto out; ++ } ++ ++ g_object_set_data_full (G_OBJECT (priv->connection), ++ NMA_SERVER_SUBJECT, g_strdup (subject), ++ (GDestroyNotify) g_free); ++ g_object_set_data_full (G_OBJECT (priv->connection), ++ NMA_SERVER_CERT_HASH, hash_path, ++ (GDestroyNotify) g_free); ++ response = TRUE; ++ } ++out: ++ if (response) ++ gtk_dialog_response (GTK_DIALOG (self), GTK_RESPONSE_OK); ++ else ++ gtk_widget_show (GTK_WIDGET (self)); ++} ++ ++static gboolean ++wifi_cert_timeout_cb (gpointer user_data) ++{ ++ NMAWifiDialog *self = (NMAWifiDialog *)user_data; ++ NMAWifiDialogPrivate *priv; ++ ++ priv = NMA_WIFI_DIALOG_GET_PRIVATE (self); ++ ++ priv->timeout_id = 0; ++ ++ g_signal_handler_disconnect (NM_DEVICE_WIFI (priv->device), priv->cert_id); ++ ++ gtk_widget_show (GTK_WIDGET (self)); ++ ++ return FALSE; ++} ++ ++gboolean ++nma_wifi_dialog_probe_cert (NMAWifiDialog *self) ++{ ++ NMAWifiDialogPrivate *priv; ++ NMDeviceWifi *wifi; ++ guint id; ++ ++ g_return_val_if_fail (self != NULL, FALSE); ++ ++ priv = NMA_WIFI_DIALOG_GET_PRIVATE (self); ++ wifi = NM_DEVICE_WIFI (priv->device); ++ ++ if (!nm_device_wifi_probe_cert (wifi, priv->connection)) ++ return FALSE; ++ ++ id = g_timeout_add_seconds (30, ++ (GSourceFunc)wifi_cert_timeout_cb, ++ (gpointer)self); ++ if (id <= 0) { ++ g_warning ("Failed to add timeout for server certificate probe"); ++ return FALSE; ++ } ++ priv->timeout_id = id; ++ ++ id = g_signal_connect (wifi, "cert-received", G_CALLBACK (wifi_got_cert_cb), self); ++ priv->cert_id = id; ++ ++ gtk_widget_hide (GTK_WIDGET (self)); ++ ++ return TRUE; ++} ++ + static void + size_group_clear (GtkSizeGroup *group) + { +@@ -1191,6 +1423,9 @@ internal_init (NMAWifiDialog *self, + */ + priv->revalidate_id = g_idle_add (revalidate, self); + ++ priv->cert_id = 0; ++ priv->timeout_id = 0; ++ + return TRUE; + } + +@@ -1252,6 +1487,8 @@ nma_wifi_dialog_get_connection (NMAWifiD + g_assert_not_reached (); + + nm_connection_add_setting (connection, (NMSetting *) s_wireless); ++ ++ priv->connection = g_object_ref (connection); + } else + connection = g_object_ref (priv->connection); + +Index: network-manager-applet-1.0.8/src/libnm-gtk/nm-wifi-dialog.h +=================================================================== +--- network-manager-applet-1.0.8.orig/src/libnm-gtk/nm-wifi-dialog.h ++++ network-manager-applet-1.0.8/src/libnm-gtk/nm-wifi-dialog.h +@@ -83,6 +83,9 @@ gboolean nma_wifi_dialog_get_nag_ignored + GLIB_DEPRECATED_FOR(nma_wifi_dialog_new_for_hidden) + GtkWidget *nma_wifi_dialog_new_for_other (NMClient *client, + NMRemoteSettings *settings); ++gboolean nma_wifi_dialog_need_cert_probe (NMAWifiDialog *dialog); ++ ++gboolean nma_wifi_dialog_probe_cert (NMAWifiDialog *dialog); + + #endif /* NMA_WIFI_DIALOG_H */ + +Index: network-manager-applet-1.0.8/src/libnm-gtk/nm-wireless-dialog.c +=================================================================== +--- network-manager-applet-1.0.8.orig/src/libnm-gtk/nm-wireless-dialog.c ++++ network-manager-applet-1.0.8/src/libnm-gtk/nm-wireless-dialog.c +@@ -64,3 +64,14 @@ nma_wireless_dialog_new_for_create (NMCl + return nma_wifi_dialog_new_for_create (client, settings); + } + ++gboolean ++nma_wireless_dialog_need_cert_probe (NMAWirelessDialog *self) ++{ ++ return nma_wifi_dialog_need_cert_probe ((NMAWifiDialog *)self); ++} ++ ++gboolean ++nma_wireless_dialog_probe_cert (NMAWirelessDialog *self) ++{ ++ return nma_wifi_dialog_probe_cert ((NMAWifiDialog *)self); ++} +Index: network-manager-applet-1.0.8/src/libnm-gtk/nm-wireless-dialog.h +=================================================================== +--- network-manager-applet-1.0.8.orig/src/libnm-gtk/nm-wireless-dialog.h ++++ network-manager-applet-1.0.8/src/libnm-gtk/nm-wireless-dialog.h +@@ -76,5 +76,11 @@ NMConnection * nma_wireless_dialog_get_c + NMDevice **device, + NMAccessPoint **ap); + ++GLIB_DEPRECATED_FOR(nma_wifi_dialog_need_cert_probe) ++gboolean nma_wireless_dialog_need_cert_probe (NMAWirelessDialog *dialog); ++ ++GLIB_DEPRECATED_FOR(nma_wifi_dialog_probe_cert) ++gboolean nma_wireless_dialog_probe_cert (NMAWirelessDialog *dialog); ++ + #endif /* NMA_WIRELESS_DIALOG_H */ +