Commit Graph

124 Commits

Author SHA1 Message Date
Dan Williams
04f27601f8 2007-10-08 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (nm_policy_device_change_check): print out connection name where
			possible



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2954 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-08 15:09:50 +00:00
Dan Williams
9d318e9fae 2007-10-07 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
	  src/nm-manager.h
		- Add a 'connections-added' signal to batch together updates of large
			numbers of connections, like when reading from a settings service
			the first time.  Otherwise, the policy would just activate the first
			suitable connection it saw rather than waiting for the full list
			to arrive.
		- (nm_manager_class_init): register new signal
		- (get_type_for_proxy, connection_get_settings_cb,
		   get_connection_for_proxy): centralize places where a proxy's setting
			service is determined
		- (free_get_settings_info): if the call being freed is the last call
			in a pending call group, fire off the connections-added signal
		- (internal_new_connection_cb): add call to a pending call group if
			requested
		- (list_connections_cb): always create a call group here, because this
			call results in a batch of new connections
		- (initial_get_connections): start getting system connections first
		- (nm_manager_connections_destroy, emit_removed): actually emit the
			removed signal when destroying connections

	* src/NetworkManagerPolicy.c
		- (nm_policy_new, connections_added): handle connections-added signal
			from the manager



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2951 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-07 23:33:28 +00:00
Dan Williams
9e866f733f 2007-10-06 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (nm_policy_auto_get_best_device): fix connection list reffing.  Each
			connection in the list returned by nm_manager_get_connections() is
			reffed, but they weren't getting unreffed before returning



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2949 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-06 13:35:28 +00:00
Dan Williams
a7ce89b24d 2007-10-06 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (connection_updated, nm_policy_new): recheck state when a connection
			gets updated



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2943 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-06 04:31:13 +00:00
Dan Williams
d8dd859092 2007-10-06 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (connection_removed): deactivate removed connections



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2941 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-06 04:26:33 +00:00
Dan Williams
fc8130ddd0 2007-10-03 Dan Williams <dcbw@redhat.com>
* src/nm-device-802-11-wireless.c
	  src/nm-device-802-11-wireless.h
	  introspection/nm-device-802-11-wireless.xml
		- GetActiveNetworks -> GetAccessPoints
		- ActiveNetwork -> ActiveAccessPoint
		- NetworkAdded -> AccessPointAdded
		- NetowrkRemoved -> AccessPointRemoved

	* libnm-glib/nm-device-802-11-wireless.c
	  libnm-glib/nm-device-802-11-wireless.h
		- network-added signal -> access-point-added
		- network-removed signal -> access-point-removed
		- nm_device_802_11_wireless_get_active_network() ->
			nm_device_802_11_wireless_get_active_access_point()
		- nm_device_802_11_wireless_get_network_by_path() ->
			nm_device_802_11_wireless_get_access_point_by_path()
		- nm_device_802_11_wireless_get_networks() ->
			nm_device_802_11_wireless_get_access_points()

	* libnm-glib/libnm-glib-test.c
	  test/nm-tool.c
	  src/NetworkManagerPolicy.c
		- Fixups for Network -> AccessPoint



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2928 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-03 18:20:35 +00:00
Tambet Ingo
485bcfe571 2007-09-28 Tambet Ingo <tambet@gmail.com>
* src/nm-manager.c:
        * src/nm-manager.h:
        Implement device activation through NMManager.
        Implement "pending device activation" here - If the connection
isn't found,
        we try to wait for up to 5 seconds for the connection to be
provided.
        Add NMConnectionType argument to "connection-added" and
"connection-removed"
        signals.
        (nm_manager_get): Remove. Finally.

        * src/nm-activation-request.c: 
        * src/nm-activation-request.h: 
        Remove all the deferred activation code.

        * src/nm-device.c: Remove all the deferred activation code. Once
        * the device
        activation is started, it's started. Update the activation
virtual function
        signature.

        * src/nm-device-interface.c:
        * src/nm-device-interface.h:
        Device activation now takes only NMActRequest argument.
        Don't expose device activation directly on dbus, it's supposed
to go through
        NMManager now.

        * src/NetworkManagerPolicy.c (nm_policy_device_change_check):
        * Make the code
        a bit more compact.
        Use the new device activation methods through NMManager.

        * introspection/nm-manager-client.xml: 
        * introspection/nm-manager.xml: 
        * libnm-glib/nm-client.c:
        * libnm-glib/nm-client.h:
        Add device activation method.
        
        * libnm-glib/nm-device.c: 
        * libnm-glib/nm-device.h: 
        * introspection/nm-device.xml: 
        Remove device activation method. It's done through NMManager
now.

        * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect):
        * Use the shiny
        new (nm_manager_get_device_by_path) function, get rid of our own
)find_device).



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2915 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-01 15:38:39 +00:00
Tambet Ingo
95e0ef0922 2007-09-26 Tambet Ingo <tambet@gmail.com>
* src/nm-manager.c (manager_device_state_changed): Listen to
        * device' NEED_AUTH
        state and try to get the secrets.

        * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device):
        * Get the list of
        connections from NMManager and let the device to choose the best
from the list.
        Since the connection list is sorted by system ones first and
user ones later,
        the devices still prefer system connections like they did
before.
        (deactivate_old_device): Implement. When a device starts
activation, we have a
        policy (for now at least) to deactivate any other device that
might be either
        active or still activating.

        * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the
        * private structure.
        It's set on construction, there will be no other way to access
it.

        * src/nm-device-802-11-wireless.c: Don't touch NMManager,
        * NMManager can listen to
        device events and drive the device, not the other way around.

        * src/nm-device-802-3-ethernet.c: Ditto.

        * src/nm-device.c (nm_device_get_best_connection): The
        * connections list is now
        sent along, pass it on to virtual functions.

        * src/nm-device-interface.c (nm_device_interface_get_iface):
        * Implement. It's static
        for now, but should really be public instead of
nm_device_get_iface() since iface
        is a property of the DeviceInterface, not Device.
        (impl_device_activate): Don't touch NMManager!




git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2889 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-26 15:38:51 +00:00
Dan Williams
2366b6c346 2007-09-25 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (nm_policy_device_change_check): handle devices that have a
			deferred activation.  These devices are not really active _yet_,
			but need to be treated as such here.  Don't interrupt them
			automatically.

	* src/nm-device-interface.c
		- (impl_device_activate): handle devices that have a deferred activation
			like activating or active devices.  When multiple active devices
			get committed, the device shouldn't be deactivated until the
			connection details are available to avoid DoS and such.  Currently,
			any active, activating, or deferred activation device is deactivated
			here before starting the new activation request.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2873 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-25 06:34:05 +00:00
Dan Williams
490117633c 2007-09-24 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (nm_policy_auto_get_best_device): don't interrupt activation of a
			device by deactivating it because it doesn't have a "best connection".
			Since autoconnect=False connections aren't automatically chosen,
			NM would interrupt activation of such a connection because it
			would never be "best" due to autoconnect=False.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2867 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-24 21:50:11 +00:00
Dan Williams
b6dfbeb71a 2007-09-20 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (nm_policy_device_change_check): re-enable the wireless device change
			checking code; insted of checking for SSIDs, check for the same
			connection instead



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2839 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-21 03:15:47 +00:00
Dan Williams
c766867b65 2007-09-14 Dan Williams <dcbw@redhat.com>
Implement deferred activation support in the device class.

	* src/nm-device-interface.c
	  src/nm-device-interface.h
		- (nm_device_interface_activate): take more arguments to support
			deferred activation; callers must pass one of (connection) OR
			(service_name, connection_path)
		- (impl_device_activate): connection validation is punted to the device
			to be able to handle deferred activation.  Yes, this means errors
			don't get returned from the Activate() dbus call, and yes, that
			should be fixed somehow later.

	* src/nm-device.c
	  src/nm-device.h
		- (clear_act_request): clear additional deferred activation stuff too
		- (deferred_activation_timeout_cb): new function; clean up when
			deferred activation times out.
		- (deferred_activation_start_cb): new function; when the connection
			finally becomes available, start device activation
		- (nm_device_activate): attach to the right signals of the activation
			request if we need to defer activation until the connection is valid

	* src/NetworkManagerPolicy.c
		- (nm_policy_device_change_check): update for additional arguments
			required for nm_device_interface_activate().  Pass NULL for these
			though because this function already knows exactly which
			NMConnection to use



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2812 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-14 19:51:04 +00:00
Dan Williams
d17ea3aaab 2007-09-11 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (connection_added, connection_removed): trigger device change checks
			on connection changes



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2792 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-11 23:25:00 +00:00
Dan Williams
0930458ea4 2007-09-10 Dan Williams <dcbw@redhat.com>
* NetworkManagerAP.c
	  NetworkManagerAP.h
	  NetworkManagerPolicy.c
	  NetworkManagerSystem.c
	  NetworkManagerUtils.c
	  NetworkManagerUtils.h
	  nm-device-802-11-wireless.c
	  nm-device-802-3-ethernet.c
	  nm-hal-manager.c
	  nm-manager.c
	  vpn-manager/nm-dbus-vpn.c
		- Warning fixes; casts and removal of unused variables



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2779 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-10 19:51:25 +00:00
Dan Williams
4c028c7cef 2007-09-10 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
		- Kill NMNetworkType; AP types don't matter any more

	* src/NetworkManagerAPList.c
	  src/NetworkManagerAPList.h
	  src/Makefile.am
		- Kill; NMAccessPointList has outlived it's usefulness

	* src/NetworkManagerAP.c
	  src/NetworkManagerAP.h
		- (match_cipher, security_compatible, nm_ap_check_compatible): new
			functions; check if an NMConnection object is compatible with the
			settings of this AP
		- (freq_to_channel, channel_to_freq): utility functions for
			channel <-> frequency conversion

	* src/nm-device.c
	  src/nm-device.h
		- (nm_device_get_best_connection): pass the specific object around
			 (which might be the object path of a specific AP to connect to).
			 The get_best_connection() call should populate this on return
			 if needed (wireless does).

	* src/nm-device-802-3-ethernet.c
		- (real_get_best_connection): handle specific_object argument

	* src/NetworkManager.c
	  src/NetworkManagerMain.h
		- Remove unused includes

	* src/nm-device-802-11-wireless.c
	  src/nm-device-802-11-wireless.h
		- Convert the ap_list into a GSList from an NMAccessPointList
		- No need for caching the 'activation_ap' since this is now determined
			from the specific_object of the activation request, which is
			populated from the get_best_connection() call or from a user request
		- (nm_device_802_11_wireless_update_bssid): fix warning
		- (get_wireless_capabilities): fix error message format arguments
		- (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
		- (find_best_connection, real_get_best_connection): implement
		- (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
			move here from NetworkManagerAPList
		- (ap_need_secrets): remove; moved to nm-connection.c where it belongs
		- (real_act_stage1_prepare): just ensure an AP exists, connection is
			already verified earlier
		- (real_act_stage2_config): use nm_connection_need_secrets()

	* src/NetworkManagerPolicy.c
		- (nm_policy_auto_get_best_device): handle specific objects
		- (create_connection): remove; automatic connection creation functionality
			is handled by the Connection objects
		- (nm_policy_device_change_check): handle specific_object

	* libnm-util/nm-connection.c
		- (wireless_sec_need_secrets, nm_connection_need_secrets): implement



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2778 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-10 19:11:40 +00:00
Dan Williams
fba106c5b0 2007-09-09 Dan Williams <dcbw@redhat.com>
* introspection/nm-device.xml
		- The 'Activate' method now takes 3 arguments, a service name for the
		settings service (user or system), the object path of the connection
		to activate, and the specific object to activate, if any

	* src/nm-device-interface.c
		- (nm_device_interface_error_quark, nm_device_interface_error_get_type):
		Add error bits
		- (impl_device_activate): adapt to new Activate arguments; validate
		the service name and get the Connection object from the NMManager
		before starting to activate the device with the specified connection

	* src/nm-device-802-3-ethernet.c
		- (real_get_best_connection): find the best connection, or create a
		default one if no existing connections can be used

	* src/NetworkManagerPolicy.c
		- (nm_policy_auto_get_best_device): Get the device's best connection
		and only pick the device if it has one
		- (nm_policy_device_change_check): disable wireless bits for now until
		wireless get_best_connection() can be implemented (replacing "best_ap");
		don't create a default connection here as the device subclass will do
		that if needed

	* src/nm-manager.h
	  src/nm-manager.c
		- (nm_manager_get): make NMManager a singleton and expose the getter
		internally
		- Rework internal NMManager connection handling to use the same
		routines for both the system and user settings services.  Most calls
		take a new NMConnectionType argument specifying either system or user
		connections
		- (nm_manager_get_connection_by_object_path): new function; get a
		connection keyed on its object path

	* src/NetworkManager.c
		- (main): use nm_manager_get()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2776 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-09 22:18:42 +00:00
Dan Williams
52033721dd 2007-08-30 Dan Williams <dcbw@redhat.com>
* src/Makefile.am
	  src/NetworkManagerDbus.c
	  src/NetworkManagerDbus.h
	  src/vpn-manager/nm-dbus-vpn.c
		- Remove, no longer necessary.  Move last bits to the only place its
		used, in nm-dbus-vpn.c

	* src/NetworkManagerAPList.c
	  src/nm-device.c
	  src/NetworkManager.c
	  src/nm-device-802-11-wireless.c
	  src/vpn-manager/nm-vpn-manager.c
	  src/vpn-manager/nm-vpn-service.c
	  src/NetworkManagerPolicy.c
	  src/nm-manager.c
		- Remove usage of NetworkManagerDbus.h, and kill the obfuscation
		that was message_is_error()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2757 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-31 02:01:44 +00:00
Dan Williams
9aab44b772 2007-08-29 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting.h
	  libnm-util/nm-setting.c
	  libnm-util/nm-connection.c
	  src/NetworkManagerPolicy.c
		- 'info' settings object should be 'connection' says the spec
		at NetworkManagerConfigurationSpecification



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2746 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-29 21:27:52 +00:00
Dan Williams
3443abf3f9 2007-08-28 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerAP.c
	  src/NetworkManagerAP.h
		- Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
			'autoconnect' property instead

	* src/NetworkManager.c
	  src/NetworkManagerMain.h
	  src/NetworkManagerPolicy.c
	  src/NetworkManagerPolicy.h
		- Remove the 'allowed_ap_list', which should be replaced by 
			NMConnection/NMSettings instead, since _those_ are the allowed
			things that NM can connect to

	* src/nm-device-802-11-wireless.c
		- Remove both allowed_ap_list usage and 'fallback' checking



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2740 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-28 15:17:48 +00:00
Dan Williams
7a8f33aa3d 2007-08-28 Dan Williams <dcbw@redhat.com>
Remove NMAPSecurity objects, they are replaced with flags on the APs for
	each AP's capabilities, and by NMConnection/NMSettings objects for user
	defined connections.

	* include/NetworkManager.h
		- Redefine 802.11 security properties.  There are now device capabilities
			and AP flags and AP security flags.  It was way to unclear before.

	* src/Makefile.am
	  src/nm-ap-security-leap.h
	  src/nm-ap-security-leap.c
	  src/nm-ap-security-wpa-eap.c
	  src/nm-ap-security-wpa-eap.h
	  src/nm-ap-security-private.h
	  src/nm-ap-security-wpa-psk.c
	  src/nm-ap-security-wpa-psk.h
	  src/nm-ap-security-wep.c
	  src/nm-ap-security-wep.h
	  src/nm-ap-security.c
	  src/nm-ap-security.h
		- Removed, to be replaced with NMConnection/NMSettings objects

	* src/nm-dbus-nmi.c
	  src/nm-dbus-nmi.h
		- Removed, to be replaced by code that talks to the new info daemon
			interface and gets NMConnection/NMSettings objects

	* src/backends/NetworkManagerSuSE.c
		- Remove usage of NMAPSecurity; should be replaced by a system-level
			info-daemon that does the same thing but talks the new info-daemon
			D-Bus interface

	* src/NetworkManagerAP.h
	  src/NetworkManagerAP.c
	  src/NetworkManagerAPList.c
	  libnm-glib/libnm-glib-test.c
		- Remove usage of NMAPSecurity objects and adjust to new flags for
			WPA/RSN

	* libnm-glib/nm-access-point.c
	  libnm-glib/nm-access-point.h
	  introspection/nm-access-point.xml
	  test/nm-tool.c
		- Adjust to new flags for AP security

	* utils/nm-utils.c
	  utils/nm-utils.h
	  src/vpn-manager/nm-dbus-vpn.c
		- Remove D-Bus pending call stuff from nm-utils and put it in the VPN
			stuff which is the only place it's used

	* src/nm-device-interface.c
	  src/nm-device-interface.h
	  introspection/nm-device.xml
	  src/nm-activation-request.c
	  src/nm-activation-request.h
	  src/nm-device.c
		- Add a new 'specific_object' argument that hints to NM what actual
			AP or other device-specific thing the connection should apply to.
			NMConnection objects can apply to more than one actual device/AP.

	* libnm-util/nm-connection.c
	* libnm-util/nm-connection.h
		- Add 'have_secrets" call stubs

	* libnm-util/cipher.h
		- Move NM_AUTH_TYPE_* defines here for now

	* src/nm-device-802-11-wireless.c
		- Remove usage of NMAPSecurity, to be replaced with NMConnection/
			NMSettings objects

	* src/NetworkManagerDbus.c
	* src/NetworkManagerPolicy.c
		- Remove usage of update_allowed_networks, should be pushing data in
			a different manner



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2738 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-28 14:47:31 +00:00
Dan Williams
386998c983 2007-08-25 Dan Williams <dcbw@redhat.com>
It's 2007. Remove support for drivers that don't support wireless scanning.

	* test/nm-tool.c
	  include/NetworkManager.h
	  src/NetworkManagerUtils.c
	  src/NetworkManagerPolicy.c
	  src/nm-device-802-11-wireless.c
		- Remove special handling for non-scanning devices and mark them
			as unsupported/unhandled



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2726 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-25 15:07:23 +00:00
Dan Williams
0b9df92472 2007-08-14 Dan Williams <dcbw@redhat.com>
(force-commit to fix wrong comment and partial commit of r2685; this
	 commit actually applies to r2685)

	* src/NetworkManagerUtils.c
		- (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
			ignores trailing nulls in the SSID to work around mismatches in
			expectations between WEXT and what the info-daemon passes back.  The
			info-daemon would pass back the correct length, but due to the
			ESSID length issues with WEXT 22 and greater and wpa_supplicant,
			the device would always have an SSID + 1 depending on what versions
			of wpa_supplicant, the kernel, and NM you have.  This was most often
			visible by just quitting the applet and relaunching, which caused
			NM to reassociated to the same network over again when reloading
			the save networks.

	* src/NetworkManagerPolicy.c
	  src/NetworkManagerUtils.h
	  src/nm-device-802-11-wireless.c
		- Update for new parameter to nm_utils_same_ssid()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2686 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-15 01:59:19 +00:00
Dan Williams
ccb13f0bdd 2007-08-14 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerUtils.c
		- (nm_utils_escape_ssid): add "ignore_trailing_null" parameter which
			ignores trailing nulls in the SSID to work around mismatches in
			expectations between WEXT and what the info-daemon passes back.  The
			info-daemon would pass back the correct length, but due to the
			ESSID length issues with WEXT 22 and greater and wpa_supplicant,
			the device would always have an SSID + 1 depending on what versions
			of wpa_supplicant, the kernel, and NM you have.  This was most often
			visible by just quitting the applet and relaunching, which caused
			NM to reassociated to the same network over again when reloading
			the save networks.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2685 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-15 01:56:02 +00:00
Dan Williams
931927a723 2007-08-12 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (nm_policy_device_change_check): fix policy to deactivate old device
			before activating new one, at least until the multiple active
			device support lands



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2668 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-13 01:57:15 +00:00
Dan Williams
b7df56d512 2007-08-12 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (nm_policy_new): hook up to connection-added / connection-removed
			signals instead of connections-changed



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2667 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-13 01:45:47 +00:00
Dan Williams
f4540f0412 2007-06-27 Dan Williams <dcbw@redhat.com>
* Make SSIDs GByteArrays everywhere
	* Rename "essid" -> "ssid" everywhere that's appropriate
	* Refcount activation_ap member of the 802.11 wireless device class



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2620 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-06-27 16:18:52 +00:00
Tambet Ingo
be798e43ab 2007-06-13 Tambet Ingo <tambet@ximian.com>
* src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
	because the handling code will cause the next state change and signal listeners
	get the signals in wrong order.

	* src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
	correctly in case of pending activation.




git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2593 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-06-13 11:58:25 +00:00
Tambet Ingo
77cdb55279 2007-06-13 Tambet Ingo <tambet@ximian.com>
* src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
	Convert the essid byte array to string correctly, including the terminating NULL.

	* src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
	mode with correct types.

	* src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
	constructed info to dbus call instead of the activation request.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2592 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-06-13 09:30:44 +00:00
Tambet Ingo
ff0fd77b08 2007-05-07 Tambet Ingo <tambet@ximian.com>
* libnm-glib/Makefile.am: Link with libnm-util to gain access to
	NMConnection.

	* libnm-glib/nm-device-802-11-wireless.c:
	(nm_device_802_3_ethernet_activate): Remove.

	* libnm-glib/nm-device-802-3-ethernet.c
	(nm_device_802_3_ethernet_activate): Remove.

	* libnm-glib/nm-device.c (nm_device_activate): Implement.

	* src/nm-device-802-3-ethernet.c: Implement the new activation using
	NMConnection.

	* src/nm-device-802-11-wireless.c: Store an activation AP once the
	activation has started.
	Implement the new activation using NMConnection.

	* src/nm-activation-request.c: Store a generic connection object instead
	of a wireless-specific AP.

	* src/NetworkManagerPolicy.c (create_connection): Implement. Depending
	on device type, create a device specific connection object suitable for
	device activation.

	* src/nm-device.c (nm_device_activate): Re-implement. Call the device
	specific check to validate the connection and on success start the
	activation.

	* src/nm-device-interface.h: Add a activate virtual function to the
	interface definition.

	* src/nm-device-interface.c (nm_device_interface_activate): Implement.
	(impl_device_activate): Implement.

	* introspection/nm-device.xml: Add a generic device activation interface
	that accepts an abstract NMConnection structure that has device-specific
	information in it.

	* introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
	activation interface.

	* introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
	activation interface.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2569 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-05-07 15:17:45 +00:00
Tambet Ingo
96c246cfc4 2007-03-02 Tambet Ingo <tambet@ximian.com>
* libnm-glib/nm-device-802-11-wireless.c
	(nm_device_802_11_wireless_get_capabilities): Implement.

	* libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.

	* src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.

	* src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
	reply only if it's not NULL. Not sure why this started happening right now.

	* src/nm-manager.c (device_stop_and_free): Remove. No need to have different
	code paths for when devices get removed on shutdown or when a device is just
	removed.
	(finalize): Don't use a g_slist_foreach() when removing devices, the list data
	gets freed so any signal from a device (disconnected for instance) would invoke
	NMState update which would crash.
	(nm_manager_remove_device): Bring the device down when it gets removed.

	* src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
	the unused dev_type.

	* src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
	reference to the added device, NMManager will own it (if it wants).

	* test/nm-tool.c: Rewrite using libnm-glib.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2417 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-03-05 08:49:30 +00:00
Tambet Ingo
352caa34c6 2007-03-02 Tambet Ingo <tambet@ximian.com>
* libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
	We get signalled when it changes.

	* libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
	when it changes.

	* libnm-glib/nm-device.c: Cache the device state property.

	* libnm-glib/nm-access-point.c: Cache the strength property.

	* src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
	The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
	and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
	until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
	the device is down, activating, or activated (in case of A/B/G cards).
	Remove some old dead ifdef'ed out code that used to configure wireless devices,
	it's all done through supplicant now.

	* src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
	counting issues with pending calls which caused leaks and crashes when
	interface was removed (now that the interface actually gets removed).

	* src/nm-call-store.c: Make a copy of data before running a foreach
	with user callback on it - The most common usage pattern is to cancel
	(and thus remove) all pending calls with foreach which would modify
	the hash table we're iterating over.

	* src/nm-manager.c: When a device is added, make sure it is "up". When
	it's removed or disabled due to disabling wireless or networking, bring
	it down.

	* include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.

	* src/nm-device-802-11-wireless.c: 
	* src/nm-device-802-3-ethernet.c: 
	* src/nm-device.c:
		- Remove "init" virtual function, all gobjects have a place for that
		  already (constructor).
		- Replace "start" virtual function with "bring_up", devices can be
		  brought up and down more than just on startup now.
		- Add "is_up" virtual function.
		- Implement one way to bring a device down instead of previous 4 different
		  ways, each of witch did something different.

	* src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
	all it needs is the device interface.

	Get rid of NMData.dev_list (3 members to go).
	Get rif of NMData in a lot of places.

	* gnome/libnm_glib/libnm_glib.c: Make it compile again.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2395 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-03-02 09:30:48 +00:00
Tambet Ingo
537b30f99e 2007-02-20 Tambet Ingo <tambet@ximian.com>
* libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
	"network-removed" signals.

	* libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.

	* libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
	when receiving the signal from dbus.

	* src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
	property.

	* src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
	deactivation of the previously activated device working again.

	* src/nm-activation-request.c: Remove NMActStage property and it's getter
	and setter.

	* src/nm-device.c (nm_device_is_activated): Remove.
	state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.

	* include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
	NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
	NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
	NM_DBUS_SIGNAL_STATE_CHANGE signal.
	Remove NMNetworkStatus and NMActStage enums.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2345 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-20 15:24:42 +00:00
Tambet Ingo
3dcd9d2d17 2007-02-19 Tambet Ingo <tambet@ximian.com>
* src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
	Handle device state changes and disconnect VPN if it's device deactivates.

	* src/nm-dbus-nm.c: 
	* src/nm-dbus-nm.h: 
	* src/nm-dbus-device.c: 
	* src/nm-dbus-device.c: 
	* src/nm-dbus-net.c: 
	* src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.

	* src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.

	* src/nm-device.c (nm_device_get_by_udi):
	(nm_device_get_by_iface): Remove. This doesn't belong here and is already
	implemented in the correct location (NMManager).
	Rip out all the test_device stuff.

	* src/NetworkManagerPolicy.c: Remove the leftover activation success and
	failure handlers, it's all done by NMDevice already.

	* src/NetworkManager.c: Move the signal handling here from nm-logging.c
	Remove the iochannel hack to route the unix signals to the main thread since
	we're not threaded anymore.

	* src/NetworkManagerAP.c: Implement HWAddress property.

	* src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
	automatically with dbus-glib.

	* src/nm-netlink-monitor.c: 
	* src/nm-netlink-monitor.h:
		- Move it low in the class hierarchy, don't reference any NM types.
		- Remove private data from the header.
		- Use type safe checks in public API methods.
		- Make it a singleton so we don't have to pass the single reference around.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2339 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-19 13:09:32 +00:00
Tambet Ingo
c40051389c 2007-02-16 Tambet Ingo <tambet@ximian.com>
* introspection/nm-ip4-config.xml: Implement.

	* libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.

	* libnm-glib/nm-ip4-config.c:
	* libnm-glib/nm-ip4-config.c: Implement.

	* src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
	securities. APs reference security.

	* src/nm-device-802-11-wireless.c: Implement missing properties that need to
	be exported over DBUS.

	* src/nm-device-802-3-ethernet.c: Ditto.

	* src/NetworkManagerAP.c:
	* src/NetworkManagerAP.h:
		- Convert to GObject, export over DBUS.

	* src/nm-ip4-config.h:
	* src/nm-ip4-config.h:
		- Convert to GObject, export over DBUS.




git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2322 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-16 11:23:49 +00:00
Tambet Ingo
a8191ddaa3 2007-02-09 Tambet Ingo <tambet@ximian.com>
* src/nm-device-802-11-wireless.c:
		- Add "network-added" and "network-removed" signals.
		- Use gobject boilerplate macros to define the GObject.
		- Implement wireless device activation.
		- Remove activation_failure_handler and activation_success_handler
		  and instead listen on state-changed signals and run the same code
		  from there.

	* src/nm-device.c:
		- Implment NMDeviceInterface::deactivate.
		- Remove activation_failure_handler and activation_success_handler
		  virtual methods. Each device which is interested in these events
		  can just listen on it's state changed signals.

	* src/NetworkManagerPolicy.c:
		- Move a bit more NMData usage to NMManager.
		- Remove activation scheduling bits.
		- Add listeners for wireless device's "network-added" and
		  "network-removed" signals.
		- Listen device changed signals and deactivate currently activated
		  device when another device start activating (for now).
		- Remove (nm_policy_schedule_device_change_check): There's never a need
		  for calling this, the policy code knows exactly when this should happen,
		  by listening on events from NMManager and NMDevices.

	* src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
	Implement.

	* src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
	method on the specific device instead of going to through policy code
	and determining the device type by passed in AP's existance.

	* src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
	abstract NMDevice deactivation.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2298 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-09 08:50:35 +00:00
Tambet Ingo
371de4c2d0 2007-02-08 Tambet Ingo <tambet@ximian.com>
* src/NetworkManager.c:
		- Set up all the shiny new managers.

	* src/NetworkManagerPolicy.c:
		- Add the beginnings of new NMPolicy code. Instead of requireing all
		  classes to call into policy code, make the policy code kind of like
		  a supervisor that monitors what's going on and drives the whole NM.

	* src/nm-hal-manager.c: 
	* src/nm-hal-manager.h:
		- Collect all libhal code scattered around NM to this one class.
		- Listen libhal and NMManager events and add/remove devices to
		  NMManager.

	* src/nm-manager.c:
	* src/nm-manager.h:
		- Implment a replacement for NMData. NMData is now officially
		deprecated.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2291 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-08 15:34:26 +00:00
Tambet Ingo
a88e1dd3a2 2007-02-05 Tambet Ingo <tambet@ximian.com>
Make NMDevice abstract class, remove almost all references to it's
	subclasses (the last place gets removed with new policy manager). Add
	NMDeviceInterface (which NMDevice implements) so that when we have
	NMDevice exported over DBUS, there's a common NMDevice interface which
	all instances have, plus there's a device specific interface for each
	specific type.
	Remove functions (nm_device_is_802_3_ethernet) and
	(nm_device_is_802_11_wireless). There are already standard GObject macros
	for type safe checks.
	Use the updated supplican manager API.

	* src/nm-device-interface.h: 
	* src/nm-device-interface.c: 
	* src/nm-call-store.h: 
	* src/nm-call-store.c: Implement.

	* src/supplicant-manager/nm-supplicant-interface.c:
	* src/supplicant-manager/nm-supplicant-interface.h:
	* src/supplicant-manager/nm-supplicant-manager.c:
	* src/supplicant-manager/nm-supplicant-manager.h:
		- Remove all private data type references from public header files.
		- Remove all references to other NM classes, this class is just a
		  proxy between wpa_supplicant and NM so it doesn't have to know
		  any internals.
		- Convert to dbus-glib bindings.
		- Type safe checks for public methods' arguments.
		- Store pending DBUS call ids to NMCallStore.

	* src/supplicant-manager/nm-supplicant-config.c:
		- Store config values in a GHashTable instead of GSList.




git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2285 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-05 12:14:09 +00:00
Dan Williams
0df1e42c39 2007-01-04 Dan Williams <dcbw@redhat.com>
Threading removal related cleanups:

	- Use the glib default main context.  Remove the device main context
		member from NMDevice, and the main_context member from NMData.  Change
		all the idle and timeout scheduler functions to use plain
		g_idle_add() and g_timeout_add().

	- As a side-effect of the first change, nm_dbus_manager_get() no longer
		takes an argument; fix that up too.

	- Remove all locking, which is useless since we no longer use threads.  For
		example, nm_get_device_by_iface_locked() has been removed.  The global
		device list lock, the AP List lock, and all static locks in
		NetworkManagerPolicy.c have been removed.  The locking utility functions
		in NetworkManagerUtils.c have also been removed.

	- Other cleanups in spacing and code style



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2205 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-01-04 12:06:26 +00:00
Dan Williams
a6f5833cb3 2006-12-19 Dan Williams <dcbw@redhat.com>
Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
	plus a few other patches from wpa_supplicant bugzilla.

	* src/Makefile.am
	  src/NetworkManagerPolicy.c
	  src/NetworkManagerUtils.c
	  src/NetworkManagerUtils.h
	  src/nm-ap-security-leap.c
	  src/nm-ap-security-wep.c
	  src/nm-ap-security-wpa-eap.c
	  src/nm-ap-security-wpa-psk.c
	  src/nm-ap-security.c
	  src/nm-ap-security.h
	  src/nm-device-802-11-wireless.c
	  src/nm-device-802-11-wireless.h
	  src/supplicant-manager/nm-supplicant-config.c
	  src/supplicant-manager/nm-supplicant-config.h
	  src/supplicant-manager/nm-supplicant-interface.c
	  src/supplicant-manager/nm-supplicant-interface.h
	  src/supplicant-manager/nm-supplicant-marshal.list
	  src/supplicant-manager/nm-supplicant-settings-verify.c
	  src/supplicant-manager/nm-supplicant-settings-verify.h
		- Move all connection management and association handling to
			wpa_supplicant over dbus, rather than spawning a private copy


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2192 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-12-19 19:15:31 +00:00
Dan Williams
3834255f8c 2006-12-19 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
			better locking of the device change check handler ID.  Incorrect
			locking was causing lost device change requests


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2191 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-12-19 19:04:04 +00:00
Dan Williams
84678fc9fe 2006-10-13 Dan Williams <dcbw@redhat.com>
* Huge DBus refactor:
		- Create a "DBus Manager" object which manages the connection and
		sends signals on NameOwnerChanged and connection/disconnection events,
		handles reconnection to the bus if NM gets kicked off, and abstracts
		signal handling
		- Remove DBusConnection members from places where they are no
		longer needed due to the refactor, like the dbus-connection
		property of the named manager, and from NMData
		- Reformats a bunch of the code to gnome style
		(8-space tabs, braces on same line as statement, 80-col width).
		Consider it open season to reformat any bits to gnome style.
		style that aren't already.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2061 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-10-13 19:41:47 +00:00
Dan Williams
e18e59e356 2006-05-28 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (nm_policy_device_change_check): don't switch devices if the "best"
			AP is essentially the same as the current activation request, but
			the current activation request isn't done activating yet.  Fixes
			multiple requests for keyring password on startup for Gnome applet.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1775 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-05-28 20:08:11 +00:00
Robert Love
6fd1cc39d2 2006-04-20 Robert Love <rml@novell.com>
Fix bug where hidden ESSID's would not show up in the applet, even
	if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
	because nm_policy_device_list_update_from_allowed_list() would merge
	the data, putting a name to the hidden networks, but never notify NMI
	of the changes.  Simple fix is to invoke the function
	nm_dbus_signal_wireless_network_change() if we make a mapping.
	* src/NetworkManagerAPList.c: Call the function
	  nm_dbus_signal_wireless_network_change() if we made a successful
	  BSSID to ESSID mapping, notifying the applet of the "new" network.
	* src/NetworkManagerAPList.h: Update the prototypes for both
	  nm_ap_list_copy_essids_by_address() and
	  nm_ap_list_copy_one_essid_by_address().


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1700 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-04-20 20:40:25 +00:00
Robert Love
992f148ffa * src/NetworkManagerDbus.c: Fix comment.
* src/NetworkManagerPolicy.c: Fix crasher.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1664 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-03-30 14:42:43 +00:00
Dan Williams
f5876bbd07 2006-03-03 Dan Williams <dcbw@redhat.com>
Fix a crash if an "Other wireless network" was chosen, failed, then
	chosen again from the applet's menu.  If the other network wasn't
	noticed in a scan, it wouldn't have any capabilities, but would still
	be listed because the user forced the network.  To fix this, we set
	sensible capabilities on the forced network, which will get overwritten
	with the correct ones if the network shows up later in a scan.

	* src/nm-ap-security.h
		- Add a new "get_default_capabilities_func" member to the
			NMAPSecurity class

	* src/nm-ap-security.c
		- (nm_ap_security_get_default_capabilities): new function

	* src/nm-ap-security.c
	  src/nm-ap-security-wep.c
	  src/nm-ap-security-wpa-psk.c
	  src/nm-ap-security-wpa-eap.c
		- Implement get_default_capabilities_func() for all, which
			uses the information contained in a specific NMAPSecurity
			object to determine default AP capabilites necessary
			to support that object

	As a secondary measure, we now prune artificial access points that fail
	to be activated right away.  The thing failed, and we have no scan data for
	it, so it's pretty much useless since security information is only saved
	in the applets when a connection is successful.

	* src/NetworkManagerAPList.c
		- (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
			not artificial.  If we see it, it's no longer a figment of the
			user's imagination :)

	* src/NetworkManagerPolicy.c
		- (nm_policy_activation_failed): send along the failed AP if we
			have it

	* src/nm-device-802-11-wireless.c
		- (real_activation_failure_handler): remove artificial APs from
			the device list, because activation failed


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1542 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-03-03 17:46:35 +00:00
Dan Williams
ad38b25413 2006-02-26 Dan Williams <dcbw@redhat.com>
* configure.in
	  gnome/applet/Makefile.am
		- Conditionalize all the notify stuff

	Merge most of Chris Aillon's notification patch:

	* gnome/applet/applet-notifications.[ch]
		- New files; show a notification

	* gnome/applet/applet-dbus-devices.[ch]
		- (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
		   nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
			new functions, do the right thing when a device change occurs

	* gnome/applet/applet-dbus.c
		- (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
			signals, so we can handle them specially

	* gnome/applet/applet.[ch]
		- nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
		- nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
		- (nmwa_notify_state): remove
		- (nmwa_update_state); remove call to nmwa_notify_state, since the
			notification work is now done when the appropriate dbus signals
			are received.
		- (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
			defer execution of the notification/dialog stuff.  That was an
			artifact of the previous multi-threaded nature of the applet
			and is now pointless.
		- (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
			no longer needed.  Function folded into applet-notifications.c

	* src/NetworkManagerPolicy.c
		- (nm_policy_activation_finish): send the AP along with the device
			status change signal, if the connection is wireless.  Should
			fix the race where applet would show a connection to "unknown"


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1498 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-02-26 06:52:26 +00:00
Dan Williams
2864ede525 2006-01-22 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerAP.[ch]
		- (nm_ap_get_matched, nm_ap_set_matched): remove

	* src/NetworkManagerAPList.[ch]
		- (nm_ap_list_diff): removed
		- (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
			deal with access points changing essids on us

	* src/nm-device-802-11-wireless.c
		- (add_new_ap_to_device_list): move AP dbus signal logic to
			src/NetworkManagerAPList.c
		- (real_can_interrupt_activation): new function; allow interruption
			of device activation if we are waiting for a network key

	* src/NetworkManagerPolicy.c
		- (nm_policy_device_change_check): allow interruption of currently
			activating devices if the device allows it.  Previous behavior
			would refuse to activate a just-plugged wired device if a
			wireless device was waiting for a key.

	* src/nm-device.[ch]
		- (nm_device_can_interrupt_activation): new function; ask devices
			whether their activation can be interrupted


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1375 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-01-22 22:40:14 +00:00
Dan Williams
b225c2a019 2006-01-16 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (nm_policy_device_change_check): switch devices if we lose the link
			on an ethernet device.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1340 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-01-16 19:10:10 +00:00
Robert Love
46efeb868a 2006-01-11 Robert Love <rml@novell.com>
* configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
	* gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
	  src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
	  src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
	  src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
	  src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
	  test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
	* src/nm-device-802-11-wireless.c: Fix floating point comparison by
	  comparing values within DBL_EPSILON.  Also fix shadowed variable
	  usage.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1318 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-01-11 21:07:29 +00:00
Dan Williams
5cac86fdd2 2006-01-09 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (nm_policy_device_change_check): don't autoswitch away from
			Ad-Hoc networks, since there's really no concept of "link"

	* src/nm-dbus-nm.c
		- (nm_dbus_nm_create_wireless_network): mark created networks
			as Ad-Hoc networks

	* src/nm-device-802-11-wireless.c
		- (real_activation_success_handler): add user-created Ad-Hoc
			networks to the device's scan list


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1300 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-01-09 05:11:29 +00:00