Just for consistency, make settings related stuff live under the
org.freedesktop.NetworkManager namespace, rather than its own
org.freedesktop.NetworkManagerSettings namespace. Renames are done for
DBus interface names, DBus object paths, and polkit actions.
Remove the org.freedesktop.NetworkManagerSystemSettings bus name and
have everybody talk to org.freedesktop.NetworkManager. Now that we have
a single settings service that's embedded in the main daemon, we don't
need separate names anymore.
Much as with nm-remote-settings and nm-remote-settings-system, the
removal of user settings services means there is no more need for
separate interfaces for user and system settings services.
In libnm-glib, this commit merges everything in
nm-settings-system-interface into nm-settings-interface. Alongside with
that, we merge everything in the
org.freedesktop.NetworkManagerSettings.System DBus interface into
org.freedesktop.NetworkManagerSettings.
Remove code related to "connection scope" and such. Later, we will also
do lots of code flattening and simplification that's possible now that
user settings are gone.
Instead of doing this in every device subclass, do it in the NMDevice
superclass. nm_device_can_activate() already did the same logic that
each of the subclass device_state_changed() handlers were doing to
figure out whether they could do the transition from unavailable
to disconnected, so just use that in NMDevice and kill lots of code.
Mark activation requests that contain connections to be assumed,
and use that to short-circuit various parts of the activation
process by not touching various device attributes, since they
are already set up. Also ensure the device is not deactivated
when it initially becomes managed, because that would kill the
connection we are about to assume.
* include/NetworkManager.h
introspection/nm-device.xml
- Add device state change reason for carrier changes
* src/nm-device-ethernet.c
- (set_carrier): use the carrier change reason when changing device
state in response to carrier changes
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4203 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* include/NetworkManager.h
introspection/nm-device.xml
include/NetworkManagerVPN.h
- Add a few more state reasons for the device deactivated state
* src/nm-device-interface.c
src/nm-device-interface.h
- (nm_device_interface_deactivate): add a 'reason' argument
* src/nm-device.c
src/nm-device.h
- (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
- (nm_device_state_changed): pass the state change reason to
nm_device_take_down()
- (nm_device_set_managed): take a 'reason' argument, and pass it along
to the state change function
* src/nm-manager.c
src/nm-manager.h
- (remove_one_device, handle_unmanaged_devices, sync_devices,
impl_manager_sleep): pass a reason code to nm_device_set_managed()
- (nm_manager_deactivate_connection): add a 'reason' argument and pass
something reasonable along to VPN deactivation
* src/vpn-manager/nm-vpn-manager.c
src/vpn-manager/nm-vpn-manager.h
- (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
pass that along to nm_vpn_connection_disconnect()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4174 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Add support for VPN subnet gateways (bgo #549196)
* include/NetworkManager.h
- Add key for internal VPN subnet gateway
* src/vpn-manager/nm-vpn-connection.c
- (ip_address_to_string): return a const from a static buffer so we
don't leak a lot of strings
- (print_vpn_config): print internal VPN gateway as well
- (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
VPN service too
- (nm_vpn_connection_get_ip4_internal_gateway): new function
* src/NetworkManagerSystem.c
src/NetworkManagerSystem.h
- (nm_system_device_replace_default_ip4_route): split into two, one for
VPN connections and one for normal devices
- (replace_default_ip4_route): break out route stuff into its own function
- (nm_system_replace_default_ip4_route_vpn,
nm_system_replace_default_ip4_route): simplify by having two cases,
one for VPNs and one for normal devices
* src/NetworkManagerPolicy.c
- (update_routing_and_dns): simplify, use split default route replacement
functions
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4169 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
"Failure" signal from VPN plugins, store the failure reason, and
use it when the state is changed to failure.
* introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
description.
* include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
reason to the end of the list to not break the API.
(NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
so it can be shared by plugins and daemon.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4088 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* include/NetworkManager.h
introspection/nm-device.xml
- Add a "missing firmware" device state reason
* src/NetworkManagerSystem.c
src/NetworkManagerSystem.h
- (nm_system_device_set_up_down): add a no_firmware argument
- (nm_system_device_set_up_down_with_iface): if the result of setting
IFF_UP is ENOENT, that almost always means missing firmware
* src/backends/NetworkManagerGeneric.c
src/nm-device-ethernet.c
src/nm-device-private.h
src/nm-device-wifi.c
src/nm-device.c
src/nm-device.h
src/nm-hso-gsm-device.c
src/vpn-manager/nm-vpn-connection.c
- Pass no_firmware along; check it where appropriate
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3983 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* include/NetworkManager.h
- Add the DHCP4Config D-Bus interface
* libnm-glib/Makefile.am
libnm-glib/nm-dhcp4-config.c
libnm-glib/nm-dhcp4-config.h
- Handle DHCP4 config objects exported by NM over D-Bus
* libnm-glib/nm-device.c
libnm-glib/nm-device.h
- Add a 'dhcp4-config' property
* libnm-glib/libnm-glib-test.c
- Print out DHCP4 config for devices
- Fix some crashes when no connections are active
* src/nm-device-interface.c
src/nm-device.c
src/nm-dhcp4-config.c
src/nm-dhcp4-config.h
- Treat dhcp4-config object as an object path at the D-Bus interface so
that when it doesn't exist we can proxy it as "/" which dbus-glib
doesn't let us do when the property type is G_TYPE_OBJECT
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3905 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Modify the NMDevice::state-changed signal to include the previous state
and reason. Enables the applet to provide more information why device
activation failed.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3819 4912f4e0-d625-0410-9fb7-b9a5a253dbdc