Hello community, here is the log from the commit of package gnome-control-center.3628 for openSUSE:13.2:Update checked in at 2015-03-24 12:43:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:13.2:Update/gnome-control-center.3628 (Old) and /work/SRC/openSUSE:13.2:Update/.gnome-control-center.3628.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-control-center.3628" Changes: -------- New Changes file: --- /dev/null 2015-03-12 01:14:30.992027505 +0100 +++ /work/SRC/openSUSE:13.2:Update/.gnome-control-center.3628.new/gnome-control-center.changes 2015-03-24 12:43:34.000000000 +0100 @@ -0,0 +1,5490 @@ +------------------------------------------------------------------- +Thu Mar 12 16:00:23 UTC 2015 - zai...@opensuse.org + +- Update to version 3.14.3 (boo#916784): + + Background: Fix crash to missing icon. + + Network: + - Also work with NetworkManager 1.0. + - Allocate storage for zone name during D-Bus call. + + Power: Fix initial state of Bluetooth switch. + + Printers: Remove border around model name. + + Sharing: + - Prevent an endless loop and resulting stack overflow. + - Don't add the folder if the dialog isn't explicity accepted. + - Update help URI. + + Shell: Unset sort terms when search entry is programatically + cleared. + + Universal Access: Fix typo. + + User Accounts: + - Change default size for avatar cropping to match Cheese. + - Don't crash when closing fingerprint dialog. + - Don't crash when network changes. + - Don't show empty row for remote users. + + Updated translations. + +------------------------------------------------------------------- +Thu Nov 13 18:09:08 UTC 2014 - zai...@opensuse.org + +- Update to version 3.14.2 (boo#906687): + + Disable SSLv3 because of POODLE. + + Background: + - Fix possible crash when date isn't available. + - Fix crash when adding the second color. + + Power: Disable hover on non-clickable rows. + + Printers: Automatically keep the selected row scrolled in view. + + Region: + - Make Add/Done buttons blue as intended. + - Don't crash for locales with no country code. + + Search: Use g_get_system_data_dirs() to discover providers. + + Sound: Fix the main volume bars to correctly display changes in + volume. + + Universal Access: Make Add/Done buttons blue as intended. + + User Accounts: + - Fix a crash when taking a photo in the avatar chooser. + - Reset language dialog to original state when used the 2nd + time. + + Updated translations. +- Drop gnome-control-center-no-country-code-crash.patch, + gnome-control-center-user-account-cheese-crash.patch, and + gnome-control-center-crash-when-date-unavailable.patch: Fixed + upstream. + +------------------------------------------------------------------- +Mon Nov 3 14:55:37 UTC 2014 - badshah...@gmail.com + +- Downgrade cups-pk-helper Requires to Recommends (boo#904047) +- Add gnome-control-center-follow-polkit-permissions-for-tz.patch + to allow timezone changes by user if permitted by polkit + permissions (boo#904058) +- Add patches from upstream for critical issues: + + gnome-control-center-no-country-code-crash.patch: fix + a crash for locales with no country codes (boo#904071, + bgo#738963) + + gnome-control-center-user-account-cheese-crash.patch: + user-account -- do not crash while taking a picture for user + avatar using cheese (boo#904070, bgo#697039) + + gnome-control-center-crash-when-date-unavailable.patch: + background -- do not crash when date is unavailable + (boo#904073, bgo#736475). + +------------------------------------------------------------------- +Fri Oct 17 20:34:01 UTC 2014 - dims...@opensuse.org + +- Recommend the installation of dbus(com.intel.dleyna-server): + through the online-accounts panel, it is possible to configure + DLNA Media Servers (for gnome-photos). This feature relies on + dleyna-server. + +------------------------------------------------------------------- +Tue Oct 14 16:43:02 UTC 2014 - dims...@opensuse.org + +- Update to version 3.14.1: + + Keyboard: Allow shortcut explanation text to wrap. + + Network: Hide airplane switch when g-s-d says so. + + Power: Conditionally display the bluetooth button. + + Printers: Don't crash for URIs with leading "//". + + Region: Obtain keyboard variant from IBus. + + User Accounts: + - Show correct language if it isn't set. + - Make sure widgets are the same height. + - Fix language chooser response if language is unknown. + - Preset language chooser if language is known. + +------------------------------------------------------------------- +Sat Oct 11 12:29:38 UTC 2014 - dims...@opensuse.org + +- Update gnome-control-center-allow-extra-tools-in-shell.patch: + ensure g_strconcat has a NULL Sentinel (boo#900782). + +------------------------------------------------------------------- +Tue Sep 30 11:30:07 UTC 2014 - dims...@opensuse.org + +- Update gnome-control-center-allow-extra-tools-in-shell.patch: + dconf-editor.desktop was renamed to + ca.desrt.dconf-editor.desktop. + +------------------------------------------------------------------- +Wed Sep 24 04:53:24 UTC 2014 - badshah...@gmail.com + +- Add explicit libgnomekbd Requires to fix issue with keyboard + layout utility not showing up when "Show keyboard layout" is + chosen from control-center or top-bar (boo#898096). + +------------------------------------------------------------------- +Mon Sep 22 17:09:55 UTC 2014 - zai...@opensuse.org + +- Update to version 3.14.0: + + Fix restart notifications' text getting clipped under some + translations. + + Updated translations +- Drop gnome-control-center-bg-translation.patch: Fixed upstream. + +------------------------------------------------------------------- +Sun Sep 21 14:26:20 UTC 2014 - fezh...@suse.com + +- Add gnome-control-center-hide-firewall-zone-entry.patch: Hide + Firewall zone entry in Network panel (bnc#894394). The Firewall + Zone entry is only activated if firewalld package is installed. + As openSUSE doesn't have this package, the entry never works. + So removing the entry to avoid confusions. + +------------------------------------------------------------------- +Tue Sep 16 20:09:22 UTC 2014 - dims...@opensuse.org + +- Update to version 3.13.92: + + Background: + - Fix background chooser dialog resizing when switching views. + - Use a stack with three views for the chooser dialog. + - Fix memory leak in Flickr support. + + Date & Time: Don't hard-code font size. + + Keyboard: Fix a crash if the WM changes (or restarts). + + Network: + - Fix possible crash when wireless-enabled changes. + - Fix more potential crashers for WWAN. + - Report hotspot is running only if device is active. + - Really hide all of the virtualisation bridges. + - Don't show underlying device for VPN connections. + + Sharing: Fix empty folder list by default. + + User Accounts: + - Fix various UI padding issues. + - Fix focus in the account dialog. + + Updated libgd to fix GdNotification theming + + Updated translations. +- Add gnome-control-center-bg-translation.patch: Fix Bulgarian + translation for Sharing desktop file. + +------------------------------------------------------------------- +Sun Sep 7 11:55:48 UTC 2014 - zai...@opensuse.org + +- Update to version 3.13.91: + + Date & Time: Fix crash when setting year to 0. + + Network: + - Center "Wi-Fi hotspot" properties. + - Fix warning on startup with hotspot enabled. + - Show an error when we fail to turn off hotspot. + + Updated translations. + +------------------------------------------------------------------- +Fri Aug 22 08:49:24 UTC 2014 - g...@suse.com + +- Enable gnome-control-center-probe-radius-server-cert.patch since + the patch in NetworkManager-gnome was rebased. + +------------------------------------------------------------------- +Tue Aug 19 19:17:19 UTC 2014 - dims...@opensuse.org + +- Update to version 3.13.90: + + Color: Do not set the 'Details' button for virtual profiles. + + Keyboard: Suggest to automatically set reverse bindings. + + Network: + - Make broken configuration entries red. + - Create WPA protected AP hotspot if supported. + - Fix network icon names for newer versions. + - Remove "..." from dialogue titles. + - Add DNS to the keywords. + - Fix typo in NetworkManager version checking. + + Printers: Allow to add AppSocket/HP JetDirect and LPD printers. + + Privacy: Add location setting. + + Search: add support for default disabled search providers. + + Sharing: + - Fix crash in media preferences. + - Avoid truncated folders list in media sharing. + - Make it possible to share remote folders. + + User Accounts: + - fix response sensitivity of photo dialog. + - allow password changing if old password isn't set or empty. + - Add restart notification. + - fix enterprise toggle. ++++ 5293 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:13.2:Update/.gnome-control-center.3628.new/gnome-control-center.changes New: ---- gcc-private-connection.patch gnome-control-center-3.14.3.tar.xz gnome-control-center-allow-extra-tools-in-shell.patch gnome-control-center-follow-polkit-permissions-for-tz.patch gnome-control-center-hide-firewall-zone-entry.patch gnome-control-center-probe-radius-server-cert.patch gnome-control-center-system-proxy-configuration.patch gnome-control-center.changes gnome-control-center.spec ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gnome-control-center.spec ++++++ # # spec file for package gnome-control-center # # Copyright (c) 2015 SUSE LINUX Products 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/ # # Allow to enable/disable ibus, as GNOME is rather strict on new versions. %define with_ibus 1 # Wacom input support %ifarch s390 s390x %define with_wacom 0 %else %define with_wacom 1 %endif Name: gnome-control-center Version: 3.14.3 Release: 0 # FIXME: in 12.3 and later, check if we still need patch2 (gnome-control-center-hide-region-system-tab.patch) (see bnc#703833) Summary: The GNOME Control Center License: GPL-2.0+ Group: System/GUI/GNOME Url: http://www.gnome.org Source: http://download.gnome.org/sources/gnome-control-center/3.14/%{name}-%{version}.tar.xz # PATCH-FEATURE-OPENSUSE gnome-control-center-allow-extra-tools-in-shell.patch fezh...@suse.com -- Add dconf-editor, pkg-prefs, gnome-tweak-tool and tracker-preferences to gnome-control-center-allow-yast-in-shell.patch so that they can launch from g-c-c shell like YaST does. Also change the patch with a more generic name. Patch0: gnome-control-center-allow-extra-tools-in-shell.patch # PATCH-FEATURE-OPENSUSE gnome-control-center-hide-firewall-zone-entry.patch bnc#894394 fezh...@suse.com -- network: hide the firewall zone entry for firewalld, which is not used in opensuse Patch1: gnome-control-center-hide-firewall-zone-entry.patch # PATCH-FEATURE-OPENSUSE gnome-control-center-allow-yast-in-shell.patch vu...@opensuse.org -- Allow the launch of the yast shell from the g-c-c shell; it's quite ugly, but on the other hand, we don't want to change the behavior of the shell except for yast... Patch14: gnome-control-center-system-proxy-configuration.patch # PATCH-FIX-UPSTREAM gcc-private-connection.patch bnc#751211 bgo#646187 dims...@opensuse.org -- network: create private connections if the user if not authorized Patch15: gcc-private-connection.patch # PATCH-FIX-UPSTREAM gnome-control-center-probe-radius-server-cert.patch bnc#574266 g...@suse.com -- network: Probe the RADIUS server certificate Patch16: gnome-control-center-probe-radius-server-cert.patch # PATCH-FEATURE-OPENSUSE gnome-control-center-follow-polkit-permissions-for-tz.patch boo#904058 badshah...@gmail.com -- Follow polkit permissions for allowing/locking timezone setting changes Patch17: gnome-control-center-follow-polkit-permissions-for-tz.patch BuildRequires: cups-devel BuildRequires: desktop-file-utils BuildRequires: fdupes BuildRequires: gnome-common BuildRequires: intltool BuildRequires: krb5-devel BuildRequires: translation-update-upstream BuildRequires: update-desktop-files BuildRequires: pkgconfig(accountsservice) >= 0.6.30 BuildRequires: pkgconfig(cairo-gobject) BuildRequires: pkgconfig(cheese) BuildRequires: pkgconfig(cheese-gtk) >= 3.3.91 BuildRequires: pkgconfig(clutter-gtk-1.0) BuildRequires: pkgconfig(colord) >= 0.1.34 BuildRequires: pkgconfig(colord-gtk) >= 0.1.24 BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(gconf-2.0) BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glib-2.0) >= 2.39.91 BuildRequires: pkgconfig(gmodule-2.0) BuildRequires: pkgconfig(gnome-bluetooth-1.0) >= 3.11.1 BuildRequires: pkgconfig(gnome-desktop-3.0) >= 3.11.3 BuildRequires: pkgconfig(gnome-settings-daemon) >= 3.7.3 BuildRequires: pkgconfig(goa-1.0) >= 3.9.90 BuildRequires: pkgconfig(goa-backend-1.0) BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(grilo-0.2) BuildRequires: pkgconfig(gsettings-desktop-schemas) >= 3.13.91 BuildRequires: pkgconfig(gstreamer-1.0) BuildRequires: pkgconfig(gtk+-3.0) >= 3.13.0 %if %{with_ibus} BuildRequires: pkgconfig(ibus-1.0) >= 1.5.2 %endif BuildRequires: pkgconfig(libcanberra-gtk3) BuildRequires: pkgconfig(libgtop-2.0) BuildRequires: pkgconfig(libnm-glib) >= 0.9.8 BuildRequires: pkgconfig(libnm-glib-vpn) >= 0.9.8 BuildRequires: pkgconfig(libnm-gtk) >= 0.9.8 BuildRequires: pkgconfig(libpulse) >= 2.0 BuildRequires: pkgconfig(libpulse-mainloop-glib) >= 2.0 BuildRequires: pkgconfig(libsoup-2.4) BuildRequires: pkgconfig(libsystemd-login) %if %{with_wacom} BuildRequires: pkgconfig(libwacom) >= 0.7 %endif BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(mm-glib) >= 0.7 BuildRequires: pkgconfig(polkit-gobject-1) >= 0.103 BuildRequires: pkgconfig(pwquality) >= 1.2.2 BuildRequires: pkgconfig(smbclient) BuildRequires: pkgconfig(upower-glib) >= 0.99.0 BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcursor) BuildRequires: pkgconfig(xft) BuildRequires: pkgconfig(xi) >= 1.2 # needed for glxinfo, used by System info panel Requires: Mesa-demo-x # needed for printers panel Requires: gnome-menus Requires: gnome-settings-daemon # needed for universal access panel Requires: gnome-themes-accessibility Requires: gnome-version Requires: iso-codes # Needed for showing keyboard layout, boo#898096 Requires: libgnomekbd Requires: nautilus Recommends: %{name}-lang Recommends: %{name}-user-faces # cups-pk-helper should only be recommended, rather than a hard Requires, see boo#904047 Recommends: cups-pk-helper Recommends: dbus(com.intel.dleyna-server) # the printers panel can use the dbus service Recommends: system-config-printer-dbus-service Provides: acme Provides: fontilus Provides: themus Obsoletes: acme Obsoletes: fontilus Obsoletes: themus Provides: control-center2 = 2.22.1 Obsoletes: control-center2 < 2.22.1 # gnome-control-center-branding was obsoleted with g-c-c 3.8.0 (after openSUSE 12.3) Obsoletes: gnome-control-center-branding <= 12.3 Obsoletes: gnome-control-center-branding-openSUSE <= 12.3 Obsoletes: gnome-control-center-branding-upstream <= 12.3 BuildRoot: %{_tmppath}/%{name}-%{version}-build %glib2_gsettings_schema_requires %description The control center is GNOME's main interface for configuration of various aspects of your desktop. %package user-faces Summary: Login Managers user avatars Group: System/GUI/GNOME %description user-faces This package provides user avatars to be used by display managers %package devel Summary: Header files for the GNOME Control Center Group: Development/Libraries/GNOME Requires: %{name} = %{version} Provides: control-center2-devel = 2.22.1 Obsoletes: control-center2-devel < 2.22.1 %description devel The control center is GNOME's main interface for configuration of various aspects of your desktop. %package color Summary: Configuration panel for color management Group: System/GUI/GNOME Requires: %{name} = %{version} # The color panel requires colord to be present for the glib schema Requires: colord # The color panel interacts with binaries from gnome-color-manager Requires: gnome-color-manager Supplements: %{name} %description color This package provides the color management configuration panel for GNOME control center. %lang_package %prep %setup -q #ranslation-update-upstream %patch0 -p1 %patch1 -p1 %patch15 -p1 %patch16 -p1 %patch17 -p1 #NEEDS-REBASE #patch14 -p1 %build ACLOCAL_FLAGS="-I libgd" NOCONFIGURE=1 gnome-autogen.sh %configure --with-pic\ --disable-static\ --disable-maintainer-mode\ %if %{with_ibus} --enable-ibus %else --disable-ibus %endif make %{?_smp_mflags} V=1 %install %make_install find %{buildroot} -type f -name "*.la" -delete -print # We do not package gnome-control-center.rules (bnc#804966) rm %{buildroot}%{_datadir}/polkit-1/rules.d/gnome-control-center.rules %find_lang %{name}-2.0 %{?no_lang_C} %find_lang %{name}-2.0-timezones %{name}-2.0.lang %suse_update_desktop_file gnome-control-center # capplets %suse_update_desktop_file gnome-background-panel X-SuSE-ControlCenter-LookAndFeel %suse_update_desktop_file gnome-color-panel X-SuSE-ControlCenter-Hardware %suse_update_desktop_file gnome-datetime-panel X-SuSE-ControlCenter-Hardware %suse_update_desktop_file gnome-display-panel X-SuSE-ControlCenter-Hardware %suse_update_desktop_file gnome-info-panel X-SuSE-ControlCenter-Personal %suse_update_desktop_file gnome-keyboard-panel X-SuSE-ControlCenter-Hardware %suse_update_desktop_file gnome-mouse-panel X-SuSE-ControlCenter-Hardware %suse_update_desktop_file gnome-online-accounts-panel X-SuSE-ControlCenter-Personal %suse_update_desktop_file gnome-power-panel X-SuSE-ControlCenter-Hardware %suse_update_desktop_file gnome-printers-panel X-SuSE-ControlCenter-Hardware %suse_update_desktop_file gnome-region-panel X-SuSE-ControlCenter-Personal %suse_update_desktop_file gnome-sound-panel X-SuSE-ControlCenter-Hardware %suse_update_desktop_file gnome-universal-access-panel X-SuSE-ControlCenter-Personal %suse_update_desktop_file gnome-user-accounts-panel X-SuSE-ControlCenter-Personal %if %{with_wacom} %suse_update_desktop_file gnome-wacom-panel X-SuSE-ControlCenter-Hardware %endif %fdupes %{buildroot} %clean rm -rf %{buildroot} %post %glib2_gsettings_schema_post %desktop_database_post %icon_theme_cache_post %postun %glib2_gsettings_schema_postun %desktop_database_postun %icon_theme_cache_postun %files %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog NEWS README %{_bindir}/* %exclude %{_datadir}/applications/gnome-color-panel.desktop %{_datadir}/applications/*.desktop %{_datadir}/bash-completion/completions/gnome-control-center %{_datadir}/dbus-1/services/org.gnome.ControlCenter.service %{_datadir}/dbus-1/services/org.gnome.ControlCenter.SearchProvider.service %{_datadir}/gnome-control-center/ %dir %{_datadir}/gnome-shell/ %dir %{_datadir}/gnome-shell/search-providers/ %{_datadir}/gnome-shell/search-providers/gnome-control-center-search-provider.ini %{_datadir}/icons/hicolor/*/*/*.png %{_datadir}/icons/hicolor/*/*/*.svg %{_datadir}/polkit-1/actions/org.gnome.controlcenter.datetime.policy %{_datadir}/polkit-1/actions/org.gnome.controlcenter.remote-login-helper.policy %{_datadir}/polkit-1/actions/org.gnome.controlcenter.user-accounts.policy # We do not package gnome-control-center.rules #{_datadir}/polkit-1/rules.d/gnome-control-center.rules %dir %{_datadir}/sounds/gnome %dir %{_datadir}/sounds/gnome/default %dir %{_datadir}/sounds/gnome/default/alerts %{_datadir}/sounds/gnome/default/alerts/*.ogg %{_libexecdir}/cc-remote-login-helper %{_libexecdir}/gnome-control-center-search-provider %{_mandir}/man1/gnome-control-center.1%{?ext_man} %files lang -f %{name}-2.0.lang %files user-faces %defattr (-, root, root) %{_datadir}/pixmaps/faces/ %files color %defattr(-,root,root) %{_datadir}/applications/gnome-color-panel.desktop %files devel %defattr (-, root, root) %{_datadir}/pkgconfig/gnome-keybindings.pc %changelog ++++++ gcc-private-connection.patch ++++++ >From b72c423a344f2e455c17978bab76eb29912d0b5b Mon Sep 17 00:00:00 2001 From: Gary Ching-Pang Lin <chingp...@gmail.com> Date: Tue, 14 Feb 2012 18:41:51 +0800 Subject: [PATCH] network: create private connections if the user if not authorized This commit checks whether the polkit policy allows the user to create a system connection without authentication. If not, create private connections. https://bugzilla.gnome.org/show_bug.cgi?id=646187 --- configure.ac | 3 ++- panels/network/cc-network-panel.c | 40 ++++++++++++++++++++++++++++++++++++-- panels/network/cc-network-panel.h | 2 ++ panels/network/net-device-mobile.c | 5 ++++- panels/network/net-device-wifi.c | 25 +++++++++++++++++++++++- panels/network/network-dialogs.c | 22 +++++++++++++++++++-- panels/network/network-dialogs.h | 6 ++++-- 7 files changed, 94 insertions(+), 9 deletions(-) Index: gnome-control-center-3.13.90/configure.ac =================================================================== --- gnome-control-center-3.13.90.orig/configure.ac +++ gnome-control-center-3.13.90/configure.ac @@ -137,7 +137,8 @@ PKG_CHECK_MODULES(KEYBOARD_PANEL, $COMMO PKG_CHECK_MODULES(MEDIA_PANEL, $COMMON_MODULES) PKG_CHECK_MODULES(MOUSE_PANEL, $COMMON_MODULES xi >= 1.2 gnome-settings-daemon >= $GSD_REQUIRED_VERSION x11) -PKG_CHECK_MODULES(NETWORK_PANEL, $COMMON_MODULES gmodule-2.0) +PKG_CHECK_MODULES(NETWORK_PANEL, $COMMON_MODULES gmodule-2.0 + polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION) PKG_CHECK_MODULES(NOTIFICATIONS_PANEL, $COMMON_MODULES) PKG_CHECK_MODULES(ONLINE_ACCOUNTS_PANEL, $COMMON_MODULES goa-1.0 goa-backend-1.0 >= $GOA_REQUIRED_VERSION) PKG_CHECK_MODULES(POWER_PANEL, $COMMON_MODULES upower-glib >= 0.99.0 Index: gnome-control-center-3.13.90/panels/network/cc-network-panel.c =================================================================== --- gnome-control-center-3.13.90.orig/panels/network/cc-network-panel.c +++ gnome-control-center-3.13.90/panels/network/cc-network-panel.c @@ -23,6 +23,8 @@ #include <glib/gi18n.h> #include <stdlib.h> +#include <polkit/polkit.h> + #include "cc-network-panel.h" #include "cc-network-resources.h" @@ -86,6 +88,9 @@ struct _CcNetworkPanelPrivate gchar *arg_device; gchar *arg_access_point; gboolean operation_done; + + /* polkit authentication check */ + gboolean default_private; }; enum { @@ -582,13 +587,13 @@ handle_argv_for_device (CcNetworkPanel * return TRUE; } else if (g_strcmp0 (nm_object_get_path (NM_OBJECT (device)), priv->arg_device) == 0) { if (priv->arg_operation == OPERATION_CONNECT_MOBILE) { - cc_network_panel_connect_to_3g_network (toplevel, priv->client, priv->remote_settings, device); + cc_network_panel_connect_to_3g_network (toplevel, priv->client, priv->remote_settings, device, priv->default_private); reset_command_line_args (panel); /* done */ select_tree_iter (panel, iter); return TRUE; } else if (priv->arg_operation == OPERATION_CONNECT_8021X) { - cc_network_panel_connect_to_8021x_network (toplevel, priv->client, priv->remote_settings, device, priv->arg_access_point); + cc_network_panel_connect_to_8021x_network (toplevel, priv->client, priv->remote_settings, device, priv->arg_access_point, priv->default_private); reset_command_line_args (panel); /* done */ select_tree_iter (panel, iter); return TRUE; @@ -1400,6 +1405,9 @@ cc_network_panel_init (CcNetworkPanel *p GtkWidget *widget; GtkWidget *toplevel; GDBusConnection *system_bus; + PolkitSubject *subject; + PolkitAuthority *authority; + PolkitAuthorizationResult *result; panel->priv = NETWORK_PANEL_PRIVATE (panel); g_resources_register (cc_network_get_resource ()); @@ -1503,4 +1511,32 @@ cc_network_panel_init (CcNetworkPanel *p widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, "vbox1")); gtk_container_add (GTK_CONTAINER (panel), widget); + + /* check the polkit authentication */ + panel->priv->default_private = TRUE; + 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 ("Failed to check polkit authorization! %s", + error->message); + g_clear_error (&error); + } else if (polkit_authorization_result_get_is_authorized (result)) { + panel->priv->default_private = FALSE; + } + g_object_unref (result); + g_object_unref (authority); + g_object_unref (subject); +} + +gboolean +cc_network_panel_get_default_private (CcNetworkPanel *panel) +{ + return panel->priv->default_private; } Index: gnome-control-center-3.13.90/panels/network/cc-network-panel.h =================================================================== --- gnome-control-center-3.13.90.orig/panels/network/cc-network-panel.h +++ gnome-control-center-3.13.90/panels/network/cc-network-panel.h @@ -66,6 +66,8 @@ GType cc_network_panel_get_type (void) G GPtrArray *cc_network_panel_get_devices (CcNetworkPanel *panel); +gboolean cc_network_panel_get_default_private (CcNetworkPanel *panel); + G_END_DECLS #endif /* _CC_NETWORK_PANEL_H */ Index: gnome-control-center-3.13.90/panels/network/net-device-mobile.c =================================================================== --- gnome-control-center-3.13.90.orig/panels/network/net-device-mobile.c +++ gnome-control-center-3.13.90/panels/network/net-device-mobile.c @@ -141,12 +141,15 @@ mobile_connection_changed_cb (GtkComboBo COLUMN_ID, &object_path, -1); if (g_strcmp0 (object_path, NULL) == 0) { + gboolean default_private; panel = net_object_get_panel (NET_OBJECT (device_mobile)); toplevel = cc_shell_get_toplevel (cc_panel_get_shell (CC_PANEL (panel))); + default_private = cc_network_panel_get_default_private (panel); cc_network_panel_connect_to_3g_network (toplevel, client, remote_settings, - device); + device, + default_private); goto out; } Index: gnome-control-center-3.13.90/panels/network/net-device-wifi.c =================================================================== --- gnome-control-center-3.13.90.orig/panels/network/net-device-wifi.c +++ gnome-control-center-3.13.90/panels/network/net-device-wifi.c @@ -697,6 +697,9 @@ wireless_try_to_connect (NetDeviceWifi * NMDevice *device; NMSettingWireless *setting_wireless; NMClient *client; + CcNetworkPanel *panel; + NMConnection *partial = NULL; + NMSettingConnection *setting_con; if (device_wifi->priv->updating_device) goto out; @@ -748,10 +751,21 @@ wireless_try_to_connect (NetDeviceWifi * /* create one, as it's missing */ g_debug ("no existing connection found for %s, creating", ssid_target); + panel = net_object_get_panel (NET_OBJECT (device_wifi)); + if (cc_network_panel_get_default_private (panel)) { + partial = nm_connection_new (); + setting_con = (NMSettingConnection *)nm_setting_connection_new (); + nm_connection_add_setting (partial, NM_SETTING (setting_con)); + nm_setting_connection_add_permission (setting_con, + "user", + g_get_user_name(), + NULL); + } + if (!is_8021x (device, ap_object_path)) { g_debug ("no existing connection found for %s, creating and activating one", ssid_target); nm_client_add_and_activate_connection (client, - NULL, + partial, device, ap_object_path, connection_add_activate_cb, device_wifi); } else { @@ -995,6 +1009,7 @@ start_shared_connection (NetDeviceWifi * NMClient *client; const char *mode; NMDeviceWifiCapabilities caps; + CcNetworkPanel *panel; device = net_device_get_nm_device (NET_DEVICE (device_wifi)); g_assert (nm_device_get_device_type (device) == NM_DEVICE_TYPE_WIFI); @@ -1031,6 +1046,14 @@ start_shared_connection (NetDeviceWifi * "id", "Hotspot", "autoconnect", FALSE, NULL); + + panel = net_object_get_panel (NET_OBJECT (device_wifi)); + if (cc_network_panel_get_default_private (panel)) + nm_setting_connection_add_permission (sc, + "user", + g_get_user_name(), + NULL); + nm_connection_add_setting (c, (NMSetting *)sc); sw = (NMSettingWireless *)nm_setting_wireless_new (); Index: gnome-control-center-3.13.90/panels/network/network-dialogs.c =================================================================== --- gnome-control-center-3.13.90.orig/panels/network/network-dialogs.c +++ gnome-control-center-3.13.90/panels/network/network-dialogs.c @@ -41,6 +41,7 @@ typedef struct { NMClient *client; NMRemoteSettings *settings; NMDevice *device; + gboolean default_private; } MobileDialogClosure; static void @@ -262,7 +263,8 @@ cc_network_panel_connect_to_8021x_networ NMClient *client, NMRemoteSettings *settings, NMDevice *device, - const gchar *arg_access_point) + const gchar *arg_access_point, + gboolean default_private) { NMConnection *connection; NMSettingConnection *s_con; @@ -300,6 +302,8 @@ cc_network_panel_connect_to_8021x_networ uuid = nm_utils_uuid_generate (); g_object_set (s_con, NM_SETTING_CONNECTION_UUID, uuid, NULL); g_free (uuid); + if (default_private) + nm_setting_connection_add_permission (s_con, "user", g_get_user_name(), NULL); nm_connection_add_setting (connection, NM_SETTING (s_con)); s_wifi = (NMSettingWireless *) nm_setting_wireless_new (); @@ -357,6 +361,7 @@ cdma_mobile_wizard_done (NMAMobileWizard if (!canceled && method) { NMSetting *setting; char *uuid, *id; + MobileDialogClosure *closure = user_data; if (method->devtype != NM_DEVICE_MODEM_CAPABILITY_CDMA_EVDO) { g_warning ("Unexpected device type (not CDMA)."); @@ -400,6 +405,11 @@ cdma_mobile_wizard_done (NMAMobileWizard NULL); g_free (uuid); g_free (id); + if (closure->default_private) + nm_setting_connection_add_permission ((NMSettingConnection *)setting, + "user", + g_get_user_name(), + NULL); nm_connection_add_setting (connection, setting); } @@ -419,6 +429,7 @@ gsm_mobile_wizard_done (NMAMobileWizard if (!canceled && method) { NMSetting *setting; char *uuid, *id; + MobileDialogClosure *closure = user_data; if (method->devtype != NM_DEVICE_MODEM_CAPABILITY_GSM_UMTS) { g_warning ("Unexpected device type (not GSM)."); @@ -463,6 +474,11 @@ gsm_mobile_wizard_done (NMAMobileWizard NULL); g_free (uuid); g_free (id); + if (closure->default_private) + nm_setting_connection_add_permission ((NMSettingConnection *)setting, + "user", + g_get_user_name(), + NULL); nm_connection_add_setting (connection, setting); } @@ -494,7 +510,8 @@ void cc_network_panel_connect_to_3g_network (GtkWidget *toplevel, NMClient *client, NMRemoteSettings *settings, - NMDevice *device) + NMDevice *device, + gboolean default_private) { MobileDialogClosure *closure; NMAMobileWizard *wizard; @@ -512,6 +529,7 @@ cc_network_panel_connect_to_3g_network ( closure->client = g_object_ref (client); closure->settings = g_object_ref (settings); closure->device = g_object_ref (device); + closure->default_private = default_private; caps = nm_device_modem_get_current_capabilities (NM_DEVICE_MODEM (device)); if (caps & NM_DEVICE_MODEM_CAPABILITY_GSM_UMTS) { Index: gnome-control-center-3.13.90/panels/network/network-dialogs.h =================================================================== --- gnome-control-center-3.13.90.orig/panels/network/network-dialogs.h +++ gnome-control-center-3.13.90/panels/network/network-dialogs.h @@ -38,11 +38,13 @@ void cc_network_panel_connect_to_8021x_n NMClient *client, NMRemoteSettings *settings, NMDevice *device, - const gchar *arg_access_point); + const gchar *arg_access_point, + gboolean default_private); void cc_network_panel_connect_to_3g_network (GtkWidget *toplevel, NMClient *client, NMRemoteSettings *settings, - NMDevice *device); + NMDevice *device, + gboolean default_private); #endif /* _NETWORK_DIALOGS_H */ ++++++ gnome-control-center-allow-extra-tools-in-shell.patch ++++++ >From fbdfce5abb17cae9a1b9b8df8f3c5f87af345789 Mon Sep 17 00:00:00 2001 From: Felix Zhang <fezh...@suse.com> Date: Thu, 12 Jun 2014 20:17:05 +0800 Subject: [PATCH] allow extra tools in shell --- shell/cc-panel-loader.c | 61 ++++++++++++++++++++++++++++++------------------- shell/cc-window.c | 43 ++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 23 deletions(-) Index: gnome-control-center-3.13.4/shell/cc-panel-loader.c =================================================================== --- gnome-control-center-3.13.4.orig/shell/cc-panel-loader.c +++ gnome-control-center-3.13.4/shell/cc-panel-loader.c @@ -73,35 +73,42 @@ static struct { GType (*get_type)(void); #endif } all_panels[] = { - PANEL_TYPE("background", cc_background_panel_get_type ), + PANEL_TYPE("background", cc_background_panel_get_type ), #ifdef BUILD_BLUETOOTH - PANEL_TYPE("bluetooth", cc_bluetooth_panel_get_type ), + PANEL_TYPE("bluetooth", cc_bluetooth_panel_get_type ), #endif - PANEL_TYPE("color", cc_color_panel_get_type ), - PANEL_TYPE("datetime", cc_date_time_panel_get_type ), - PANEL_TYPE("display", cc_display_panel_get_type ), - PANEL_TYPE("info", cc_info_panel_get_type ), - PANEL_TYPE("keyboard", cc_keyboard_panel_get_type ), - PANEL_TYPE("mouse", cc_mouse_panel_get_type ), + PANEL_TYPE("color", cc_color_panel_get_type ), + PANEL_TYPE("datetime", cc_date_time_panel_get_type ), + PANEL_TYPE("display", cc_display_panel_get_type ), + PANEL_TYPE("info", cc_info_panel_get_type ), + PANEL_TYPE("keyboard", cc_keyboard_panel_get_type ), + PANEL_TYPE("mouse", cc_mouse_panel_get_type ), #ifdef BUILD_NETWORK - PANEL_TYPE("network", cc_network_panel_get_type ), + PANEL_TYPE("network", cc_network_panel_get_type ), #endif - PANEL_TYPE("notifications", cc_notifications_panel_get_type), - PANEL_TYPE("online-accounts", cc_goa_panel_get_type ), - PANEL_TYPE("power", cc_power_panel_get_type ), + PANEL_TYPE("notifications", cc_notifications_panel_get_type), + PANEL_TYPE("online-accounts", cc_goa_panel_get_type ), + PANEL_TYPE("power", cc_power_panel_get_type ), #ifdef BUILD_PRINTERS - PANEL_TYPE("printers", cc_printers_panel_get_type ), + PANEL_TYPE("printers", cc_printers_panel_get_type ), #endif - PANEL_TYPE("privacy", cc_privacy_panel_get_type ), - PANEL_TYPE("region", cc_region_panel_get_type ), - PANEL_TYPE("search", cc_search_panel_get_type ), - PANEL_TYPE("sharing", cc_sharing_panel_get_type ), - PANEL_TYPE("sound", cc_sound_panel_get_type ), - PANEL_TYPE("universal-access", cc_ua_panel_get_type ), - PANEL_TYPE("user-accounts", cc_user_panel_get_type ), + PANEL_TYPE("privacy", cc_privacy_panel_get_type ), + PANEL_TYPE("region", cc_region_panel_get_type ), + PANEL_TYPE("search", cc_search_panel_get_type ), + PANEL_TYPE("sharing", cc_sharing_panel_get_type ), + PANEL_TYPE("sound", cc_sound_panel_get_type ), + PANEL_TYPE("universal-access", cc_ua_panel_get_type ), + PANEL_TYPE("user-accounts", cc_user_panel_get_type ), #ifdef BUILD_WACOM - PANEL_TYPE("wacom", cc_wacom_panel_get_type ), + PANEL_TYPE("wacom", cc_wacom_panel_get_type ), #endif + PANEL_TYPE("ca.desrt.dconf-editor", NULL ), + PANEL_TYPE("alacarte", NULL ), + PANEL_TYPE("gpk-prefs", NULL ), + PANEL_TYPE("tracker-preferences", NULL ), + PANEL_TYPE("itweb-settings", NULL ), + PANEL_TYPE("gnome-tweak-tool", NULL ), + PANEL_TYPE("YaST", NULL ), }; GList * @@ -158,10 +165,22 @@ cc_panel_loader_fill_model (CcShellModel { GDesktopAppInfo *app; char *desktop_name; + char *name; int category; +#ifndef CC_PANEL_LOADER_NO_GTYPES + if (all_panels[i].get_type == NULL) { + desktop_name = g_strconcat (all_panels[i].name, + ".desktop", NULL); + name = g_strconcat ("suse-",all_panels[i].name, NULL); + } + else +#endif + { desktop_name = g_strconcat ("gnome-", all_panels[i].name, "-panel.desktop", NULL); + name = g_strconcat (all_panels[i].name, NULL); + } app = g_desktop_app_info_new (desktop_name); g_free (desktop_name); @@ -176,7 +195,7 @@ cc_panel_loader_fill_model (CcShellModel if (G_UNLIKELY (category < 0)) continue; - cc_shell_model_add_item (model, category, G_APP_INFO (app), all_panels[i].name); + cc_shell_model_add_item (model, category, G_APP_INFO (app), name); g_object_unref (app); } } @@ -226,6 +245,8 @@ cc_panel_loader_add_option_groups (GOpti { GType (*get_type) (void); get_type = all_panels[i].get_type; + if (get_type == NULL) + continue; GOptionGroup *group = cc_panel_get_option_group (get_type(), builder); if (group == NULL) continue; Index: gnome-control-center-3.13.4/shell/cc-window.c =================================================================== --- gnome-control-center-3.13.4.orig/shell/cc-window.c +++ gnome-control-center-3.13.4/shell/cc-window.c @@ -140,6 +140,41 @@ get_icon_name_from_g_icon (GIcon *gicon) return NULL; } +static void +suse_activate_desktop (const gchar *id) +{ + GDesktopAppInfo *appinfo; + const gchar *desktop_file; + GdkScreen *screen; + GdkDisplay *display; + GdkAppLaunchContext *context; + GError *error; + + desktop_file = g_strconcat ("/usr/share/applications/", id, + ".desktop", NULL); + appinfo = g_desktop_app_info_new_from_filename (desktop_file); + if (appinfo == NULL) + return; + + screen = gdk_screen_get_default(); + display = gdk_screen_get_display (screen); + context = gdk_display_get_app_launch_context (display); + gdk_app_launch_context_set_screen (context, screen); + gdk_app_launch_context_set_timestamp (context, gtk_get_current_event_time ()); + + error = NULL; + g_app_info_launch_uris (G_APP_INFO (appinfo), NULL, + (GAppLaunchContext *) context, + &error); + if (error) { + g_printerr ("Could not launch '%s': %s\n", id, error->message); + g_clear_error (&error); + } + + g_object_unref (context); + g_object_unref (appinfo); +} + static gboolean activate_panel (CcWindow *self, const gchar *id, @@ -153,6 +188,12 @@ activate_panel (CcWindow *self if (!id) return FALSE; + if (g_str_has_prefix(id, "suse-")) + { + /* we strip suse- prefix from the id we got to retrieve .desktop on disk */ + suse_activate_desktop (id+strlen("suse-")); + return FALSE; + } priv->current_panel = GTK_WIDGET (cc_panel_loader_load_by_name (CC_SHELL (self), id, parameters)); cc_shell_set_active_panel (CC_SHELL (self), CC_PANEL (priv->current_panel)); @@ -1498,7 +1539,7 @@ create_header (CcWindow *self) gtk_button_set_image (GTK_BUTTON (priv->search_button), image); gtk_widget_set_valign (priv->search_button, GTK_ALIGN_CENTER); gtk_style_context_add_class (gtk_widget_get_style_context (priv->search_button), - "image-button"); + "image-button"); gtk_header_bar_pack_end (GTK_HEADER_BAR (priv->header), priv->search_button); priv->top_right_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); ++++++ gnome-control-center-follow-polkit-permissions-for-tz.patch ++++++ Index: gnome-control-center-3.14.1/panels/datetime/cc-datetime-panel.c =================================================================== --- gnome-control-center-3.14.1.orig/panels/datetime/cc-datetime-panel.c +++ gnome-control-center-3.14.1/panels/datetime/cc-datetime-panel.c @@ -59,6 +59,7 @@ enum { #define W(x) (GtkWidget*) gtk_builder_get_object (priv->builder, x) #define DATETIME_PERMISSION "org.gnome.controlcenter.datetime.configure" +#define DATETIME_TZ_PERMISSION "org.freedesktop.timedate1.set-timezone" #define CLOCK_SCHEMA "org.gnome.desktop.interface" #define CLOCK_FORMAT_KEY "clock-format" @@ -99,6 +100,7 @@ struct _CcDateTimePanelPrivate GCancellable *cancellable; GPermission *permission; + GPermission *tz_permission; }; static void update_time (CcDateTimePanel *self); @@ -133,6 +135,7 @@ cc_date_time_panel_dispose (GObject *obj g_clear_object (&priv->clock_tracker); g_clear_object (&priv->dtm); g_clear_object (&priv->permission); + g_clear_object (&priv->tz_permission); g_clear_object (&priv->clock_settings); g_clear_object (&priv->datetime_settings); g_clear_object (&priv->filechooser_settings); @@ -777,24 +780,24 @@ on_permission_changed (GPermission *perm gpointer data) { CcDateTimePanelPrivate *priv = CC_DATE_TIME_PANEL (data)->priv; - gboolean allowed, auto_timezone, using_ntp; + gboolean allowed, tz_allowed, auto_timezone, using_ntp; allowed = (priv->permission == NULL || g_permission_get_allowed (priv->permission)); + tz_allowed = (priv->tz_permission == NULL || g_permission_get_allowed (priv->tz_permission)); using_ntp = gtk_switch_get_active (GTK_SWITCH (W("network_time_switch"))); auto_timezone = gtk_switch_get_active (GTK_SWITCH (W("auto_timezone_switch"))); /* All the widgets but the lock button and the 24h setting */ gtk_widget_set_sensitive (W("auto-datetime-row"), allowed); - gtk_widget_set_sensitive (W("auto-timezone-row"), allowed); + gtk_widget_set_sensitive (W("auto-timezone-row"), allowed || tz_allowed); gtk_widget_set_sensitive (W("datetime-button"), allowed && !using_ntp); - gtk_widget_set_sensitive (W("timezone-button"), allowed && !auto_timezone); + gtk_widget_set_sensitive (W("timezone-button"), (allowed || tz_allowed) && !auto_timezone); /* Hide the subdialogs if we no longer have permissions */ if (!allowed) - { gtk_widget_hide (GTK_WIDGET (W ("datetime-dialog"))); + if (!allowed && !tz_allowed) gtk_widget_hide (GTK_WIDGET (W ("timezone-dialog"))); - } } static void @@ -886,6 +889,25 @@ run_dialog (CcDateTimePanel *self, } static gboolean +tz_switch_to_row_transform_func (GBinding *binding, + const GValue *source_value, + GValue *target_value, + CcDateTimePanel *self) +{ + CcDateTimePanelPrivate *priv = self->priv; + gboolean active; + gboolean allowed; + + active = g_value_get_boolean (source_value); + allowed = (priv->permission == NULL || g_permission_get_allowed (priv->permission)) || + (priv->tz_permission == NULL || g_permission_get_allowed (priv->tz_permission)); + + g_value_set_boolean (target_value, !active && allowed); + + return TRUE; +} + +static gboolean switch_to_row_transform_func (GBinding *binding, const GValue *source_value, GValue *target_value, @@ -1241,6 +1263,7 @@ cc_date_time_panel_init (CcDateTimePanel /* add the lock button */ priv->permission = polkit_permission_new_sync (DATETIME_PERMISSION, NULL, NULL, NULL); + priv->tz_permission = polkit_permission_new_sync (DATETIME_TZ_PERMISSION, NULL, NULL, NULL); if (priv->permission != NULL) { g_signal_connect (priv->permission, "notify", @@ -1278,9 +1301,11 @@ cc_date_time_panel_init (CcDateTimePanel gtk_widget_set_visible (W ("auto-datetime-row"), is_ntp_available (self)); /* Timezone settings */ - bind_switch_to_row (self, - W ("auto_timezone_switch"), - W ("timezone-button")); + g_object_bind_property_full (W ("auto_timezone_switch"), "active", + W ("timezone-button"), "sensitive", + G_BINDING_SYNC_CREATE, + (GBindingTransformFunc) tz_switch_to_row_transform_func, + NULL, self, NULL); priv->datetime_settings = g_settings_new (DATETIME_SCHEMA); g_settings_bind (priv->datetime_settings, AUTO_TIMEZONE_KEY, ++++++ gnome-control-center-hide-firewall-zone-entry.patch ++++++ >From 889ce41e87872377b6f728fadd0e0ffaa927406a Mon Sep 17 00:00:00 2001 From: Felix Zhang <fezh...@suse.com> Date: Thu, 11 Sep 2014 16:07:43 +0800 Subject: [PATCH] bnc894394 hide firewall zone entry The Firewall Zone entry is only activated if firewalld package is installed. As openSUSE doesn't have this package, the entry never works. So removing the entry to avoid confusions. --- panels/network/connection-editor/ethernet-page.ui | 4 ++-- panels/network/connection-editor/vpn-page.ui | 4 ++-- panels/network/connection-editor/wifi-page.ui | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/panels/network/connection-editor/ethernet-page.ui b/panels/network/connection-editor/ethernet-page.ui index 59d1a35..f6f604e 100644 --- a/panels/network/connection-editor/ethernet-page.ui +++ b/panels/network/connection-editor/ethernet-page.ui @@ -264,7 +264,7 @@ </child> <child> <object class="GtkLabel" id="heading_zone"> - <property name="visible">True</property> + <property name="visible">False</property> <property name="can_focus">False</property> <property name="xalign">1</property> <property name="label" translatable="yes">Firewall _Zone</property> @@ -280,7 +280,7 @@ </child> <child> <object class="GtkComboBoxText" id="combo_zone"> - <property name="visible">True</property> + <property name="visible">False</property> <property name="can_focus">False</property> <property name="entry_text_column">0</property> <property name="id_column">1</property> diff --git a/panels/network/connection-editor/vpn-page.ui b/panels/network/connection-editor/vpn-page.ui index dea9a4a..c0f5e92 100644 --- a/panels/network/connection-editor/vpn-page.ui +++ b/panels/network/connection-editor/vpn-page.ui @@ -57,7 +57,7 @@ <property name="spacing">6</property> <child> <object class="GtkLabel" id="heading_zone"> - <property name="visible">True</property> + <property name="visible">False</property> <property name="can_focus">False</property> <property name="label" translatable="yes">Firewall _Zone</property> <property name="use_underline">True</property> @@ -71,7 +71,7 @@ </child> <child> <object class="GtkComboBoxText" id="combo_zone"> - <property name="visible">True</property> + <property name="visible">False</property> <property name="can_focus">False</property> <property name="entry_text_column">0</property> <property name="id_column">1</property> diff --git a/panels/network/connection-editor/wifi-page.ui b/panels/network/connection-editor/wifi-page.ui index 3986015..bb154da 100644 --- a/panels/network/connection-editor/wifi-page.ui +++ b/panels/network/connection-editor/wifi-page.ui @@ -174,7 +174,7 @@ </child> <child> <object class="GtkLabel" id="heading_zone"> - <property name="visible">True</property> + <property name="visible">False</property> <property name="can_focus">False</property> <property name="xalign">1</property> <property name="label" translatable="yes">Firewall _Zone</property> @@ -190,7 +190,7 @@ </child> <child> <object class="GtkComboBoxText" id="combo_zone"> - <property name="visible">True</property> + <property name="visible">False</property> <property name="can_focus">False</property> <property name="entry_text_column">0</property> <property name="id_column">1</property> -- 1.7.12.4 ++++++ gnome-control-center-probe-radius-server-cert.patch ++++++ >From 3c69e431953944a62ae3be6f075263cdafa70e47 Mon Sep 17 00:00:00 2001 From: Gary Ching-Pang Lin <chingp...@gmail.com> Date: Tue, 1 Oct 2013 18:41:03 +0800 Subject: [PATCH] Probe the certificate of the RADIUS server --- panels/network/network-dialogs.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/panels/network/network-dialogs.c b/panels/network/network-dialogs.c index b2f8376..7e7035c 100644 --- a/panels/network/network-dialogs.c +++ b/panels/network/network-dialogs.c @@ -153,6 +153,11 @@ wireless_dialog_response_cb (GtkDialog *foo, g_assert (connection); g_assert (device); + if (nma_wifi_dialog_need_cert_probe (dialog)) { + nma_wifi_dialog_probe_cert (dialog); + return; + } + /* Find a similar connection and use that instead */ all = nm_remote_settings_list_connections (closure->settings); for (iter = all; iter; iter = g_slist_next (iter)) { -- 1.8.1.4 ++++++ gnome-control-center-system-proxy-configuration.patch ++++++ >From 067cc33aba6eeaffd4efe1d8a8e838aa1a89476a Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero <feder...@novell.com> Date: Mon, 25 May 2009 14:38:52 -0500 Subject: [PATCH] Integrate openSUSE's network proxy configuration with GNOME's. This is documented in http://en.opensuse.org/GNOME/Proxy_configuration We basically add a "use system settings" proxy mode. When it is active, gnome-settings-daemon will read /etc/sysconfig/proxy and mirror its values into GNOME's GConf space. Signed-off-by: Federico Mena Quintero <feder...@novell.com> --- capplets/network/gnome-network-properties.c | 164 +++++++++++++++++------ capplets/network/gnome-network-properties.glade | 24 +++- 2 files changed, 143 insertions(+), 45 deletions(-) diff --git a/capplets/network/gnome-network-properties.c b/capplets/network/gnome-network-properties.c index f6ea0e6..0ea9945 100644 --- a/capplets/network/gnome-network-properties.c +++ b/capplets/network/gnome-network-properties.c @@ -32,19 +32,11 @@ #include "capplet-util.h" #include "gconf-property-editor.h" -enum ProxyMode -{ - PROXYMODE_NONE, - PROXYMODE_MANUAL, - PROXYMODE_AUTO -}; - -static GEnumValue proxytype_values[] = { - { PROXYMODE_NONE, "PROXYMODE_NONE", "none"}, - { PROXYMODE_MANUAL, "PROXYMODE_MANUAL", "manual"}, - { PROXYMODE_AUTO, "PROXYMODE_AUTO", "auto"}, - { 0, NULL, NULL } -}; +/* Novell extension */ +#define KEY_USE_SYSTEM_SETTINGS "/system/proxy/use_system_settings" /* string */ +#define VAL_USE_SYSTEM_SETTINGS_ONLY_IF_NOT_SET "only_if_mode_not_set" +#define VAL_USE_SYSTEM_SETTINGS_SYSTEM_VALUES "system_values" +#define VAL_USE_SYSTEM_SETTINGS_USER_VALUES "user_values" enum { COL_NAME, @@ -1019,36 +1011,58 @@ extract_proxy_host (GConfPropertyEditor *peditor, const GConfValue *orig) } static void +set_sensitivity_based_on_active_radiobutton (GladeXML *dialog, GtkWidget *active_radio) +{ + gboolean manual_box_sensitive, auto_box_sensitive; + + g_assert (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (active_radio))); + + manual_box_sensitive = auto_box_sensitive = FALSE; + + if (active_radio == WID ("manual_radiobutton")) + manual_box_sensitive = TRUE; + else if (active_radio == WID ("auto_radiobutton")) + auto_box_sensitive = TRUE; + + gtk_widget_set_sensitive (WID ("manual_box"), manual_box_sensitive); + gtk_widget_set_sensitive (WID ("same_proxy_checkbutton"), manual_box_sensitive); + gtk_widget_set_sensitive (WID ("auto_box"), auto_box_sensitive); +} + +static void proxy_mode_radiobutton_clicked_cb (GtkWidget *widget, GladeXML *dialog) { - GSList *mode_group; - int mode; - GConfClient *client; + GConfClient *client; - if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget))) - return; - - mode_group = g_slist_copy (gtk_radio_button_get_group - (GTK_RADIO_BUTTON (WID ("none_radiobutton")))); - mode_group = g_slist_reverse (mode_group); - mode = g_slist_index (mode_group, widget); - g_slist_free (mode_group); - - gtk_widget_set_sensitive (WID ("manual_box"), - mode == PROXYMODE_MANUAL); - gtk_widget_set_sensitive (WID ("same_proxy_checkbutton"), - mode == PROXYMODE_MANUAL); - gtk_widget_set_sensitive (WID ("auto_box"), - mode == PROXYMODE_AUTO); + if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget))) + return; + client = gconf_client_get_default (); - gconf_client_set_bool (client, USE_PROXY_KEY, - mode == PROXYMODE_AUTO || mode == PROXYMODE_MANUAL, NULL); - g_object_unref (client); + + if (widget == WID ("system_radiobutton")) { + gconf_client_set_string (client, KEY_USE_SYSTEM_SETTINGS, VAL_USE_SYSTEM_SETTINGS_SYSTEM_VALUES, NULL); + } else if (widget == WID ("none_radiobutton")) { + gconf_client_set_string (client, KEY_USE_SYSTEM_SETTINGS, VAL_USE_SYSTEM_SETTINGS_USER_VALUES, NULL); + gconf_client_set_string (client, PROXY_MODE_KEY, "none", NULL); + gconf_client_set_bool (client, USE_PROXY_KEY, FALSE, NULL); + } else if (widget == WID ("manual_radiobutton")) { + gconf_client_set_string (client, KEY_USE_SYSTEM_SETTINGS, VAL_USE_SYSTEM_SETTINGS_USER_VALUES, NULL); + gconf_client_set_string (client, PROXY_MODE_KEY, "manual", NULL); + gconf_client_set_bool (client, USE_PROXY_KEY, TRUE, NULL); + } else if (widget == WID ("auto_radiobutton")) { + gconf_client_set_string (client, KEY_USE_SYSTEM_SETTINGS, VAL_USE_SYSTEM_SETTINGS_USER_VALUES, NULL); + gconf_client_set_string (client, PROXY_MODE_KEY, "auto", NULL); + gconf_client_set_bool (client, USE_PROXY_KEY, TRUE, NULL); + } + + set_sensitivity_based_on_active_radiobutton (dialog, widget); + + g_object_unref (client); } static void -connect_sensitivity_signals (GladeXML *dialog, GSList *mode_group) +connect_mode_radiobuttons (GladeXML *dialog, GSList *mode_group) { for (; mode_group != NULL; mode_group = mode_group->next) { @@ -1058,20 +1072,85 @@ connect_sensitivity_signals (GladeXML *dialog, GSList *mode_group) } } +static GtkWidget * +get_radio_for_mode (GladeXML *dialog, const char *mode_str) +{ + if (!mode_str) + return WID ("none_radiobutton"); + else if (strcmp (mode_str, "none") == 0) + return WID ("none_radiobutton"); + else if (strcmp (mode_str, "manual") == 0) + return WID ("manual_radiobutton"); + else if (strcmp (mode_str, "auto") == 0) + return WID ("auto_radiobutton"); + else + return WID ("none_radiobutton"); +} + +static void +mode_set_initial_value (GladeXML *dialog, GConfClient *client) +{ + char *use_system_settings; + GConfValue *mode_value; + gboolean use_system_if_mode_not_set; + gboolean use_mode; + GtkWidget *radiobutton; + + radiobutton = NULL; + + use_system_settings = gconf_client_get_string (client, KEY_USE_SYSTEM_SETTINGS, NULL); + mode_value = gconf_client_get_without_default (client, PROXY_MODE_KEY, NULL); + + use_system_if_mode_not_set = FALSE; + use_mode = FALSE; + + if (!use_system_settings) + use_system_if_mode_not_set = TRUE; + else { + if (strcmp (use_system_settings, VAL_USE_SYSTEM_SETTINGS_ONLY_IF_NOT_SET) == 0) + use_system_if_mode_not_set = TRUE; + else if (strcmp (use_system_settings, VAL_USE_SYSTEM_SETTINGS_SYSTEM_VALUES) == 0) + radiobutton = WID ("system_radiobutton"); + else if (strcmp (use_system_settings, VAL_USE_SYSTEM_SETTINGS_USER_VALUES) == 0) + use_mode = TRUE; + + g_free (use_system_settings); + } + + if (use_system_if_mode_not_set) { + if (mode_value) + use_mode = TRUE; + else + radiobutton = WID ("system_radiobutton"); + } + + if (use_mode) { + if (!mode_value || mode_value->type != GCONF_VALUE_STRING) + radiobutton = WID ("none_radiobutton"); + else + radiobutton = get_radio_for_mode (dialog, gconf_value_get_string (mode_value)); + } + + if (radiobutton) { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radiobutton), TRUE); + set_sensitivity_based_on_active_radiobutton (dialog, radiobutton); + } + + if (mode_value) + gconf_value_free (mode_value); +} + static void setup_dialog (GladeXML *dialog) { GConfPropertyEditor *peditor; GSList *mode_group; - GType mode_type = 0; GConfClient *client; gint port_value; GtkWidget *location_box; GtkCellRenderer *location_renderer; GtkListStore *store; - mode_type = g_enum_register_static ("NetworkPreferencesProxyType", - proxytype_values); /* There's a bug in peditors that cause them to not initialize the entry * correctly. */ @@ -1100,17 +1179,16 @@ setup_dialog (GladeXML *dialog) "style", COL_STYLE, NULL); /* Hackety hack */ + gtk_label_set_use_markup (GTK_LABEL (GTK_BIN (WID ("system_radiobutton"))->child), TRUE); gtk_label_set_use_markup (GTK_LABEL (GTK_BIN (WID ("none_radiobutton"))->child), TRUE); gtk_label_set_use_markup (GTK_LABEL (GTK_BIN (WID ("manual_radiobutton"))->child), TRUE); gtk_label_set_use_markup (GTK_LABEL (GTK_BIN (WID ("auto_radiobutton"))->child), TRUE); /* Mode */ - mode_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (WID ("none_radiobutton"))); - connect_sensitivity_signals (dialog, mode_group); + mode_set_initial_value (dialog, client); + mode_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (WID ("system_radiobutton"))); + connect_mode_radiobuttons (dialog, mode_group); - peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_select_radio_with_enum (NULL, - PROXY_MODE_KEY, mode_group, mode_type, - TRUE, NULL)); /* Use same proxy for all protocols */ peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_boolean (NULL, diff --git a/capplets/network/gnome-network-properties.glade b/capplets/network/gnome-network-properties.glade index 656acb5..1147f17 100644 --- a/capplets/network/gnome-network-properties.glade +++ b/capplets/network/gnome-network-properties.glade @@ -130,6 +130,25 @@ <property name="spacing">18</property> <child> + <widget class="GtkRadioButton" id="system_radiobutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes"><b>Use the s_ystem's proxy settings</b></property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> <widget class="GtkRadioButton" id="none_radiobutton"> <property name="visible">True</property> <property name="can_focus">True</property> @@ -140,6 +159,7 @@ <property name="active">False</property> <property name="inconsistent">False</property> <property name="draw_indicator">True</property> + <property name="group">system_radiobutton</property> </widget> <packing> <property name="padding">0</property> @@ -171,7 +191,7 @@ <property name="active">False</property> <property name="inconsistent">False</property> <property name="draw_indicator">True</property> - <property name="group">none_radiobutton</property> + <property name="group">system_radiobutton</property> </widget> <packing> <property name="padding">0</property> @@ -714,7 +734,7 @@ <property name="active">False</property> <property name="inconsistent">False</property> <property name="draw_indicator">True</property> - <property name="group">none_radiobutton</property> + <property name="group">system_radiobutton</property> </widget> <packing> <property name="padding">0</property> -- 1.6.0.2 -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org