Commit graph

61 commits

Author SHA1 Message Date
Dan Williams
bf974b6aa4 2008-03-07 Dan Williams <dcbw@redhat.com>
Change manager's StateChange signal to StateChanged for consistency.

	* introspection/nm-manager.xml
		- Add 'StateChanged' signal
		- Move 'StateChange' down to the deprecated section

	* src/nm-hal-manager.c
		- (nm_hal_manager_new): connect to 'state-changed' instead

	* src/NetworkManagerPolicy.c
		- (nm_policy_new): connect to 'state-changed' instead

	* src/nm-manager.c
	  src/nm-manager.h
		- (nm_manager_update_state): emit both 'state-changed' and 'state-change'
		- (nm_manager_class_init): add 'state-changed' and not the deprecation
			of 'state-change'

	* libnm-glib/nm-client.c
	  libnm-glib/nm-client.h
		- (constructor, nm_client_class_init, client_state_changed_proxy):
			track and proxy 'state-changed' instead of 'state-change'



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3393 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-07 23:17:48 +00:00
Dan Williams
3fec481414 2008-03-07 Dan Williams <dcbw@redhat.com>
First pass of multiple active device support.  Expect bugs.

	* src/nm-ip4-config.c
	  src/nm-ip4-config.h
		- (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
			there are better ways to do this in the named manager

	* src/nm-device.c
	  src/nm-device.h
		- (nm_device_can_activate): return whether the device can activate a
			connection right now; taking into account things like carrier state
			and rfkill state
		- (nm_device_get_best_auto_connection): renamed from
			nm_device_get_best_connection
		- (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
			device subclasses themselves, so that each device can override the
			MTU from it's NMSetting subclass if needed
		- (nm_device_set_ip4_config): set MTU when setting up routes and stuff
			in NetworkManagerSystem.c, not here

	* src/named-manager/nm-named-manager.c
	  src/named-manager/nm-named-manager.h
		- (nm_named_manager_name_owner_changed,
		   nm_named_manager_dbus_connection_changed): fix for changes to
			rewrite_resolv_conf()
		- (compute_nameservers): don't need the NMNamedManager at all, remove
			from parameter list
		- (merge_one_ip4_config): new function; merge ip4 configs together
		- (rewrite_resolv_conf): write out resolv.conf from all the stored
			ip4 configs; the VPN config takes precedence, then the best
			device config, then the rest of the configs
		- (get_domain_for_config): take the NMNamedManager as an argument
			to check whether the config is the VPN config
		- (add_ip4_config_to_named): fixups for removal of the 'secondary'
			attribute from ip4 configs
		- (add_all_ip4_configs_to_named): add all the configs in priority order
		- (remove_ip4_config_from_named): fix for changes to
			get_domain_for_config()
		- (nm_named_manager_add_ip4_config): assign the config to the right slot
			based on its type; callers must pass in the type now
		- (get_last_default_domain): remove, unused
		- (nm_named_manager_remove_ip4_config): handle config slots correctly

	* src/nm-device-802-11-wireless.c
		- (real_can_activate): new function
		- (real_get_best_auto_connection): renamed from real_get_best_connection
		- (real_act_stage4_get_ip4_config): handle MTU override

	* src/nm-device-802-3-ethernet.c
		- (real_can_activate): new function
		- (real_get_best_auto_connection): renamed from real_get_best_connection
		- (real_act_stage4_get_ip4_config): new function; handle MTU override

	* src/vpn-manager/nm-vpn-connection.c
		- (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
			attribute on the ip4 config

	* src/NetworkManagerPolicy.c
		- (nm_policy_auto_get_best_device): remove
		- (nm_policy_device_change_check): remove
		- (update_default_route): new function; set the default route via
			the specified device
		- (get_device_priority): new function; return the priority number of
			a device type WRT which one should have the default route.  Order is
			(highest to lowest)  wired, wireless, GSM, CDMA.
		- (update_routing_and_dns): new function; determine which device should
			have the default route, then update the routing table and DNS
		- (maybe_auto_activate_device): new function; if a device is now
			available for activation, find out what connection it would like to
			activate and do it
		- (schedule_activate_check): new function; if a device can be activated
			now, schedule the activation.  Each device may have only one
			pending activation at a given time.
		- (device_state_changed): if activation was canceled, try again,
			possibly with another connection; if the device was activated,
			update routing and DNS; if the device was deactivated, try again
			with another connection
		- (device_carrier_changed): if there is no carrier, deactivate the
			device; otherwise schedule an activation check for the device
		- (wireless_networks_changed): schedule an activation check for the
			device
		- (device_added): keep track of the signal handler IDs so they can
			be removed when the device goes away
		- (device_removed): remove any signal handlers that might be attached
			to the device; update routing and DNS
		- (schedule_activate_all): new function
		- (connections_added, connection_added, connection_updated): when
			connections change, schedule all devices for an activation check
		- (connection_removed): when a device is deactivated because its
			connection was removed, schedule another activation check for it
		- (nm_policy_destroy): destroy pending activations and disconnect
			all device signal handlers

	* src/nm-manager.c
		- (nm_manager_activate_device): if the device was already actived,
			deactivate it
		- (deactivate_old_device): remove
		- (connection_added_default_handler, impl_manager_activate_device):
			don't deactivate other devices when activating this one

	* src/backends/NetworkManagerGentoo.c
	  src/backends/NetworkManagerFrugalware.c
	  src/backends/NetworkManagerPaldo.c
	  src/backends/NetworkManagerRedHat.c
	  src/backends/NetworkManagerSlackware.c
	  src/backends/NetworkManagerArch.c
	  src/backends/NetworkManagerSuSE.c
	  src/backends/NetworkManagerDebian.c
		- (nm_system_get_mtu): remove; MTU should be provided through the
			distro's system settings service plugin instead
		- (nm_system_device_add_default_route_via_device): remove
		- (nm_system_device_add_default_route_via_device_with_iface): remove
		- (nm_system_device_replace_default_route): new function; call
			generic implementation

	* src/backends/NetworkManagerGeneric.c
	  src/backends/NetworkManagerGeneric.h
		- (nm_generic_device_add_default_route_via_device,
		   nm_generic_device_add_default_route_via_device_with_iface): remove
		- (nm_generic_device_replace_default_route): replace the default route
			with the given route via some gateway

	* src/NetworkManagerSystem.c
	  src/NetworkManagerSystem.h
		- (nm_system_device_set_from_ip4_config): let the policy handle updates
			to routing and DNS; but set the MTU here
		- (nm_system_vpn_device_set_from_ip4_config): set the route with the
			ip_iface of the active device; use the standard MTU setting function
		- (nm_system_set_mtu): remove
		- (nm_system_device_set_mtu): consolidate MTU setting code in one place



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3391 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-07 19:41:32 +00:00
Dan Williams
f53230715e 2008-02-20 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (nm_policy_device_change_check): get scope off the connection, not
			using the manager helper

	* src/nm-manager.c
	  src/nm-manager.h
		- (get_scope_for_proxy): rename from get_type_for_proxy()
		- (connection_get_settings_cb): set scope and path on connection, not
			using GObject data items
		- (get_connection_for_proxy): don't need to return path, since that
			can be gotten from the connection
		- (get_connection_for_proxy): get path off the connection, not from
			parameters
		- (connection_removed_cb, connection_updated_cb): don't need to get
			path from get_connection_for_proxy(); get scope off the connection
			instead of using GObject data items
		- (connection_added_default_handler, add_one_connection_element): use
			nm_connection_get_path() not nm_manager_get_connection_dbus_path()
		- (nm_manager_get_connection_dbus_path): remove
		- (nm_manager_get_connection_scope): remove



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3335 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-02-21 03:04:18 +00:00
Dan Williams
fd0ab916c8 2008-02-20 Dan Williams <dcbw@redhat.com>
* Global rename of NMConnectionSettings -> NMExportedConnection to cut down
		on confusing names

	* Add 'path' and 'scope' properties to NMConnection since both NM and the
		applet were having to hack this in anyway.  Remove the 'path' stuff from
		NMExportedConnection

	* Internally rename NMConnectionType -> NMConnectionScope

	* Provide default implementations of the 'get_id' and 'get_settings' methods
		of NMExportedConnection



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3334 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-02-20 22:37:39 +00:00
Dan Williams
44dab5321f 2008-02-06 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (finalize): remove devices a bit earlier; clean up system settings
			poke
		- (nm_manager_name_owner_changed): clean up system settings poke when
			the service appears, and try to restart it if it fails
		- (poke_system_settings_daemon_cb): try to get the system settings
			service started through D-Bus service activation
		- (initial_get_connections): start the system settings daemon if it's
			not already running



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3293 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-02-06 16:50:43 +00:00
Dan Williams
2e8c58b60e wording tweak
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3252 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-01-19 15:14:21 +00:00
Dan Williams
5d1d4d185e 2008-01-17 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (check_connection_allowed): take an NMDeviceInterface instead of
			an NMDevice object as an argument
		- (nm_manager_activate_device): pass an NMDeviceInterface to
			check_connection_allowed()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3241 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-01-18 02:54:55 +00:00
Tambet Ingo
8774cc756a 2008-01-02 Tambet Ingo <tambet@gmail.com>
* libnm-util/nm-setting-serial.c (nm_setting_serial_class_init):
        * Mark the properties
        with G_PARAM_CONSTRUCT so that they get the default values.

        * src/nm-gsm-device.c: Add preliminary support for monitoring
        * device. It only monitors
        the monitoring device and prints out the output for now. Or more
precicely, doesn't
        do absolutely anything right now since the montoring device
argument is never set.

        * src/nm-serial-device.c (serial_debug): Implement. It's very
        * verbose and thus
        requires it's own knob to turn it on.
        (config_fd): Add NMSettingSerial to the arguments list.
        (nm_serial_device_open): Ditto.
        (get_reply_got_data): Ignore the terminators at the beginning of
the output.
        (nm_serial_device_get_io_channel): Implement.

        * src/nm-manager.c: Add NMDBusManager to the private data of the
        * NMManager. Asking
        a new reference every time (and forgetting to release it
sometimes) is a pain and
        it's not like NMManager could work without dbus.
        (nm_manager_add_device): Register the added device on dbus here.

        * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now
        * for the monitoring
        device.

        * src/nm-device.c (constructor): Don't export the device here,
        * instead export
        it when it's added to the NMManager's device list.




git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3203 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-01-02 13:42:52 +00:00
Dan Williams
ec22c11c4f 2007-12-31 Dan Williams <dcbw@redhat.com>
* src/nm-device-interface.c
	  src/nm-device-interface.h
		- (nm_device_interface_check_connection_conflicts): new function

	* src/nm-device.c
	  src/nm-device.h
		- (nm_device_check_connection_conflicts): new function
		- (device_activation_precheck): don't require subclasses to implement
			check_connection_complete()
		- check_connection() -> check_connection_complete()

	* src/nm-device-802-11-wireless.c
		- (real_check_connection): remove; unused
		- (real_check_connection_conflicts): implement, handle lockdown for
			system connections

	* src/nm-device-802-3-ethernet.c
		- (real_check_connection): remove; unused

	* src/nm-manager.c
		- (check_connection_allowed): new function
		- (nm_manager_activate_device): ensure the connection being requested
			is allowed to be activated

	* src/nm-serial-device.c
	  src/nm-gsm-device.c
		- real_check_connection() -> real_check_connection_complete()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3201 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-12-31 17:05:25 +00:00
Dan Williams
7f88f52573 2007-12-27 Dan Williams <dcbw@redhat.com>
* src/nm-device-interface.c
	  src/nm-device-interface.h
		- (nm_device_interface_error_quark, nm_device_interface_error_get_type):
			normalize and expand errors
		- (nm_device_interface_init): register errors so they can be marshalled
			through dbus-glib
		- (nm_device_interface_activate): ensure that failure of activation
			returns an error

	* src/nm-device.c
	  src/nm-device.h
		- (device_activation_precheck): implementations of check_connection()
			now take a GError and must fill it in if the check fails.  Return
			more descriptive error if the requested connection is already
			activating
		- (nm_device_activate): actually try to return descriptive errors on
			failures

	* src/nm-device-802-11-wireless.c
	  src/nm-device-802-3-ethernet.c
	  src/nm-serial-device.c
	  src/nm-gsm-device.c
		- (real_check_connection): return more descriptive errors on failure

	* src/NetworkManagerPolicy.c
		- (nm_policy_device_change_check): print activation errors in the logs

	* src/nm-manager.c
		- (nm_manager_error_quark, nm_manager_error_get_type,
		   nm_manager_class_init): new errors
		- (nm_manager_activate_device): handle errors
		- (nm_manager_error_new): removed
		- (wait_for_connection_expired, connection_added_default_handler,
		   impl_manager_activate_device): better error handling



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3197 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-12-27 08:06:27 +00:00
Dan Williams
b1d28ff48b Fix gnome.org #503840
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3179 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-12-18 04:15:42 +00:00
Dan Williams
cfaa9b73a1 Avoid memory leak on error
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3166 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-12-12 22:40:42 +00:00
Tambet Ingo
db5a10dc4d 2007-11-28 Tambet Ingo <tambet@gmail.com>
Merge the beginnings of the new GSM card support.

        * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove
        * the
        ppp watch source before killing pppd - If this happens from
g_object_unref()
        then the ppp manager is already destroyed by the time the watch
callback runs.

        * src/nm-hal-manager.c: Add a device_type_name string to the
        * device
        creators, so that we can print a nice human readable string when
a
        device is added.

        * src/nm-umts-device.c (automatic_registration_get_network):
        * Query
        for the activated network, not much is done with the result
thought.

        * src/nm-serial-device.c (nm_serial_device_get_reply):
        * Implement.
        (ppp_ip4_config): Change the device state to activated here for
now.
        (real_check_connection): Make sure the connection includes ppp
setting.

        * libnm-glib/nm-client.c (get_device): Handle umts devices.

        * libnm-glib/Makefile.am: Add the new files to build.

        * libnm-glib/nm-umts-device.c: 
        * libnm-glib/nm-umts-device.h: Implement.

2007-11-26  Tambet Ingo  <tambet@gmail.com>

        * src/nm-umts-device.c (automatic_registration_get_network): For
        * now, dial
        immediately, nm_serial_device_get_reply() isn't implemented
correctly yet.

        * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't
        * try to remove
        the timeout source - this function is only called when the
timeout source has
        been removed.
        (nm_serial_device_wait_for_reply): Allocate the duplicate
responses array
        to be big enough to contain the terminating zero element as
well.
        The timeout argument is meant to be in seconds now.
        (real_deactivate_quickly): Implement.

        * src/NetworkManager.conf: Allow root to own 
        "org.freedesktop.NetworkManager.PPP", deny it for everybody
else.

        * libnm-util/nm-setting-umts.c: Network type and band properties
        * are ints,
        (not unsigned ints).

        * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init):
        * Fix a 
        small issue with parity bounds - capital letters have lower
ascii codes
        than lower case letters.

        * libnm-util/nm-connection.c (register_default_settings):
        * Register serial
        and umts settings.

2007-11-22  Tambet Ingo  <tambet@gmail.com>

        Remove the "index" property from devices as not all device types
have this.

        * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.

        * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
        (wired_device_creator): Get the device interface from hal to
create the device.
        (wireless_device_creator): Ditto.

        * src/nm-device.c (nm_device_init): Remove the index member.
        (constructor): Remove the checks for index property, make
interface property
        a require constructor property.
        Use the HAL udi for DBus path for devices.
        (nm_device_get_index): Remove.
        (set_property): Remove index handling.
        (get_property): Ditto.
        (nm_device_get_dbus_path): Remove.

        * src/nm-device-interface.c (nm_device_interface_init): Remove
        * the index
        property.

        * src/nm-device-802-3-ethernet.c
        * (nm_device_802_3_ethernet_link_activated):
        Access the device index through it's interface.
        (nm_device_802_3_ethernet_link_deactivated): Ditto.
        (nm_device_802_3_ethernet_new): Remove the useless argument
test_dev. Remove
        index argument. Add interface argument.

        * src/nm-device-802-11-wireless.c
        * (nm_device_802_11_wireless_new): Remove
        the useless test_dev argument. Remove index argument. Add
interface arugment.

        * src/NetworkManagerSystem.c
        * (nm_system_device_set_from_ip4_config): Get the
        device index through interface.
        (nm_system_set_mtu): Ditto.

        * introspection/nm-device.xml: Remove the "Index" property.

2007-11-21  Tambet Ingo  <tambet@gmail.com>

        * src/nm-serial-device.c: 
        * src/nm-serial-device.c: 
        * src/nm-umts-device.c:
        * src/nm-umts-device.h: Implement.

        * src/nm-hal-manager.c (nm_get_device_driver_name):
        * libhal_free_string the string 
        allocated by libhal.
        (modem_device_creator): Implement.
        (register_built_in_creators): Register the modem creator.

        * src/nm-device-802-11-wireless.c
        * (nm_device_802_11_wireless_new): 
        Remove the unused test_dev argument.

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

        * src/Makefile.am: Add new files to build.
        Link in ppp-manager.

        * libnm-util/nm-setting-umts.c: 
        * libnm-util/nm-setting-umts.h: 
        * libnm-util/nm-setting-serial.c: 
        * libnm-util/nm-setting-serial.h: Implement.

        * libnm-util/Makefile.am: Add new files to build.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3116 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-11-29 14:38:07 +00:00
Tambet Ingo
6b79d40a76 2007-11-07 Tambet Ingo <tambet@gmail.com>
Rework NMSetting structures: Move each setting to it's own file.
        Convert to GObject. Remove home grown setting types and use
GTypes.
        Use GObject property introspection for hash conversion,
enumerating
        properties, etc.

        * libnm-util/nm-setting-connection.[ch]
        * libnm-util/nm-setting-ip4-config.[ch]
        * libnm-util/nm-setting-ppp.[ch]
        * libnm-util/nm-setting-vpn.[ch]
        * libnm-util/nm-setting-vpn-properties.[ch]
        * libnm-util/nm-setting-wired.[ch]
        * libnm-util/nm-setting-wireless.[ch]
        * libnm-util/nm-setting-wireless-security.[ch]

        New files, each containing a setting.

        * libnm-util/nm-setting-template.[ch]: A template for creating
        * new
        settings. To use it, just replace 'template' with the new
setting
        name, and you're half-way done.

        * libnm-util/nm-setting.c: Convert to GObject and use GObject
        introspection instead of internal types and tables.

        * libnm-util/nm-connection.c: Adapt the new NMSetting work.

        * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
        GValue types defined by dbus-glib for composed types like
collections,
        structures and maps.

        * src/*: The API of NMSetting and NMConnection changed a bit:
        * Getting
        a setting from connection takes the setting type now. Also,
since
        the settings are in multiple files, include relevant settings.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3068 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-11-07 16:06:43 +00:00
Dan Williams
42a732d9b9 2007-10-19 Dan Williams <dcbw@redhat.com>
Split the GetSecrets() call off to a separate D-Bus interface so that it
	can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
	should be able to call GetSecrets().

	* include/NetworkManager.h
		- Define the connection secrets D-Bus interface

	* src/vpn-manager/nm-vpn-connection.c
		- (clear_need_auth): get the right proxy object for the connection
			secrets interface
		- (get_connection_secrets): use the connection secrets proxy; send
			empty hints in get secrets request

	* src/nm-activation-request.c
		- (nm_act_request_request_connection_secrets): use the connection
			secrets proxy; send empty hints in get secrets request

	* src/nm-manager.c
	  src/nm-manager.h
		- (connection_get_settings_cb): set the connection secrets proxy on
			the connection object too
		- (internal_new_connection_cb): create the connection secrets proxy

	* introspection/nm-settings-connection.xml
		- Define Connection.Secrets interface and move GetSecrets there
		- Add a 'hints' argument to GetSecrets

	* libnm-glib/nm-settings.c
	  libnm-glib/nm-settings.h
		- (impl_connection_settings_get_secrets): add 'hints' argument



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2989 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-19 04:55:05 +00:00
Dan Williams
7d424355e2 2007-10-17 Dan Williams <dcbw@redhat.com>
* src/nm-manager.h
	  src/nm-manager.c
	  src/nm-hal-manager.c
		- (device_removed, finalize, nm_manager_remove_device,
		   nm_manager_sleep): add a 'deactivate' argument to 
		   nm_manager_remove_device() to fully deactivate devices when necessary
		   (ie, always except when waking up)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2985 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-17 11:36:33 +00:00
Dan Williams
9f255cf493 2007-10-16 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (manager_set_wireless_enabled): don't allow wireless to be enabled
			if it's disabled in hardware; don't touch network devices while
			NM is asleep



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2980 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-16 19:30:29 +00:00
Dan Williams
bebd0e38b8 2007-10-16 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-client.c
		- (nm_client_activate_device): convert NULL specific_object to "/",
			which is used in place of NULL

	* src/nm-manager.c
		- (impl_manager_activate_device): convert "/" specific_object back into
			NULL



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2979 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-16 18:59:36 +00:00
Tambet Ingo
7e2a621f0a 2007-10-15 Tambet Ingo <tambet@gmail.com>
Implement killswitch polling through HAL.

        * src/nm-manager.c: Add wireless hardware status property. Add 
        'properties-changed' signal for changes in wireless and wireless
hardware
        state changes.

        * src/nm-hal-manager.c: Poll hal for killswitch statuses in
        * every 6 seconds
        and update NMManager's wireless hardware state when it has
changed.
        (nm_hal_manager_new): Don't try to add initial devices here -
(hal_init)
        already does that.

        * libnm-glib/nm-client.c: Add wireless hardware status property.
        * Cache the
        values of wireless state and wireless hardware state. Listen for
the
        'properties-changed' signals, update the cached values and emit
notify.

        * include/NetworkManager.h: Fix a typo in a comment.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2975 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-15 14:46:37 +00:00
Dan Williams
dc3d072b04 2007-10-10 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (wait_for_connection_expired): ensure info is valid
		- (connection_added_default_handler): Should only remove pending
			connection info when the manager has the connection that it's
			waiting for.  Fixes segfault in wait_for_connection_info().  



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2969 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-10 20:45:15 +00:00
Tambet Ingo
24adbe3fa4 2007-10-09 Tambet Ingo <tambet@gmail.com>
* src/NetworkManagerUtils.c
        (nm_utils_is_empty_ssid):
        (nm_utils_escape_ssid):
        (nm_utils_same_ssid): Remove. These functions are copied and
pasted in a 
        lot of places, so they belong to libnm-utils instead.

        Now with 100% less compiler warnings:

        * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove,
        * unused.
        (nm_dbus_unescape_object_path): Ditto.
        (nm_utils_ssid_to_utf8): Ditto.
        (nm_utils_is_empty_ssid): Move here from
src/NetworkManagerUtils.c
        (nm_utils_escape_ssid): Ditto.
        (nm_utils_same_ssid): Ditto.

        * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
        (add_one_connection_element): Remove an unused variable.
        (impl_manager_get_active_connections): Ditto.

        * src/NetworkManagerPolicy.c (get_device_connection): Remove an
        * unused
        variable.

        * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove
        * a leftover
        from the previous commit.

        * src/nm-device-802-11-wireless.c (set_current_ap): Remove
        * unused variable.
        (real_act_stage1_prepare): Ditto.
        (activation_success_handler): Ditto.
        (get_property): Ditto.

        * src/nm-device-802-3-ethernet.c (real_get_best_connection):
        * Remove unused
        variable.

        * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check
        * for 'ifname',
        it's always set.

        * src/supplicant-manager/nm-supplicant-config.c 
        (nm_supplicant_config_add_setting_wireless): Cast the
GByteArray's 'guint8 *'
        to expected "char *".
        (nm_supplicant_config_add_setting_wireless): Ditto.
        (nm_supplicant_config_remove_option): Remove, not used.

        * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is
        * a guint32,
        not double.
        (test_wireless_enabled): Ifdef out unused function.
        (device_deactivate): Ditto.
        (device_state_changed): Ditto.
        (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
        (nm_utils_escape_ssid): Ditto.

        * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in
        * libnm-utils.
        (nm_utils_is_empty_ssid): Ditto.

        * libnm-glib/nm-client.c
        * (nm_client_free_active_connection_element): Remove
        unused variable.

        * libnm-util/nm-setting.c (setting_wireless_destroy): Remove
        * unused variable.
        (setting_vpn_properties_update_secrets): Ditto.
        (int_to_gvalue): Ifdef out for now, not used.
        (byte_to_gvalue): Ditto.

        * libnm-util/dbus-dict-helpers.c
        * (_nmu_dbus_add_dict_entry_string_array): 
        Unused, remove.




git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2960 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-09 08:57:35 +00:00
Dan Williams
8bb7cdee1a 2007-10-08 Dan Williams <dcbw@redhat.com>
Fix problems with interrupted activation.  Previously, choosing an AP
	from the menu, then choosing another one before the first connection was
	successful wouldn't deactivate the device before starting the new connection
	on that same device.

	* src/NetworkManagerPolicy.c
		- (deactivate_old_device, device_state_changed, state_changed,
		   nm_policy_new): wrong place to deactivate old devices

	* src/nm-manager.c
		- (pending_connection_info_destroy, finalize,
		   wait_for_connection_expired): decouple destruction of the pending
			connection info from the manager device
		- (connection_added_default_handler): deactivate any active or
			activating device before starting a new activation
		- (impl_manager_activate_device): deactivate any active or activating
			device before starting a new activation; be sure not to leak
			pending connection info if a new activation request arrives but
			there's already a pending one in-process



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2956 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-08 16:27:07 +00:00
Dan Williams
d66216620d 2007-10-08 Dan Williams <dcbw@redhat.com>
* src/nm-device-802-11-wireless.c
	  src/nm-device-802-11-wireless.h
		- (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
			'hidden-ap-found' signal (for internal use only) that allows the
			NMManager to fill in the AP's SSID if a connection has that AP's
			BSSID in its seen-bssids list

	* src/nm-manager.c
		- (manager_hidden_ap_found, nm_manager_add_device): attach to a
			wireless device's hidden-ap-found signal and fill in the APs SSID
			if possible



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2953 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-08 15:09:33 +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
a52ee53e2c 2007-10-06 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (connections_to_slist): sort connections first on autoconnect, then
			on timestamp



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2947 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-06 13:27:51 +00:00
Dan Williams
dff2886fb4 2007-10-06 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
	  src/nm-manager.h
		- (nm_manager_get_connection_dbus_path): make static
		- (nm_manager_update_connections): remove; unused
		- Add a connection-updated signal
		- (new_connection_cb, connection_updated_cb, nm_manager_class_init):
			handle connection object updates



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2942 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-06 04:28:46 +00:00
Dan Williams
f9fd8667d1 2007-10-03 Dan Williams <dcbw@redhat.com>
Add a GetActiveConnections() method on the Manager object.

	* src/nm-manager.c
	  src/nm-manager.h
	  introspection/nm-manager.xml
		- (connection_get_settings_cb): keep connection type around too
		- (impl_manager_get_active_connections, add_one_connection_element):
			implement; returns all active connections and what devices they
			apply to

	* libnm-glib/nm-client.c
	  libnm-glib/nm-client.h
	  introspection/nm-manager-client.xml
		- (nm_client_get_devices): GPtrArray elements are allocated and owned
			by the caller; free here to avoid memory leak
		- (nm_client_get_active_connections): implement; return the list of
			active connections
		- (nm_client_free_active_connection_element): implement; free an element
			of the GSList returned by nm_client_get_active_connections()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2927 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-03 14:48:25 +00:00
Dan Williams
ee3f96cfd9 2007-10-01 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (impl_manager_activate_device): ensure the D-Bus method sends a return
			value when the connection can be activated immediately



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2922 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-02 01:12:55 +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
Dan Williams
b1bd00af07 2007-09-26 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
	  src/nm-manager.h
	  src/nm-activation-request.c
	  src/nm-activation-request.h
		- Move the GetSecrets stuff out of the NMManager instance because it
			doesn't really need to be there and complicates things

	* src/nm-device.c
		- (connection_secrets_failed_cb, device_activation_go): connect to the
			connection-secrets-failed signal and deactivate the device if
			the GetSecrets call fails

	* src/nm-device-802-11-wireless.c
		- (link_timeout_cb, supplicant_connection_timeout_cb,
		   real_act_stage2_config, real_act_stage4_ip_config_timeout): request
			secrets and give correct hints about whether new secrets should be
			asked for by the client or not



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2899 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-27 04:52:03 +00:00
Dan Williams
1451b90417 2007-09-26 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
	  src/nm-manager.h
		- (nm_manager_get_connection_secrets): make static, unused outside
			the file
		- Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2891 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-27 02:18:49 +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
e6f7cb13df 2007-09-25 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (nm_manager_update_state): new function; updates state and emits
			appropriate signals ensuring a state-change signal for the same state
			never gets emitted twice in a row.
		- (manager_device_state_changed): handle more device state to get a
			better picture of the overall NM state



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2882 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-25 16:47:53 +00:00
Dan Williams
6e1c10d31b 2007-09-25 Dan Williams <dcbw@redhat.com>
Ensure that old activation requests are forgotten about; previously
	hitting Cancel in the password dialog would deactivate whatever device
	that password was requested for, even if that wasn't the currently
	activating connection.

	* src/nm-manager.c
	  src/nm-manager.h
		- (nm_manager_get_connection_secrets): track the pending call
			object so it can be canceled later if needed
		- (nm_manager_cancel_get_connection_secrets): cancel a pending
			GetSecrets call for a particular connection

	* src/nm-activation-request.c
		- (dispose): cancel any outstanding GetSecrets calls on the
			connection



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2874 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-25 07:06:28 +00:00
Dan Williams
1817c62082 2007-09-25 Dan Williams <dcbw@redhat.com>
Properly re-query secrets from the settings daemon when stuff fails.

	* src/nm-device-802-11-wireless.c
		- (ap_auth_enforced): handle static WEP correctly here by differentiating
			between Shared Key and Open System auth modes
		- (link_timeout_cb, supplicant_connection_timeout_cb,
		   real_act_stage4_ip_config_timeout): clear existing secrets and
			request new ones when something fails due to a suspected wrong key
		- (real_act_stage2_config): fix for new request_new argument to
			nm_manager_get_connection_secrets()

	* src/nm-manager.c
	  src/nm-manager.h
		- (nm_manager_get_connection_secrets): return error status; pass
			new request_new argument on to the settings daemon

	* introspection/nm-settings-connection.xml
		- New 'request_new' argument to the GetSecrets call that hints to the
			settings daemon to ask the user for completely new secrets

	* libnm-glib/nm-settings.c
	  libnm-glib/nm-settings.h
		- (impl_connection_settings_get_secrets): handle new 'request_new'
			argument



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2872 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-25 06:21:38 +00:00
Dan Williams
44b7179e8c 2007-09-24 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (nm_manager_get_connection_secrets): Add a long timeout so the user
			actually has some time to enter a key before the GetSecrets call
			times out



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2866 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-24 21:29:53 +00:00
Dan Williams
9496e413c7 2007-09-24 Dan Williams <dcbw@redhat.com>
* introspection/nm-manager.xml
	  src/nm-manager.c
		- (impl_manager_legacy_state): fix 'state' method call return value



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2865 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-24 21:26:56 +00:00
Tambet Ingo
3f19c07885 2007-09-20 Tambet Ingo <tambet@gmail.com>
* libnm-util/nm-setting.h: Change the type of
        * NMSettingVPN->routes to
        GSList.

        * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes
        * too.

        * src/nm-manager.c (connection_get_settings_cb): No need to use
        * weakref,
        just use (g_object_set_data_full).

        * src/vpn-manager/nm-vpn-connection.c
        * (nm_vpn_connection_get_routes): Now
        that NMSettingVPN->routes is a GSList, convert it to char **.
        (nm_vpn_connection_ip4_config_get): Free routes when done.
        (nm_vpn_connection_activate): Ditto.

        * src/nm-device-802-11-wireless.c
        * (real_connection_secrets_updated)
        (real_act_stage2_config): Use defined setting names.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2832 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-20 11:52:51 +00:00
Dan Williams
117cd4d076 2007-09-20 Dan Williams <dcbw@redhat.com>
* src/nm-device-802-11-wireless.c
	  src/nm-manager.c
	  src/nm-manager.h
		- Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
			so that the device can be deactivated if secrets are wrong



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2830 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-20 11:25:47 +00:00
Dan Williams
13f21985d4 2007-09-14 Dan Williams <dcbw@redhat.com>
* src/nm-manager.h
	  src/nm-manager.c
		- (nm_manager_get_connection_service_name,
		   nm_manager_get_connection_dbus_path): get details about a connection
			known internally by the NMManager
		- (nm_manager_class_init): fix connection add/remove signal marshalers
			because NMConnection is now a GObject subclass
		- Use constant for the gobject data tag used on NMConnection objects for
			storing the associated DBusGProxy



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2810 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-14 19:36:00 +00:00
Dan Williams
7e079e3111 2007-09-11 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (connection_get_settings_cb): emit connection-added signal
		- (connection_removed_cb): uncomment bits for system settings service,
			send connection-removed when appropriate
		- (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
			the stack by trying to g_object_set_data() on something that's
			not a GObject; handle case where settings service returns
			empty settings hash table



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2793 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-11 23:28:41 +00:00
Dan Williams
937d1add73 2007-09-11 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting.c
	  libnm-util/nm-setting.h
		- (nm_setting_update_secrets): new function; add a virtual function that
			subclasses can implement to update their secrets
		- (setting_wireless_security_update_secrets): implement that function
			for the 802-11-wireless-security subclass

	* libnm-util/nm-connection.c
	  libnm-util/nm-connection.h
		- (nm_connection_update_secrets): update secrets for a Setting and
			emit a signal on success

	* src/nm-manager.c
	  src/nm-manager.h
	  src/nm-marshal.list
		- (connection_get_settings_cb): enable system settings bits
		- (nm_manager_get_connection_secrets, get_secrets_cb): add function
			to request secrets from the settings dbus service and to
			push those secrets to the NMConnection itself

	* src/nm-activation-request.c
	  src/nm-activation-request.h
		- Attach to the 'secrets-updated' signal of the NMConnection that's
			currently being activated, and proxy that signal to other listeners.
			Goes through the activation request because the activation request
			is the thing that manages the lifetime of the NMConnection that's
			being activated.

	* src/nm-device-802-11-wireless.c
		- (real_connection_secrets_updated): implement the connection secrets
			updated notification and restart activation when secrets are
			received
		- (real_act_stage2_config): request secrets from the settings dbus
			service if secrets are needed

	* src/nm-device.c
	  src/nm-device.h
		- (clear_act_request, nm_device_activation_cancel,
		   nm_device_deactivate_quickly, nm_device_dispose): consolidate places
			where the activation request is cleared
		- (nm_device_activate, connection_secrets_updated_cb): attach to the
			updated secrets signal of activation request and add a function
			that subclasses can override to handle it easily



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2782 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-11 18:02:27 +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
0b94b3d318 2007-09-10 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (query_connections): fix uninitialized variable problem that caused
			segfault
		- (nm_manager_add_device): take devices down on startup so that we can
			be assured that nm_device_is_up() won't short-circuit the init
			process.  Hack until the is_up check gets split into two pieces
			that aren't behaviorally confusing.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2777 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-10 18:31:56 +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
b1872d9ac2 2007-09-09 Dan Williams <dcbw@redhat.com>
Stupid mistake on my part; object path and interface for settings service
	and connection objects can be the same, only the service name must be
	different for the system and user settings services.

	* include/NetworkManager.h
	  src/nm-manager.c
	  introspection/nm-settings-connection.xml
	  introspection/nm-settings.xml
	  libnm-glib/nm-settings.c
		- (nm_connection_settings_init, query_user_connections,
		   new_connection_cb): Unify NetworkManagerSettings and Connection
		   interface name and object path



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2772 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-09 14:48:31 +00:00
Dan Williams
8af139dff4 2007-09-06 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (nm_manager_user_connections_destroy): clear the user connections hash
			table, don't destroy it
		- (finalize): only destroy the hash table on NMManager finalization



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2765 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-06 19:13:00 +00:00
Dan Williams
d1ac371963 2007-09-02 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
	  libnm-glib/nm-settings.c
		- defines for the user settings daemon D-Bus bits

	* src/NetworkManager.c
		- Remove stuff that referred to the old NetworkManagerInfo service

	* src/vpn-manager/nm-dbus-vpn.h
		- Move old NMI defines to the only place they are used still

	* libnm-util/nm-connection.c
	  libnm-util/nm-connection.h
	  src/nm-activation-request.c
		- Make NMConnection a GObject subclass so we can do spiffy stuff with it

	* src/nm-manager.c
	  src/nm-manager.h
		- Get connections and their settings from the user settings daemon
			at the appropriate times



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2763 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-03 01:12:23 +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
Tambet Ingo
2fe726d144 2007-08-27 Tambet Ingo <tambet@gmail.com>
* src/nm-manager.c (impl_manager_get_devices): Duplicate the
        * device path, 
        dbus-glib frees it when the call is done.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2736 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-27 14:18:04 +00:00