Commit graph

1189 commits

Author SHA1 Message Date
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
Dan Williams
3b9eccd1bc Fix check of username
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3571 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-17 12:34:14 +00:00
Dan Williams
bcbf96cf7f 2008-04-17 Dan Williams <dcbw@redhat.com>
* src/nm-serial-device.c
	  src/nm-serial-device.h
		- (wait_for_reply_got_data): break input into lines, and search each
			line for responses _and_ terminator strings; also make sure that
			the read loop doesn't continue after the timeout is supposed to fire
		- (nm_serial_device_wait_for_reply): take an array of terminators too

	* src/nm-gsm-device.c
	  src/nm-cdma-device.c
		- Send terminators to nm_serial_device_wait_for_reply()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3570 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-17 11:08:52 +00:00
Dan Williams
48971a4e85 2008-04-16 Dan Williams <dcbw@redhat.com>
Patch from 陈鑫 <znscnchen@gmail.com>

	* src/ppp-manager/nm-pppd-plugin.c
		- (get_credentials): return correct value for success; handle case where
			pppd just does some checking but doesn't want a password
		- (plugin_init): make CHAP work too



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3569 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-16 20:05:09 +00:00
Dan Williams
d095a32ee2 2008-04-16 Dan Williams <dcbw@redhat.com>
Patch from 陈鑫 <znscnchen@gmail.com>

	* src/ppp-manager/nm-ppp-manager.c
		- (create_pppd_cmd_line): fix argument generation when spawning pppd



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3568 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-16 19:48:15 +00:00
Dan Williams
217cccd22a 2008-04-16 Dan Williams <dcbw@redhat.com>
Patch from 陈鑫 <znscnchen@gmail.com>

	* src/nm-device-802-3-ethernet.c
		- (real_deactivate_quickly): clear the IP interface name on
			deactivation, otherwise the wrong interface might get used later
			for routing and IP management



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3567 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-16 19:47:24 +00:00
Dan Williams
a993d446d5 2008-04-15 Dan Williams <dcbw@redhat.com>
Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>

	* src/NetworkManagerSystem.h
	  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
	  src/nm-device.c
		- (nm_generic_device_add_ip6_link_address,
		   nm_system_device_add_ip6_link_address): remove



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3564 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-15 21:01:47 +00:00
Dan Williams
1c885c6aa1 2008-04-15 Dan Williams <dcbw@redhat.com>
Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>

	* 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
	  src/NetworkManagerSystem.h
		- flush_routes -> flush_ip4_routes
		- flush_addresses -> flush_ip4_addresses

	* src/NetworkManagerSystem.c
	  src/nm-device.c
	  src/vpn-manager/nm-vpn-connection.c
		- flush only IPv4 addresses; don't touch IPv6 routes and addresses



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3563 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-15 20:59:37 +00:00
Dan Williams
1e1c99afba 2008-04-15 Dan Williams <dcbw@redhat.com>
Remove exposure of wireless-tools mode types in the API.

	* include/NetworkManager.h
		- Define NM80211Mode enum

	* introspection/generic-types.xml
		- Describe NM_802_11_MODE enum
		- Remove IW_MODE_* enum

	* introspection/nm-access-point.xml
	  libnm-glib/nm-access-point.c
	  libnm-glib/nm-access-point.h
		- 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT

	* introspection/nm-device-802-11-wireless.xml
	  libnm-glib/nm-device-802-11-wireless.c
	  libnm-glib/nm-device-802-11-wireless.h
		- 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT

	* libnm-util/nm-setting-wireless.c
	  src/NetworkManagerAP.c
	  src/NetworkManagerAP.h
	  src/nm-device-802-11-wireless.c
	  src/nm-device-802-11-wireless.h
	  test/nm-tool.c
		- Use NM80211Mode not IW_MODE_*



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3562 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-15 20:39:34 +00:00
Dan Williams
01abb70354 2008-04-10 Dan Williams <dcbw@redhat.com>
* src/nm-gsm-device.c
		- (automatic_registration): accept "+CREG: 0,0"
		- (automatic_registration_response): fail on "+CREG: 0,0"



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3556 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-10 18:37:14 +00:00
Dan Williams
9a49506152 2008-04-08 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-object-cache.c
	  libnm-glib/nm-settings.c
	  src/dhcp-manager/nm-dhcp-manager.c
	  system-settings/plugins/ifcfg-fedora/plugin.c
	  system-settings/plugins/ifcfg-suse/plugin.c
	  system-settings/src/nm-system-config-hal-manager.c
	  libnm-util/nm-utils.c
		- Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
			not threadsafe anyway



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3548 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-08 21:15:45 +00:00
Dan Williams
958a96def9 Remove unused function
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3545 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-08 16:11:25 +00:00
Dan Williams
ff2b85dc3f 2008-04-07 Dan Williams <dcbw@redhat.com>
* src/nm-gsm-device.c
	  src/nm-cdma-device.c
		- (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
			handler to transition to DISCONNECTED



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3542 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-08 03:58:17 +00:00
Dan Williams
54aac18883 2008-04-07 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
		- Remove the DOWN and CANCELLED device states
		- Add UNMANAGED and UNAVAILABLE device states
		- Document the device states

	* introspection/nm-device.xml
	  src/nm-device-interface.c
	  src/nm-device-interface.h
		- Add the 'managed' property

	* test/nm-tool.c
		- (detail_device): print out device state

	* 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_device_get_system_config, nm_system_device_get_disabled
		   nm_system_device_free_system_config): remove; they were unused and
			their functionality should be re-implemented in each distro's
			system settings service plugin 

	* src/nm-gsm-device.c
	  src/nm-gsm-device.h
	  src/nm-cdma-device.c
	  src/nm-cdma-device.h
		- (*_new): take the 'managed' argument

	* src/nm-device.c
		- (nm_device_set_address): remove, fold into nm_device_bring_up()
		- (nm_device_init): start in unmanaged state, not disconnected
		- (constructor): don't start device until the system settings service
			has had a chance to figure out if the device is managed or not
		- (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
			don't set device state here, let callers handle that as appropriate
		- (nm_device_dispose): don't touch the device if it's not managed
		- (set_property, get_property, nm_device_class_init): implement the
			'managed' property
		- (nm_device_state_changed): bring the device up if its now managed,
			and deactivate it if it used to be active
		- (nm_device_get_managed, nm_device_set_managed): do the right thing
			with the managed state

	* src/nm-hal-manager.c
		- (wired_device_creator, wireless_device_creator, modem_device_creator):
			take initial managed state and pass it along to device constructors
		- (create_device_and_add_to_list): get managed state and pass to
			type creators

	* src/nm-device-802-11-wireless.c
		- (real_can_activate): fold in most of
			nm_device_802_11_wireless_can_activate()
		- (can_scan): can't scan in UNAVAILABLE or UNMANAGED
		- (link_timeout_cb): instead of deactivating, change device state and
			let the device state handler to it
		- (real_update_hw_address): clean up
		- (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
			handler to transition to DISCONNECTED if the device isn't rfkilled

	* src/nm-device-802-3-ethernet.c
		- (set_carrier): move above callers and get rid of prototype
		- (device_state_changed): when entering UNAVAILABLE state, schedule an
			idle handler to transition to DISCONNECTED if the device has a
			carrier
		- (real_update_hw_address): clean up
		- (link_timeout_cb, ppp_state_changed): change state instead of calling
			deactivation directly as deactivation doesn't change state anymore

	* src/NetworkManagerPolicy.c
		- (schedule_activate_check): yay, remove wireless_enabled hack since
			the NMManager and wireless devices work that out themselves now
		- (device_state_changed): change to a switch and update for new device
			states
		- (device_carrier_changed): remove; device handles this now through
			state changes
		- (device_added): don't care about carrier any more; the initial
			activation check will happen when the device transitions to
			DISCONNECTED

	* src/nm-manager.c
		- (dispose): clear unmanaged devices
		- (handle_unmanaged_devices): update unmanaged device list and toggle
			the managed property on each device when needed
		- (system_settings_properties_changed_cb): handle signals from the
			system settings service
		- (system_settings_get_unmanaged_devices_cb): handle callback from
			getting the unmanaged device list method call
		- (query_unmanaged_devices): ask the system settings service for its
			list of unmanaged devices
		- (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
			devices
		- (manager_set_wireless_enabled): push rfkill state down to wireless
			devices directly and let them handle the necessary state transitions
		- (manager_device_state_changed): update for new device states
		- (nm_manager_add_device): set initial rfkill state on wireless devices
		- (nm_manager_remove_device): don't touch the device if it's unmanaged
		- (nm_manager_activate_connection): return error if the device is
			unmanaged
		- (nm_manager_sleep): handle new device states correctly; don't change
			the state of unavailable/unmanaged devices

	* libnm-glib/nm-device-802-11-wireless.c
		- (state_changed_cb): update for new device states



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3540 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-08 02:58:02 +00:00
Dan Williams
0422784433 2008-04-05 Dan Williams <dcbw@redhat.com>
* Makefile.am
	  configure.in
	  marshallers/Makefile.am
	  marshallers/nm-marshal-main.c
	  marshallers/nm-marshal.list
		- Consolidate marshallers

	* libnm-glib/nm-marshal-main.c
	  libnm-glib/nm-marshal.list
	  src/marshallers/Makefile.am
	  src/marshallers/nm-marshal-main.c
	  src/marshallers/nm-marshal.list
		- Remove

	* libnm-glib/Makefile.am
	  src/Makefile.am
	  src/dhcp-manager/Makefile.am
	  src/ppp-manager/Makefile.am
	  src/supplicant-manager/Makefile.am
	  src/vpn-manager/Makefile.am
		- Use consolidated marshallers



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3533 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-05 16:28:24 +00:00
Dan Williams
d60d61c9d1 2008-04-04 Dan Williams <dcbw@redhat.com>
* src/nm-hal-manager.c
	  src/nm-hal-manager.h
		- (hal_init): don't look for hardware here
		- (nm_hal_manager_start): new function; look for hardware here instead,
			which can be done at a later time than hal_init()

	* src/NetworkManager.c
		- (main): start HAL manager after entering the main loop



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3530 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-04 14:59:30 +00:00
Dan Williams
85eb6bd5c3 2008-04-02 Dan Williams <dcbw@redhat.com>
* src/nm-device-interface.c
	  src/nm-device-interface.h
	  src/nm-device.c
	  src/nm-device.h
		- Rename check_connection_conflicts() to check_connection_compatible()

	* src/nm-device-802-11-wireless.c
		- (real_check_connection_conflicts): remove
		- (real_check_connection_compatible): implement; match MAC address

	* src/nm-device-802-3-ethernet.c
		- (real_check_connection_conflicts): remove
		- (real_check_connection_compatible): implement; match MAC address
		- (real_get_best_auto_connection): correctly handle PPPoE cases

	* src/nm-manager.c
		- (check_connection_allowed): remove; unused until PolicyKit integration
		- (internal_activate_device): check whether the connection is compatible
			with the device before trying to activate it



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3527 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-02 17:44:52 +00:00
Dan Williams
e9e6f3124c 2008-04-01 Dan Williams <dcbw@redhat.com>
Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>

	* configure.in
	  initscript/Makefile.am
	  initscript/Mandriva/Makefile.am
	  initscript/Mandriva/networkmanager.in
	  initscript/Mandriva/networkmanagerdispatcher.in
	  src/backends/Makefile.am
	  src/backends/NetworkManagerMandriva.c
	  system-settings/plugins/Makefile.am
		- Add Mandriva support



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3523 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-01 21:26:09 +00:00
Dan Williams
7ab262c972 2008-03-31 Dan Williams <dcbw@redhat.com>
* src/vpn-manager/nm-vpn-service.c
		- (nm_vpn_service_daemon_exec): add an error argument so that spawn
			errors can be passed back to the caller; also no longer scheduled
			as an idle handler, but called directly; and bump up VPN service
			spawn timeout, 2s is really short
		- (nm_vpn_service_activate): don't schedule the VPN service activation,
			but call it directly so that errors are reported on return from
			ActivateConnection() and don't get lost.  If scheduled as an idle
			handler, clients don't have the time to query NM for the new VPN
			connection's properties before the VPN connection is torn down again
			if the service couldn't be launched, and therefore launch errors
			get lost.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3521 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-31 14:53:27 +00:00