Commit Graph

7207 Commits

Author SHA1 Message Date
Dan Williams
3f6e3a2a15 2008-05-23 Dan Williams <dcbw@redhat.com>
Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>

	* src/NetworkManagerSystem.c
		- (nm_system_device_flush_ip4_addresses_with_iface): implement with
			libnl

	* src/backends/NetworkManagerArch.c
	  src/backends/NetworkManagerDebian.c
	  src/backends/NetworkManagerFrugalware.c
	  src/backends/NetworkManagerGentoo.c
	  src/backends/NetworkManagerMandriva.c
	  src/backends/NetworkManagerPaldo.c
	  src/backends/NetworkManagerRedHat.c
	  src/backends/NetworkManagerSlackware.c
	  src/backends/NetworkManagerSuSE.c
		- (nm_system_device_flush_ip4_addresses,
		   nm_system_device_flush_ip4_addresses_with_iface): remove

	* src/backends/NetworkManagerGeneric.c
		- (nm_generic_device_flush_ip4_addresses,
		   nm_generic_device_flush_ip4_addresses_with_iface): remove




git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3687 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-23 10:40:00 +00:00
Dan Williams
97f0ffdb42 2008-05-23 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-settings-verify.c
		- Switch 'bssid' from bytes to keyword type
		- (validate_type_keyword): allow NULL keyword lists

	* src/supplicant-manager/nm-supplicant-config.c
		- (nm_supplicant_config_add_setting_wireless): convert the bssid from
			a byte array to string form, which is what the supplicant expects



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3686 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-23 10:23:17 +00:00
Tambet Ingo
0ada5a4263 2008-05-23 Tambet Ingo <tambet@gmail.com>
Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
	information received from DHCP.

	* libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
	to make it possible to ignore the DNS information (both servers and
	searches) returned by DHCP server.

	* src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
	name servers and searches if "ignore_dhcp_dns" is set.

	* src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
	(nm_ip4_config_reset_searches): Implement.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3685 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-23 07:35:43 +00:00
Dan Williams
6cc399d126 2008-05-22 Dan Williams <dcbw@redhat.com>
Remove anything mDNS related.  This is better done from a distro-specific
	dispatcher script.  Plus, any distro using avahi doesn't need to restart
	avahi, since avahi can handle interface changes just fine using netlink.

	* configure.in
		- Remove --with-mdns-provider

	* src/NetworkManagerPolicy.c
		- (global_state_changed): don't restart the mdns provider

	* src/NetworkManagerSystem.h
	  src/backends/NetworkManagerArch.c
	  src/backends/NetworkManagerDebian.c
	  src/backends/NetworkManagerFrugalware.c
	  src/backends/NetworkManagerGentoo.c
	  src/backends/NetworkManagerMandriva.c
	  src/backends/NetworkManagerPaldo.c
	  src/backends/NetworkManagerRedHat.c
	  src/backends/NetworkManagerSlackware.c
	  src/backends/NetworkManagerSuSE.c
		- (nm_system_restart_mdns_responder): remove

	* src/backends/NetworkManagerGeneric.c
	  src/backends/NetworkManagerGeneric.h
		- (nm_generic_restart_mdns_responder): remove



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3684 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-22 17:22:53 +00:00
Tambet Ingo
55f9c72b42 2008-05-22 Tambet Ingo <tambet@gmail.com>
* src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
	anymore, do it right away.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3681 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-22 14:27:40 +00:00
Tambet Ingo
79dd84f727 2008-05-22 Tambet Ingo <tambet@gmail.com>
Don't remove all devices on waking up, sync with HAL.

	* src/nm-manager.c (nm_manager_udi_is_managed): Implement.
	(sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
	(hal_manager_hal_reappeared_cb): Just call sync_devices.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3680 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-22 14:22:31 +00:00
Tambet Ingo
a8096e1ab3 2008-05-22 Tambet Ingo <tambet@gmail.com>
* src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
	serial device open when we're not connecting or connected.

	* src/nm-cdma-device.c (device_state_changed): Ditto.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3679 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-22 12:36:07 +00:00
Dan Williams
192fe93b3a 2008-05-16 Dan Williams <dcbw@redhat.com>
* src/nm-device-802-11-wireless.c
		- (nm_device_802_11_wireless_set_enabled): request a scan after enabling
			wireless



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3672 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-16 23:15:28 +00:00
Dan Williams
9d2475da06 2008-05-14 Dan Williams <dcbw@redhat.com>
Fix Linus' bug in rh #134886

	* src/nm-device-802-3-ethernet.c
		- (constructor): request initial carrier state

	* src/nm-netlink-monitor.c
		- (nm_netlink_monitor_request_status): schedule emission of carrier
			signals after refilling the link cache.  Because the refill is a 
			synchronous operation, the normal message hander won't get called
			since libnl has already consumed the messages.
		- (deferred_emit_carrier_state): emit carrier states from an idle handler



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3669 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-14 14:01:59 +00:00
Dan Williams
2a2b75cc8b 2008-05-14 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerSystem.c
		- (nm_system_device_is_up_with_iface): clean up



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3668 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-14 13:59:12 +00:00
Dan Williams
493f808b01 2008-05-13 Dan Williams <dcbw@redhat.com>
Fix refcounting issues over sleep/wake when a VPN connection was active that
	caused NM to try registering an object path for a device upon wake that was
	the same as an already registered object path.

	* src/nm-device.c
		- (nm_device_take_down): properly handle cases where the device is
			no longer active but was just active, and therefore must be
			deactivated.  When a device moves to unmanaged mode, this function
			previously would not deactivate the device, because the state was
			already unmanaged by the time this function was called.

	* src/vpn-manager/nm-vpn-connection.c
		- (device_state_changed): properly handle multiple devices states in
			which the device is now deactivated.  Code previously didn't handle
			transitions to the UNAVAILABLE (like rfkill or carrier off) and
			UNMANAGED states.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3667 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-14 02:56:01 +00:00
Dan Williams
aa44d70038 2008-05-13 Dan Williams <dcbw@redhat.com>
* src/nm-device-private.h
	  src/nm-device.c
		- (nm_device_hw_bring_up, nm_device_hw_take_down): export

	* src/nm-device-802-11-wireless.c
		- (nm_device_802_11_wireless_set_enabled): take devices up
			and down as appropriate for the rfkill state



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3666 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-14 01:55:49 +00:00
Dan Williams
e01dfa43b3 2008-05-08 Dan Williams <dcbw@redhat.com>
Patch from Markus Becker <mab@comnets.uni-bremen.de>

	* src/nm-gsm-device.c
	  src/nm-cdma-device.c
		- (real_get_best_auto_connection): implement; allow autoconnection
			to GSM & CDMA devices



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3645 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-08 18:13:28 +00:00
Tambet Ingo
97668fc7d6 2008-05-07 Tambet Ingo <tambet@gmail.com>
* src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
	for multiple IP addresses.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3639 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-07 09:36:55 +00:00
Dan Williams
51503b2d5f 2008-05-06 Dan Williams <dcbw@redhat.com>
* src/dhcp-manager/nm-dhcp-manager.c
		- (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
			NMIP4Config to support multiple IP addresses

	* src/NetworkManagerUtils.c
		- (nm_utils_merge_ip4_config): update for multiple IP addresses

	* src/nm-ip4-config.c
	  src/nm-ip4-config.h
		- Store a list of IPv4 address/netmask/gateway tuples
		- (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
		   nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
		   nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
		   nm_ip4_config_set_address): remove
		- (nm_ip4_config_take_address, nm_ip4_config_add_address,
		   nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
			new functions; handle multiple IPv4 addresses

	* src/nm-device.c
	  src/ppp-manager/nm-ppp-manager.c
	  src/vpn-manager/nm-vpn-connection.c
	  src/NetworkManagerPolicy.c
	  test/nm-tool.c
	  libnm-glib/libnm-glib-test.c
		- update for changes to NMIP4Config for multiple IPv4 addresses

	* src/NetworkManagerSystem.c
		- (nm_system_device_set_ip4_route): don't add the route if any address
			is on the same subnet as the destination
		- (check_one_address): ignore the exact match, just match family and
			interface index
		- (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
			an interface
		- (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
		- (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()

	* introspection/nm-ip4-config.xml
		- Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
		- Add 'addresses' property which is an array of (uuu) tuples of
			address/netmask/gateway

	* libnm-util/nm-setting-ip4-config.c
		- (set_property): use ip-address <-> GValue converters from nm-utils.c

	* libnm-glib/nm-ip4-config.c
	  libnm-glib/nm-ip4-config.h
		- Handle D-Bus interface changes to support multiple IP addresses



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3637 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-06 21:53:22 +00:00
Dan Williams
302114db36 2008-05-02 Dan Williams <dcbw@redhat.com>
* src/nm-serial-device.c
		- (find_terminator): don't compare the whole line, just the size of the
			terminator, since some modems put stuff after the terminator, like
			"CONNECT 9600"



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3628 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-02 15:59:44 +00:00
Dan Williams
8531f91acc Don't segfault on systems using older HAL modem capabilities
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3625 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-01 15:27:15 +00:00
Dan Williams
9c5d7e916b 2008-04-30 Dan Williams <dcbw@redhat.com>
* src/nm-gsm-device.c
		- (enter_pin): fix setting name passed to applets when asking for a GSM
			PIN or PUK



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3623 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-30 19:19:50 +00:00
Dan Williams
1813185dcc 2008-04-30 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (nm_manager_error_get_type): remove erroneous NULL enum from table



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3622 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-30 15:39:11 +00:00
Dan Williams
ff16205dcb 2008-04-30 Dan Williams <dcbw@redhat.com>
* src/nm-device-802-3-ethernet.c
	  src/nm-device-802-11-wireless.c
		- (real_is_up): return true instead of chaining up to unimplemented
			parent method



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3621 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-30 13:48:35 +00:00
Dan Williams
a12c9d6667 2008-04-30 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerSystem.c
	  src/NetworkManagerSystem.h
		- (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
			functions to check device flags for IFF_UP

	* src/nm-serial-device.c
		- (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
			implement is_up

	* src/nm-device-802-3-ethernet.c
	  src/nm-device-802-11-wireless.c
		- (real_hw_is_up): call nm_system_device_is_up()

	* src/nm-device.c
		- (real_hw_is_up): move to nm_system_device_is_up_with_iface()
		- (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
			does not implement



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3620 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-30 12:54:00 +00:00
Dan Williams
079f2bd560 2008-04-29 Dan Williams <dcbw@redhat.com>
Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.

	* marshallers/nm-marshal.list
		- Add marshaller

	* src/NetworkManager.c
		- (main): let the NMManager handle the NMHalManager

	* src/nm-hal-manager.c
	  src/nm-hal-manager.h
		- convert to a GObject, and emit singals when stuff changes.  Let the
			NMManager handle the signals, instead of the NMHalManager calling
			into the NMManager.  

	* src/nm-manager.c
	  src/nm-manager.h
		- (remove_one_device): consolidate device removals here
		- (dispose): use remove_one_device()
		- (nm_manager_get_device_by_udi): make static
		- (deferred_hal_manager_query_devices): idle handler to query the HAL
			manager for devices at startup or wakeup time
		- (nm_manager_new): create and monitor the HAL manager
		- (hal_manager_udi_added_cb): new function; do what
			nm_manager_add_device() used to do when signalled by the hal manager
		- (hal_manager_udi_removed_cb): new function; do what
			nm_manager_remove_device() used to do when signalled by the hal
			manager
		- (hal_manager_rfkill_changed_cb): handle rfkill changes from the
			hal manager
		- (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
			in our device list that aren't known to HAL
		- (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
			see comments on nm-hal-manager.c::nm_manager_state_changed() a few
			commits ago
		- (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
		   nm_manager_activation_pending, nm_manager_wireless_enabled,
		   nm_manager_wireless_hardware_enabled,
		   nm_manager_set_wireless_hardware_enabled): remove, unused



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3619 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-29 23:03:00 +00:00
Dan Williams
9be3804c7f 2008-04-28 Dan Williams <dcbw@redhat.com>
Fix the device up/down ambiguities.  Up/down state used to be a
	conglomeration of hardware state (IFF_UP) and any device-specific things
	(supplicant, periodic timers, etc) that the device used to indicate
	readiness.  Unfortunately, if the hardware was already IFF_UP for some
	reason, then the device specific stuff wouldn't get run, and the device
	would be stuck.

	* src/nm-device.c
	  src/nm-device.h
		- Create hw_is_up, hw_bring_up, and hw_take_down
		- Rename bring_down -> take_down
		- (real_hw_is_up): check interface flags for IFF_UP
		- (nm_device_hw_is_up): let subclasses figure out their own HW state
		- (nm_device_is_up): make static; only used locally
		- (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
			if the device is already up; if the device isn't up, bring it up
		- (nm_device_hw_take_down): just take down hardware
		- (nm_device_bring_up): bring up HW first, then device specific stuff
		- (nm_device_take_down): always deactivate device when called; always
			try to take hardware down too
		- (nm_device_state_changed): take device down when entering unmanaged
			state from a higher state

	* src/nm-device-802-11-wireless.c
		- (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
			check IFF_UP really
		- (real_take_down, supplicant_iface_state_cb_handler, 
		   supplicant_iface_connection_state_cb_handler,
		   supplicant_mgr_state_cb_handler): fix some messages

	* src/nm-device-802-3-ethernet.c
		- (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
			check IFF_UP really



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3618 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-29 15:36:29 +00:00
Dan Williams
982abb9f79 2008-04-28 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
	  src/nm-manager.h
		- (nm_manager_error_get_type): add new error
		- (nm_manager_remove_device): don't bother taking down the device here,
			the state change from unmanaging the device will do it
		- (impl_manager_sleep): move nm_manager_sleep() here since nothing else
			uses it; when going to sleep, just unmanage the device instead of
			taking it down, because stuff will cleaned up correctly when the
			device gets unmanaged



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3617 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-29 15:19:31 +00:00
Dan Williams
fe72d85cf1 2008-04-28 Dan Williams <dcbw@redhat.com>
* src/nm-hal-manager.c
		- (add_initial_devices): convert to a GSourceFunc prototype
		- (nm_manager_state_changed): when coming out of sleep, punt the
			device re-addition to an idle handler to let D-Bus events go out
			first, fixing a potential dbus-glib assert if the old device was
			not yet disposed (due to references held while emitting the D-Bus
			signals) but the new device was found, because the mainloop didn't
			run between signal emission and add_initial_devices()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3616 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-29 15:15:42 +00:00
Dan Williams
ccdbc475e6 Add some debugging to help isolate an eth device startup race
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3614 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-28 00:54:46 +00:00
Dan Williams
083c36b7b1 2008-04-27 Dan Williams <dcbw@redhat.com>
* src/nm-device-802-11-wireless.c
		- (link_timeout_cb): don't ask for secrets when disconnected during
			association/authentication phase, drivers are still just too crappy



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3613 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-28 00:26:25 +00:00
Dan Williams
74e56e23e8 2008-04-27 Dan Williams <dcbw@redhat.com>
* callouts/Makefile.am
	  callouts/nm-dispatcher-action.c
	  callouts/nm-dispatcher-action.h
	  callouts/nm-dispatcher.conf
	  callouts/nm-dispatcher.xml
	  callouts/org.freedesktop.nm_dispatcher.service
		- Re-implement the dispatcher as a system-bus activated service that
			NM calls on-demand, rather than an always running daemon

	* src/Makefile.am
		- Add callouts dir to includes to pick up dispatcher defines

	* src/nm-device.c
		- (nm_device_state_changed): call dispatcher on device activated/
			deactivated

	* src/vpn-manager/nm-vpn-connection.c
		- (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
			go up and down

	* src/NetworkManagerUtils.c
	  src/NetworkManagerUtils.h
		- (nm_utils_call_dispatcher): helper to call dispatcher



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3607 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-27 14:30:06 +00:00
Dan Williams
d3ef5db187 Unmanage the device when removing it to match init procedure
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3606 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-27 13:15:42 +00:00
Dan Williams
8365f38c6d Fix return value
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3605 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-27 13:14:59 +00:00
Dan Williams
394ef96603 Remove unneeded includes
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3604 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-27 12:25:08 +00:00
Dan Williams
6fbc29779a 2008-04-27 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerUtils.c
	  src/NetworkManagerUtils.h
		- remove unneeded includes
		- (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
		   nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
		   nm_timeval_cmp, nm_timeval_add): remove, unused
		- clean up formatting
		- (nm_spawn_process): de-uglify

	* src/nm-device-802-11-wireless.c
		- (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3603 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-27 12:23:17 +00:00
Dan Williams
d42eed2b81 2008-04-25 Dan Williams <dcbw@redhat.com>
Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>

	* src/NetworkManagerSystem.c
		- (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3598 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-25 19:35:27 +00:00
Dan Williams
ad96e82e8b 2008-04-25 Dan Williams <dcbw@redhat.com>
Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>

	* src/NetworkManagerSystem.c
		- (nm_system_device_replace_default_ip4_route): new function; a libnl
			implementation of nm_system_device_replace_default_route()

	* src/NetworkManagerPolicy.c
		- (update_default_route): use nm_system_device_replace_default_ip4_route()

	* src/backends/NetworkManagerArch.c
	  src/backends/NetworkManagerDebian.c
	  src/backends/NetworkManagerFrugalware.c
	  src/backends/NetworkManagerGeneric.c
	  src/backends/NetworkManagerGeneric.h
	  src/backends/NetworkManagerGentoo.c
	  src/backends/NetworkManagerMandriva.c
	  src/backends/NetworkManagerPaldo.c
	  src/backends/NetworkManagerRedHat.c
	  src/backends/NetworkManagerSlackware.c
	  src/backends/NetworkManagerSuSE.c
		- (nm_system_device_replace_default_route): remove



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3597 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-25 19:30:05 +00:00
Dan Williams
00461c208b 2008-04-25 Dan Williams <dcbw@redhat.com>
Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>

	* src/NetworkManagerSystem.c
		- (validate_ip4_route): remove; use nl_addr_parse() instead
		- (nm_system_device_add_ip4_route_via_device_with_iface): new function,
			replace nm_system_device_add_route_via_device_with_iface() in the
			backends

	* src/backends/NetworkManagerArch.c
	  src/backends/NetworkManagerDebian.c
	  src/backends/NetworkManagerFrugalware.c
	  src/backends/NetworkManagerGeneric.c
	  src/backends/NetworkManagerGeneric.h
	  src/backends/NetworkManagerGentoo.c
	  src/backends/NetworkManagerMandriva.c
	  src/backends/NetworkManagerPaldo.c
	  src/backends/NetworkManagerRedHat.c
	  src/backends/NetworkManagerSlackware.c
	  src/backends/NetworkManagerSuSE.c
		- Remove nm_system_device_add_route_via_device_with_iface()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3596 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-25 19:22:32 +00:00
Dan Williams
8d0882c8f0 Make nm_device_802_11_wireless_set_ssid() static
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3594 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-24 21:35:42 +00:00
Dan Williams
805187cb87 2008-04-22 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): when checking for a gateway, look at the
			composite IP4 config, not the connection's ip4-config setting, which
			doesn't include DHCP-returned information



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3589 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-23 01:46:36 +00:00
Dan Williams
62b25d72f0 Clarify comments and clean up some code
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3588 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-22 19:07:00 +00:00
Dan Williams
bfa6b28b59 2008-04-22 Dan Williams <dcbw@redhat.com>
Patch from Charles R. Anderson (cra@wpi.edu)

	* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): don't select devices without a gateway
			as having the default route (rh #437338)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3586 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-22 14:28:52 +00:00
Dan Williams
095da180c8 2008-04-21 Dan Williams <dcbw@redhat.com>
* src/nm-activation-request.c
	  src/nm-activation-request.h
		- (dispose): ensure to disconnect from the device's state-changed signal
			when appropriate so the signal doesn't get handled by an already
			disposed NMActRequest
		- (device_state_changed): update is_default here too just to make sure
			default is only True when the child device is activated
		- (nm_act_request_set_default): new function

	* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): set 'default' on the active connection which
			has the default route and DNS



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3584 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-22 02:40:47 +00:00
Dan Williams
d74967e1b6 2008-04-21 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (device_state_changed): update routing and DNS when a device goes
			into unmanaged or unavailable states too (like rfkill or carrier loss)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3583 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-22 02:38:05 +00:00
Dan Williams
675d12263a 2008-04-21 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
		- Add NMActiveConnectionState enum

	* introspection/nm-active-connection.xml
	  introspection/nm-vpn-connection.xml
		- Add 'State' property for overall active connection state
		- Add 'Default' property, when True means this active connection
			has the default route
		- Add PropertyChanged signals so changes actually go out over the bus

	* src/nm-active-connection.h
		- Add defines for State & Default properties

	* src/nm-activation-request.c
		- Add 'state' and 'default' properties, hook up to device 'state-changed'
			signal to determine active connection state

	* src/vpn-manager/nm-vpn-connection.c
	  src/vpn-manager/nm-vpn-connection.h
	  src/vpn-manager/nm-vpn-manager.c
	  src/vpn-manager/nm-vpn-service.c
		- Rename old 'state' to 'vpn-state'
		- Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
		- Add 'state' and 'default' properties, hook up to the vpn connection's
			'vpn-state-changed' signal

	* libnm-glib/nm-active-connection.c
	  libnm-glib/nm-active-connection.h
		- Add new 'state' and 'default' properties and accessors

	* libnm-glib/nm-vpn-connection.c
	  libnm-glib/nm-vpn-connection.h
		- Rename old 'state' property to 'vpn-state'
		- Add new 'state' and 'default' properties and accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3582 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-22 00:28:02 +00:00
Dan Williams
c961481677 2008-04-21 Dan Williams <dcbw@redhat.com>
* src/nm-ip4-config.c
		- (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
			not specified (rh #443474)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3581 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-21 20:31:23 +00:00
Dan Williams
78e86f91fe 2008-04-20 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerUtils.c
	  src/NetworkManagerUtils.h
		- (nm_utils_merge_ip4_config): new function; merge settings from an
			NMSettingIP4Config to an NMIP4Config object

	* src/nm-device.c
		- (merge_ip4_config): move to NetworkManagerUtils.c

	* src/vpn-manager/nm-vpn-connection.c
		- (nm_vpn_connection_ip4_config_get): merge in user-specified settings
			too



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3580 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-21 03:02:32 +00:00
Dan Williams
a99508edb1 2008-04-18 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-ppp.c
	  libnm-util/nm-setting-ppp.h
	  src/ppp-manager/nm-ppp-manager.c
		- Add 'refuse-pap' and 'refuse-mschapv2' options



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3577 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-18 17:55:38 +00:00
Dan Williams
5e3121cee8 2008-04-18 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-ppp.c
	  libnm-util/nm-setting-ppp.h
	  src/ppp-manager/nm-ppp-manager.c
		- Remove the 'usepeerdns' option and always request DNS servers from
			the PPP server; the connection chooses to use/override/ignore the
			DNS servers returned from the PPP server



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3576 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-18 16:48:56 +00:00
Dan Williams
a8f9a8d38e 2008-04-18 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-ppp.c
	  libnm-util/nm-setting-ppp.h
	  src/ppp-manager/nm-ppp-manager.c
		- Remove the 'require-mppc' option, because pppd doesn't support it and
			it seems to have been an erroneous addition to the PPTP plugin in
			the first place (from which the ppp-manager is derived)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3575 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-18 16:37:35 +00:00
Dan Williams
d37629c6ca 2008-04-17 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-pppoe.c
		- (verify): require a PPP setting too

	* src/ppp-manager/nm-ppp-manager.c
		- (nm_ppp_manager_start): fail if no PPP setting is present instead of
			segfaulting



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3574 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-17 23:21:27 +00:00
Dan Williams
208864fcf5 2008-04-17 Dan Williams <dcbw@redhat.com>
* src/nm-device.c
		- (nm_device_state_changed): do deactivation and and promotion to
			unavailable here, so that the device gets cleaned up before the
			manager runs and starts emitting signals; do the
			FAILED->DISCONNECTED transition from an idle handler rather than
			immediately to guard against recursion
		- (nm_device_deactivate_quickly, nm_device_dispose): stop the
			FAILED->DISCONNECTED handler if it's scheduled



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3573 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-17 23:04:34 +00:00
Dan Williams
e2e9680e7d 2008-04-17 Dan Williams <dcbw@redhat.com>
* src/nm-device-802-11-wireless.c
		- (state_changed_cb): clear AP list when device transitions to
			unavailable or unmanaged
		- (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
			since this is already done in device_cleanup()
		- (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
			isn't available or managed
		- (device_cleanup): use remove_all_aps()
		- (remove_all_aps): consolidate code removing all APs



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3572 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-17 17:09:59 +00:00