* system-settings/plugins/keyfile/plugin.c
- (update_connection_settings): update connection manually, since
nm_exported_connection_update() does authentication
- (dir_changed): update_connection_settings() doesn't need to return
an error
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4057 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-openvpn-service.c
- Clean up management socket and connect timer when the plugin stops;
becuase of this openvpn's output needs to be processed from the
child watch callback otherwise it gets lost when the management
socket is cleaned up during the state change to STOPPED.
- Fix parsing of private key auth failure
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4056 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* common-gnome/keyring-helpers.c
common-gnome/keyring-helpers.h
- Add defines for secret tags in the keyring
- (keyring_helpers_delete_secret): delete a secret from the keyring for
a given connection UUID
- (keyring_helpers_save_secret): vpn service is always going to be
vpnc's
* auth-dialog/main.c
- (get_secrets): use secret tag #defines; vpn service will always be
vpnc's
* properties/nm-vpnc.c
properties/nm-vpnc.h
- (fill_vpn_passwords): fill secrets in the UI if the connection is
system-scope
- (update_connection): fill secrets if the connection is system-scope
so they can be saved with the system settings service
- (save_secrets, delete_connection): implement
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4053 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-glib/nm-vpn-plugin-ui-interface.c
libnm-glib/nm-vpn-plugin-ui-interface.h
libnm-glib/libnm_glib_vpn.ver
- (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
should clean up resources related to the connection (like keyring
secrets)
- (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
should save user-scope secrets (like to the keyring)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4052 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from Alexander Sack <asac@ubuntu.com>
* libnm-util/crypto_gnutls.c
libnm-util/crypto_nss.c
- (crypto_init, crypto_deinit): just use a boolean instead of a refcount
* libnm-util/nm-utils.c
libnm-util/nm-utils.h
libnm-util/libnm-util.ver
- (nm_utils_init): initialize libnm-util
- (nm_utils_deinit): de-initialize libnm-util and clean up resources
* libnm-util/nm-setting-8021x.c
- (nm_setting_802_1x_class_init): init libnm-util when needed
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4047 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-openvpn-service.c
- (nm_openvpn_start_openvpn_binary): send --script-security=2 to allow
the plugin's scripts to be run. Requires OpenVPN 2.1-rc9 or later,
distros with older versions should patch this out.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4041 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-glib/nm-device-wifi.c
- (access_point_removed_proxy): clean up the active access point too
just in case the active ap changed signal didn't come through yet
- (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4040 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-ip4-config.c
src/nm-ip4-config.h
- (nm_ip4_config_new): don't export over D-Bus here
- (nm_ip4_config_export): new function; export the config over D-Bus
- (nm_ip4_config_is_exported): new function
* src/nm-device.c
- (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
objects by balancing the IP4Config constructor; the device holds
a reference to the IP4Config already
- (nm_device_set_ip4_config): export the IP4Config when needed
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4037 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting-vpn.c
libnm-util/nm-setting-vpn.h
- Split VPN secrets from VPN data so that settings services can actually
figure out that they are secrets and store them accordingly
* system-settings/plugins/keyfile/nm-keyfile-connection.c
system-settings/plugins/keyfile/reader.c
system-settings/plugins/keyfile/reader.h
system-settings/plugins/keyfile/writer.c
- Store VPN secrets separately from VPN data so that they can be fetched
on demand
- Implement the get_secrets() call so that (a) secrets don't leak out
to unprivileged callers, and (b) secrets can be sent to privileged
callers when needed
* vpn-daemons/vpnc/src/nm-vpnc-service.c
- Handle split VPN secrets
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4031 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* common-gnome/Makefile.am
common-gnome/keyring-helpers.c
common-gnome/keyring-helpers.h
Makefile.am
- Split out keyring read/write routines to common library
* configure.in
- Don't require libgnomeui anymore
* auth-dialog/main.c
- (get_secrets): use common keyring helpers
- (main): remove usage of libgnomeui
* auth-dialog/gnome-two-password-dialog.c
- (gnome_two_password_dialog_get_password,
gnome_two_password_dialog_get_password_secondary): use gnome-keyring
secure memory
* properties/nm-vpnc.c
properties/nm-vpnc-dialog.glade
properties/Makefile.am
- Grab VPN passwords from the keyring if available and allow them to
be edited
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4030 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* auth-dialog/main.c
- (get_secrets): don't gtk_widget_show_all() because that exposes
widgets that were supposed to be hidden
- (main): don't segfault on missing passwords (like hitting Cancel)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4026 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* auth-dialog/main.c
- (get_secrets): don't gtk_widget_show_all() because that exposes
widgets that were supposed to be hidden
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4025 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* auth-dialog/main.c
- (get_secrets): don't gtk_widget_show_all() because that exposes
widgets that were supposed to be hidden
- (main): don't segfault on missing passwords (like hitting Cancel)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4024 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Ensure zombie children get cleaned up. To get notifications when children
die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
that requires calling waitpid() yourself if you've removed the child watch
handler before the process has actually died, which NM needs to do in a few
places. So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
cleans up after the child when required. Should fix problems trying to
activate mobile broadband connections after a previous failure.
* src/dhcp-manager/nm-dhcp-dhclient.c
src/dhcp-manager/nm-dhcp-dhcpcd.c
- Use G_SPAWN_DO_NOT_REAP_CHILD
* src/dhcp-manager/nm-dhcp-manager.c
- (nm_dhcp_device_destroy): ensure child is cleaned up
- (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
block on child quitting, since the non-blocking functionality was
never actually used
* src/dnsmasq-manager/nm-dnsmasq-manager.c
- (dm_watch_cb): child is already reaped here
- (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
* src/nm-device.c
- (aipd_cleanup): block until child is dead
* src/named-manager/nm-named-manager.c
- (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
event bothering to watch the child
* src/ppp-manager/nm-ppp-manager.c
- (ppp_watch_cb): child is already reaped here
- (ensure_killed, nm_ppp_manager_stop): block until child is dead
* src/vpn-manager/nm-vpn-service.c
- (vpn_service_watch_cb): child is already reaped here
- (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
status of the child is actually tracked
- (ensure_killed, finalize): block until child is dead
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4020 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* system-settings/plugins/keyfile/nm-keyfile-connection.c
- (update): Update filename of the connection if the connection id
was changed
* system-settings/plugins/keyfile/plugin.c
- (dir_changed): first pass at handling connection renames correctly
* system-settings/plugins/keyfile/writer.c
system-settings/plugins/keyfile/writer.h
- (write_connection): replace '/' with '*' when writing out the filename
from the connection id
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4018 4912f4e0-d625-0410-9fb7-b9a5a253dbdc