Update to match NM svn3924 vpn setting changes; verify options better;
return more informative errors on VPN launch failures; change some config
options (tap-dev, proto-tcp, connection-type) to better reflect their
usage.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3926 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Merge the vpn-properties setting with the vpn setting since it was pointless
to keep both of them around. Convert the vpn 'data' hash table to a hash
of string:string (instead of string:variant) so that system settings plugins
can have an easier time dealing with the arbitrary key/value pairs.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3924 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Merge the vpn-properties setting with the vpn setting since it was pointless
to keep both of them around. Convert the vpn 'data' hash table to a hash
of string:string (instead of string:variant) so that system settings plugins
can have an easier time dealing with the arbitrary key/value pairs.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3923 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-glib/nm-vpn-plugin.c
- (nm_vpn_plugin_connect): stop plugin after connection failure from
an idle handler so the Connect reply gets delivered before the
stop StateChanged signal
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3920 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-ip4-config.c
- (get_property): use common ip4 address/route conversion functions
- (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
copy the new route here, not take ownership
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3919 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/dhcp-manager/nm-dhcp-manager.c
- (nm_dhcp_manager_get_ip4_config): fix regression which caused
mis-handling of DHCP responses that returned more than one router
(found by Grant Williamson)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3908 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* callouts/nm-dispatcher-action.c
- (nm_dispatcher_action): grab device path and create the device; pass
the device's DHCP4 config to script caller
- (dispatch_scripts): dump the DHCP4 config to the environment of called
scripts
* libnm-glib/nm-dhcp4-config.c
libnm-glib/nm-dhcp4-config.h
- (nm_dhcp4_config_get_options): expose
- (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3907 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
* libnm-glib/nm-ip4-config.c
libnm-glib/nm-ip4-config.h
- Add 'routes' property
* libnm-util/nm-setting-vpn.c
libnm-util/nm-setting-vpn.h
- Remove 'routes' property
* libnm-util/nm-setting-ip4-config.c
libnm-util/nm-setting-ip4-config.h
- 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
- Add 'ignore-auto-routes' property
- 'routes' exposed over D-Bus is now an array of array of uint (4) to
accomodate route metrics
- 'routes' exposed in C is now a list of NMSettingIP4Route structures
* libnm-util/nm-utils.c
libnm-util/nm-utils.h
- Add helpers for marshalling IP4 routes
* src/NetworkManagerUtils.c
- (nm_utils_merge_ip4_config): handle property renames and new route
structure
* src/NetworkManagerSystem.c
- (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
nm_system_vpn_device_set_from_ip4_config): respect route metrics
* src/dhcp-manager/nm-dhcp-manager.c
- (nm_dhcp_manager_get_ip4_config): handle new route structure
* system-settings/plugins/ifcfg-fedora/reader.c
system-settings/plugins/ifcfg-fedora/writer.c
- Handle routes separately from addresses now that routes have a different
format
* introspection/nm-ip4-config.xml
src/nm-ip4-config.c
src/nm-ip4-config.h
- Rename internal routing functions
- 'static-routes' renamed to 'routes'
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3898 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Handle multiple concurrent PPP connections.
* src/ppp-manager/nm-ppp-manager.c
src/ppp-manager/nm-ppp-manager.h
- (constructor): only PPP Manager request bus name once; each
NMPPPManager object gets a unique object path
- (nm_ppp_manager_class_init, get_property, set_property,
nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
at construct time
- (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
remove timeout until PPP manager gets an IP4 config
- (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
the plugin can call back to this specific PPP manager instance
* src/nm-device-ethernet.c
src/nm-serial-device.c
- Pass parent device in nm_ppp_manager_new()
* src/nm-gsm-device.c
src/nm-cdma-device.c
- (device_state_changed): don't close serial device on NEED_AUTH
state changed, that's not a failure case like the rest are
* src/ppp-manager/nm-pppd-plugin.c
- (nm_ip_up): always use index 0 into the ipcp options, because NM always
binds one interface to any pppd process, thus the correct index
is always 0; send PHASE_DEAD on error to alert NM immediately of
problems; try harder to get a peer address in spite of pppd
- (plugin_init): use 'ipparam' as the object path back to our specific
PPP manager instance
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3894 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/ppp-manager/nm-ppp-manager.c
- (impl_ppp_manager_need_secrets): rework to handle secrets better;
since the GSM and CDMA settings now implement need_secrets, we can
rely on them to do the right thing. Where secrets are not required,
just pass empty strings back to the pppd plugin.
- (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
- (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
on successful IP4 config receipt
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3893 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting-cdma.c
libnm-util/nm-setting-gsm.c
- (verify): validate username & password if they exist
- (need_secrets): if username given, require a password too
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3892 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/dnsmasq-manager/nm-dnsmasq-manager.c
- (create_dm_cmd_line): really don't listen on lo, despite what the
manpage says about --listen-address without --interface
(bgo #546033)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3890 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-glib/nm-device.c
- (proxy_get_string): util function for querying a HAL property
- (get_ancestor_device): split out from get_product_and_vendor()
- (get_product_and_vendor): simplify; get more accurate pid & vid info
from PCI devices by querying subsys properties
- (nm_device_update_description): simplify
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3883 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting-ip4-config.c
libnm-util/nm-setting-ip4-config.h
- Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
'autoip' -> 'link-local'. VPN & PPP connections can also have IPv4
settings, and they don't necessarily use DHCP.
* src/NetworkManagerPolicy.c
src/nm-device.c
system-settings/plugins/ifcfg-fedora/reader.c
system-settings/plugins/ifcfg-suse/parser.c
- Fixup for method changes
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3882 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-activation-request.c
src/vpn-manager/nm-vpn-connection.c
- Correct GetSecrets D-Bus pending call usage; the GetSecrets call
itself should be attached to the activation request or the VPN
connection, not the NMConnection object, since the call is not
expected to live as long as the NMConnection itself
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3880 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-wifi.c
- (real_act_stage2_config): fix issue where association would continue
even though secrets were needed; 'goto out' was in wrong scope and
result of handle_auth_or_fail() should have been dumped directly to
'ret' to ensure that the association was postponed until secrets
are available
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3879 4912f4e0-d625-0410-9fb7-b9a5a253dbdc