Commit graph

130 commits

Author SHA1 Message Date
Dan Williams
0f1310cda0 2007-08-28 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerMain.h
	  src/nm-device-802-11-wireless.c
	  src/NetworkManager.c
		- Remove invalid AP list from NMData; need to rework this somewhat, but
		for now we should set the 'invalid' property on individual APs, and when
		we need to invalidate a whole ESS, set the 'invalid' on every member of
		that ESS



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2741 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-28 15:33:29 +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
9194b61b8f 2007-08-28 Dan Williams <dcbw@redhat.com>
* src/nm-device.c
	  src/named-manager/nm-named-manager.c
	  src/named-manager/nm-named-manager.h
	  src/NetworkManager.c
	  src/vpn-manager/nm-vpn-manager.c
	  src/NetworkManagerMain.h
	  src/NetworkManagerSystem.c
		- Remove the named-manager object from NMData structure in preparation
		for NMData's timely death.  Make the NMNamedManager the singleton that
		it really is



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2739 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-28 15:00:00 +00:00
Tambet Ingo
9d1808c4e5 2007-06-11 Tambet Ingo <tambet@ximian.com>
* src/nm-device.c: Make the activation stage virtual functions take NMDevice
	argument. The activation request is easy to retrieve.

	* src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
	just to be a convenient location for devices to store random stuff.




git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2587 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-06-11 13:36:34 +00:00
Tambet Ingo
40db9193d3 2007-05-07 Tambet Ingo <tambet@ximian.com>
* src/nm-dbus-manager.c
	(proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
	DbusConnection argument from 'name-owner-changed' signal. The manager
	is already passed as a first argument to the signal and the connection
	is easy enough to get from it.

	* src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
	Update the signature of the function.

	* src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
	Ditto.

	* src/NetworkManager.c: Ditto.

	* src/named-manager/nm-named-manager.c
	(nm_named_manager_name_owner_changed): Ditto.

	* src/supplicant-manager/nm-supplicant-manager.c
	(nm_supplicant_manager_name_owner_changed): Ditto.

	* src/nm-hal-manager.c (name_owner_changed): Ditto.

	* src/dhcp-manager/nm-dhcp-manager.c
	(nm_dhcp_manager_name_owner_changed): Ditto.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2567 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-05-07 14:33:51 +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
f6aa7b4599 2007-02-19 Tambet Ingo <tambet@ximian.com>
* src/NetworkManagerDbus.c: Don't try to include non-existant files.

	* src/NetworkManager.c: Ditto.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2340 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-19 13:28:31 +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
8a4c57f631 2007-02-12 Tambet Ingo <tambet@ximian.com>
Totally break NetworkManager. Please use 0.6 branch until futher notice.

	* src/:
		- Remove old low-level dbus interface implementations and replace them
		  with dbus-glib one.

	* configure.in:
		- Require dbus-glib >= 0.72.
		- Plug in new sources to build.

	* libnm-glib/:
		- Implement GObject wrappers on top of DBUS glib auto-generated bindings
		  to make it more convenient to use from GObject based programs.

	* introspection/:
		- Implement DBUS XML introspection files, used by both NM and libnm-glib.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2309 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-12 09:23:43 +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
Tambet Ingo
58b53400a5 2007-02-05 Tambet Ingo <tambet@ximian.com>
* src/NetworkManagerMain.h: Remove all references to DHCP manager.

	* src/NetworkManager.c: Don't initialize the DHCP manager, it's a
	singleton now.

	* src/nm-device.c: Use the new DHCP manager API.

	* src/nm-activation-request.c:
	* src/nm-activation-request.h:
		- Remove all dhcp related properties and methods.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2284 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-05 09:50:11 +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
4bc25ba3bf 2006-11-25 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-types.h
		- new file; move all supplicant manager object typedefs here for
			#include sanity

	* src/supplicant-manager/nm-supplicant-interface.c
	  src/supplicant-manager/nm-supplicant-interface.h
		- new file; an object that interfaces an NMDevice object to the
			supplicant and handles signals from the supplicant.  This object
			does all necessary DBus communication with wpa_supplicant.

	* src/supplicant-manager/nm-supplicant-manager.c
	  src/supplicant-manager/nm-supplicant-manager.h
		- Actually do something.  Track the state of the wpa_supplicant service
			and deal with its comings & goings.  Handle life events of
			supplicant interfaces too.
		- Move NMSupplicantManager typedef to nm-supplicant-types.h

	* src/supplicant-manager/nm-supplicant-connection.h
		- Move NMSupplicantConnection typedef to nm-supplicant-types.h

	* src/supplicant-manager/Makefile.am
		- Add new files to build, and add libnm-util to includes

	* src/nm-marshal.list
		- New marshaler type: VOID:UINT,UINT

	* src/nm-device-802-3-ethernet.c
		- (real_init): grab a supplicant interface
		- (nm_device_802_3_ethernet_dispose): release the supplicant interface
		- (supplicant_iface_state_cb): new function, stub for handling
			supplicant interface state changes

	* src/nm-device-802-11-wireless.c
		- (real_init): grab a supplicant interface
		- (nm_device_802_11_wireless_dispose): release the supplicant interface
		- (supplicant_iface_state_cb): new function, stub for handling
			supplicant interface state changes

	* src/NetworkManager.c
		- (main): create and keep the supplicant manager around for the lifetime
			of NetworkManager

	* src/Makefile.am
		- Link to the supplicant manager sub-library and use the supplicant
			manager includes


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2125 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-11-25 15:41:04 +00:00
Dan Williams
81c31e820a 2006-11-25 Dan Williams <dcbw@redhat.com>
Rework DBus manager signal handling to be more flexible.  Previously,
	only one signal handler could be registered for a particular interface.
	The DBus manager now reference counts DBus bus matches and allows multiple
	clients to register signal handlers for the same interface and sender.

	* src/NetworkManager.c
		- (main): track NMI signal handler ID and remove it when we quit

	* src/NetworkManagerMain.h
		- Keep track of NMI signal handler ID

	* src/nm-dbus-manager.c
	  src/nm-dbus-manager.h
		- rework signal handling; each signal handler references one signal
			match, but a signal match may be referenced by one or more
			signal handlers.  Matches are refcounted and are destroyed when the
			last signal handler that references the match is removed.  This is
			necessary because two signal handlers may end up requiring the same
			dbus bus match, so the match must live until the last signal handler
			is destroyed (for example, with the wpa_supplicant network interface
			dbus interface).

	* src/dhcp-manager/nm-dhcp-manager.c
		- (nm_dhcp_manager_new): track DHCP signal handler id
		- (nm_dhcp_manager_dispose): remove DHCP signal handler

	* src/vpn-manager/nm-vpn-service.c
		- (nm_vpn_service_add_watch): track VPN service signal handler id
		- (nm_vpn_service_remove_watch): remove VPN service signal handler


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2124 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-11-25 07:09:11 +00:00
Dan Williams
5270567ae6 2006-10-13 Dan Williams <dcbw@redhat.com>
* src/NetworkManager.c
		- (nm_name_owner_changed_handler): handle NMI coming and going,
		this somehow droppout in the refactor


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2064 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-10-14 12:50:20 +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
Robert Love
e1620a9946 2006-08-04 Robert Love <rml@novell.com>
Glib Memory Slices!
	* configure.in: Require glib 2.10 or later.
	* src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
	  src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
	  src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
	  src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
	  g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
	  Memory Slices are the greatest thing since bread slices.
	* src/NetworkManagerAP.c: Also, fix memory leak.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1923 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-08-04 15:46:06 +00:00
Dan Williams
6392fe3fdf Fix up spacing.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1773 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-05-28 03:30:44 +00:00
Nicolas Trangez
4202ba0ea1 2006-05-26 Nicolas Trangez <eikke@eikke.com>
* src/NetworkManager.c: use GOptions instead of getopt
	* configure.in: bump glib required version to >= 2.6 for GOption
	  support


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1771 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-05-28 02:55:44 +00:00
Robert Love
98192881d3 2006-05-24 Robert Love <rml@novell.com>
* examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
	  gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
	  src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1760 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-05-24 15:53:07 +00:00
Robert Love
a4ac9ec0fb 2006-05-24 Robert Love <rml@novell.com>
* gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
	  src/NetworkManager.c: Take care to call bindtextdomain with the
	  location of msgid files.
	* src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
	  files.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1758 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-05-24 14:16:48 +00:00
Robert Love
f1fb0b5e24 2006-05-05 Robert Love <rml@novell.com>
* src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
	  root has a wacky default of its own (or, more common, a user has a
	  bad umask and uses su/sudo to restart NetworkManager).  Anything other
	  than 0022 does not do what we want with, for example, resolv.conf.  This
	  problem is amplified by our judicious use of fopen(), which uses mode
	  0666 -- implying that the only way to get the permissions we want is
	  with a umask of 0022.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1719 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-05-05 19:42:20 +00:00
Dan Williams
a5919b696c 2006-03-05 Dan Williams <dcbw@redhat.com>
Process netlink messages in device subclasses rather than in
	NetworkManager.c.  Also add support for recognizing Wireless Events.

	* configure.in
		- Find GLIB_GENMARSHAL

	* src/Makefile.am
		- Since we're marshalling custom types for wireless event signals,
			we get to create our own marshallers using GLIB_GENMARSHAL

	* src/NetworkManager.c
		- (nm_monitor_wired_link_state): renamed to nm_monitor_setup
		- (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
			cut down somewhat.  We no longer process signals here.
		- (nm_data_new): create the netlink monitor here, and remove a
			useless call to nm_policy_schedule_device_change_check()
		- (nm_data_free): get rid of the netlink monitor here
		- (nm_device_link_activated, nm_device_link_deactivated): removed
		- (main): don't create the netlink monitor here, let nm_data_new
			do that.  Call nm_policy_schedule_device_change_check() right
			before we jump to the mainloop to figure out which device
			to use first

	* src/NetworkManagerSystem.[ch]
		- (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
			convert back and forth from interface names to interface
			indexes

	* src/nm-device-802-11-wireless.c
		- (real_init): connect to wireless-event signals from the netlink
			monitor object
		- (nm_device_802_11_wireless_event): new function, schedule handler
			for wireless event signals from the netlink monitor object.  We
			want the handler to run in the device's context
		- (wireless_event_helper): handle wireless-event signals from netlink
		- (nm_device_802_11_wireless_dispose): disconnect wireless-event
			signal handler

	* src/nm-device-802-11-wireless.h
		- remove unused prototype for nm_device_802_11_wireless_new

	* src/nm-device-802-3-ethernet.c
		- (real_init): new function; set up signal handlers for link events
		- (nm_device_802_3_ethernet_link_activated): new function, schedule
			handler for netlink link activated events on device's main loop
		- (link_activated_helper): when we get a link activated event, set
			the device's link to be active
		- (nm_device_802_3_ethernet_link_deactivated): new function; schedule
			handler for netlink link deactivated events on device's main loop
		- (link_deactivated_helper): when we get a link deactivated event, set
			the device's link to be inactive
		- (nm_device_802_3_ethernet_dispose): disconnect signal handler on
			dispose

	* src/nm-device-802-3-ethernet.h
		- remove unused prototype for nm_device_802_3_ethernet_new

	* src/nm-device.[ch]
		- (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
			but locks the device list
		- (nm_device_set_active_link): a little bit of cleanup and de-indenting

	* src/nm-netlink-monitor.[ch]
		- (nm_netlink_monitor_class_install_signals): New signal
			"wireless-event"
		- (nm_netlink_monitor_new): keep reference to NMData so we can get
			at the device list
		- (nm_netlink_monitor_event_handler): expand for wireless events too

	* src/nm-marshal-main.c
		- Include generated nm-marshal.c and nm-marshal.h

	* src/nm-marshal.list
		- List of custom marshal functions


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1555 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-03-06 01:10:58 +00:00
Robert Love
598dda0255 2006-02-27 Robert Love <rml@novell.com>
* dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
	  Open the pid file O_TRUNC, so if it already exists we truncate it to
	  zero length.  Also, be more verbose about warnings generated during
	  writing out the pid file.  Finally, always write out the pid file if
	  in daemon mode.  Use "--pid-file" to override the default.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1509 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-02-27 20:06:24 +00:00
Robert Love
4fdea28f75 2006-02-27 Robert Love <rml@novell.com>
* dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
	  Open the pid file O_TRUNC, so if it already exists we truncate it to
	  zero length.  Also, be more verbose about warnings generated during
	  writing out the pid file.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1508 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-02-27 20:00:25 +00:00
Dan Williams
e64e90cd3b 2006-02-27 Dan Williams <dcbw@redhat.com>
* dispatcher-daemon/NetworkManagerDispatcher.c
		- Accept --pid-file with a path to a pidfile, write it out on
			startup, and delete it on shutdown

	* src/NetworkManager.c
		- Accept --pid-file with a path to a pidfile, write it out on
			startup, and delete it on shutdown
		- Move nm_print_usage() lower

	* initscripts/RedHat/NetworkManager.in
		- Use new --pid-file option
		- Fix service stopping to wait a bit for NM to quit

	* initscripts/RedHat/NetworkManagerDispatcher.in
		- Use new --pid-file option


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1500 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-02-27 05:50:28 +00:00
Dan Williams
b06df42628 2006-02-26 Dan Williams <dcbw@redhat.com>
* src/Makefile.am
		- make and install nm-crash-logger

	* src/nm-logging.[ch]
	  	- New files; consolidate logging and crash handling

	* src/nm-crash-logger.c
	  src/gdb-cmd
		- Standalong crashlogger for NM, grab a backtrace
			using GDB

	* src/NetworkManager.[ch]
		- Remove signal handling and put it into nm-logging.c


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1499 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-02-27 04:31:52 +00:00
Robert Love
7eb0e146b2 2006-02-14 Robert Love <rml@novell.com>
* src/NetworkManager.c: Call closelog() on daemon shutdown to close
	  syslog's file descriptor.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1472 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-02-14 22:29:12 +00:00
Robert Love
a517193ea8 Check sigaction for error.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1427 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-02-02 16:49:11 +00:00
Robert Love
cbd27080ed 2006-01-18 Robert Love <rml@novell.com>
* src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
	  Allow backends to flag a device (in whatever distro-dependent way
	  they so desire) as disabled.  NM will ignore any such device.
	* src/backends/NetworkManagerDebian.c,
	  src/backends/NetworkManagerRedHat.c,
	  src/backends/NetworkManagerSlackware.c: Add stub function
	  nm_system_device_get_disabled() that always returns FALSE (enabled).
	* src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
	  SUSE-specific configuration structure.  Fill it in from the
	  NM_CONTROLLED variable in the system networking scripts.  If this var
	  exists and is "no", we ignore the device.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1361 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-01-19 18:00:48 +00:00
Robert Love
9db6023311 misc. reformatting
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1306 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-01-10 16:11:08 +00:00
Dan Williams
d639dbeac0 2006-1-3 Dan Williams <dcbw@redhat.com>
* src/NetworkManager.c
		- Move link-checking/probing into the device subclasses
			themselves

	* src/nm-device.[ch]
	  src/nm-device-802-11-wireless.c
	  src/nm-device-802-3-ethernet.c
		- Do periodic link checking in device subclasses rather
			than being triggered from NetworkManager.c
		- discover_wireless_capabilities -> get_wireless_capabilities
		- discover_generic_capabilities -> get_generic_capabilities
		- Device subclass activation routines now return a value of type
			NMActStageReturn to indicate what step to perform next
		- Devices now override stage4_get_ip4_config if they choose


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1249 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-01-03 17:07:07 +00:00
Dan Williams
4ed4b491fa 2005-12-31 Dan Williams <dcbw@redhat.com>
* refactor NMDevice into a GObject-based framework with separate
		objects for wired and wireless.  The following files are no
		longer used but should stick around for a bit so we don't
		loose code through the cracks:
			NetworkManagerDevice.c
			NetworkManagerDevice.h
			NetworkManagerWireless.c
			NetworkManagerWireless.h

	The intent here is to allow each device type to manage its own
	connection & activation life-cycle, ie to allow wireless devices
	to interface with wpa_supplicant, etc.  There's a fair bit of
	encapsulation breakage right now that should gradually get pulled
	back into each device, along with things like periodic property
	updates and link probing.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1244 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-31 08:21:24 +00:00
Dan Williams
df786181e4 2005-12-06 Dan Williams <dcbw@redhat.com>
* Change nm_device_is_* functions to better names:
		nm_device_is_wireless() -> nm_device_is_802_11_wireless()
		nm_device_is_wired() -> nm_device_is_802_3_ethernet()


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1132 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-07 00:38:33 +00:00
Dan Williams
bfae8891a7 2005-12-06 Dan Williams <dcbw@redhat.com>
* Change naming of NMDeviceType to something more sensible:
		NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
		NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
		NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1131 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-07 00:22:52 +00:00
Robert Love
02ea0ef426 2005-12-05 Robert Love <rml@novell.com>
* src/NetworkManager.c: don't call nm_data_free() when there is nothing
	  to free, particularly here as it just barfs.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1119 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-05 20:40:46 +00:00
Dan Williams
115dc5264b 2005-10-10 Dan Williams <dcbw@redhat.com>
* Remove nm_system_load_device_modules() from backend files
		and from NetworkManager.c


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1014 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-10-10 18:00:59 +00:00
Dan Williams
23b0619e4f 2005-10-02 Dan Williams <dcbw@redhat.com>
* Shorten time taken to sleep by fastpathing bits of device deactivation
		necessary for sleep.

	* Fix issue where deactivating a device might deactivate the active
		VPN connection, even if the VPN was not using the device.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@985 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-10-02 05:02:49 +00:00
Robert Love
de03d96430 remove senseless cast.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@983 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-09-29 20:31:52 +00:00
Robert Love
2b0d83c58a 2005-09-29 Robert Love <rml@novell.com>
* src/NetworkManager.c: removed unused variable.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@982 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-09-29 18:44:23 +00:00
Dan Williams
0f90a04544 2005-09-28 Dan Williams <dcbw@redhat.com>
Support for named + DBus, using Red Hat DBus patches for named.  You
	can find those patches here, with "dbus" in the patch's filename:

		http://cvs.fedora.redhat.com/viewcvs/devel/bind/

	Don't forget the named dbus service file either.

	Instead of writing a config file and spawing a named process, NM will
	use an already-running dbus-enabled named if it finds one.  NM will
	update named's forwarder configuration on the fly using dbus.

	If there is no dbus-enabled named running, NM will automatically fall
	back to writing the most-recent DNS server information to /etc/resolv.conf
	and calling nm_system_update_dns() to kick the system's resolver.

	Accordingly, all named-related configure-time options have been removed.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@981 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-09-28 14:42:57 +00:00
Christopher Aillon
314e6fc426 2005-09-10 Christopher Aillon <caillon@redhat.com>
* gnome/applet/applet.c:
	* gnome/applet/applet-dbus-devices.c:
	* gnome/applet/applet-dbus-info.c:
	* gnome/applet/passphrase-dialog.c:
	* gnome/libnm_glib/libnm_glib.c:
	* gnome/vpn-properties/nm-vpn-properties.c:
	* src/autoip.c:
	* src/backends/NetworkManagerRedHat.c:
	* src/named-manager/nm-named-manager.c:
	* src/NetworkManagerAPList.c:
	* src/NetworkManager.c:
	* src/NetworkManagerDbus.c:
	* src/NetworkManagerDevice.c:
	* src/NetworkManagerPolicy.c:
	* src/NetworkManagerSystem.c:
	* src/nm-dbus-device.c:
	* src/nm-dbus-nm.c:
	* src/vpn-manager/nm-vpn-manager.c:
	* src/vpn-manager/nm-vpn-service.c:
	* test/libnm_glib_test.c:
	* test/nminfotest.c:
	* test/nmtestdevices.c:
	Fix up a bunch of 'unused variable' compiler warnings


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@959 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-09-11 02:32:30 +00:00
Christopher Aillon
96174e04a6 2005-09-10 Christopher Aillon <caillon@redhat.com>
* NetworkManager.h:
	* gnome/applet/applet-dbus-info.c:
	* gnome/applet/applet-dbus-info.h:
	* gnome/applet/applet.c:
	* gnome/applet/applet.h:
	* src/NetworkManager.c:
	* src/NetworkManagerDbus.c:
	* src/NetworkManagerDbus.h:
	* src/NetworkManagerDevice.c:
	* src/NetworkManagerDevice.h:
	* src/NetworkManagerMain.h:
	* src/NetworkManagerWireless.c:
	* src/NetworkManagerWireless.h:
	* src/nm-dbus-nm.c:
	Make NetworkManager be smart about how frequently to scan
	based on its current state.  Remove the UI for choosing when
	to scan.  Scanning still may disabled completely by the user
	via the "Wireless Enabled" menu item.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@958 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-09-11 01:46:40 +00:00
Dan Williams
5c46be7149 2005-09-07 Dan Williams <dcbw@redhat.com>
* The great VPN Manager rewrite of 2005


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@946 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-09-07 19:12:52 +00:00
Dan Williams
976302b396 2005-09-01 Dan Williams <dcbw@redhat.com>
* src/NetworkManager.c
		- (nm_remove_device_from_list): rename to nm_remove_device
		- (nm_hal_device_removed): call nm_remove_device()

	* src/NetworkManagerDevice.c
		- Change the NMWirelessScanCB member 'reschedule' which
			wasn't used to 'force' to indicate that we need to
			force a scan when adding a device

	* src/nm-dbus-nm.c
		- (nm_dbus_nm_sleep): Deactivate all devices and remove them
			from the device list
		- (nm_dbus_nm_wake): Re-add all devices to the device list


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@926 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-09-02 03:47:19 +00:00
Robert Love
600e027e5c 2005-08-05 Robert Love <rml@novell.com>
* NetworkManager.h,
          gnome/applet/applet-dbus-devices.c,
          gnome/applet/applet-dbus-devices.h,
          gnome/applet/applet-dbus.c,
          gnome/applet/applet.c,
          gnome/applet/applet.h,
          src/NetworkManager.c,
          src/NetworkManagerMain.h,
          src/NetworkManagerSystem.h,
          src/backends/NetworkManagerRedHat.c,
          src/backends/NetworkManagerSuSE.c,
          src/nm-dbus-nm.c: basic dialup support using distro infrastructure


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@821 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-08-05 18:58:17 +00:00
Ray Strode
f99d12e461 2005-07-29 Ray Strode <rstrode@redhat.com>
* src/NetworkManager.c (nm_info_handler): don't use input as format
	string (Spotted by Ian Jackson).


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@815 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-07-30 01:01:06 +00:00