Commit graph

173 commits

Author SHA1 Message Date
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
Dan Williams
e8b20dbac2 2005-06-23 Dan Williams <dcbw@redhat.com>
* src/NetworkManager.c
	  src/NetworkManagerMain.h
		- (nm_get_hal_ctx): new function, move Hal initialization code here
		- (nm_hal_init): new function, init libhal context then add devices
		- (nm_hal_deinit): new function, clean up libhal context
		- (nm_data_free): Move Hal cleanup here
		- (main): check whether Hal is running, and if so, get a list of
			network devices from it

	* src/NetworkManagerDbus.c
		- (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
			and when it appears, get a list of network devices from it.  If
			Hal goes away, clean up the libhal context


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@738 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-06-23 12:20:32 +00:00
Robert Love
28d334748b 2005-06-21 Robert Love <rml@novell.com>
* applet/applet-dbus-devices.c: mark non-static functions static.
	* applet/applet-dbus-vpn.c: (ditto)
	* applet/applet.c: (ditto)
	* applet/nm-device.h: (ditto)
	* applet/other-network-dialog.c: (ditto)
	* applet/passphrase-dialog.c: (ditto)
	* NetworkManager.c: (ditto)
	* NetworkManagerDbus.c: (ditto)
	* NetworkManagerDevice.c: (ditto)
	* NetworkManagerPolicy.c: (ditto)
	* NetworkManagerUtils.c: (ditto)
	* NetworkManagerWireless.c: (ditto)
	* NetworkManagerWireless.h: (ditto)
	* nm-netlink-monitor.c: (ditto)
	* applet/applet-dbus-info.c: (ditto), add FIXME's.
	* vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
	* autoip.c: include autoip.h.
	* autoip.h: new file.  define get_autoip().
	* nm-netlink-monitor.h: define nm_netlink_close_connection().
	* NetworkManagerDbus.h: remove duplicate definitions.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@728 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-06-21 15:07:01 +00:00
Robert Love
adb425dc02 src/NetworkManager.c: trivial whitespace.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@727 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-06-20 20:34:35 +00:00
Dan Williams
058a15490e 2005-06-16 Dan Williams <dcbw@redhat.com>
* Clean up wording in Wireless Scan Methods menu items and constants


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@693 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-06-17 00:36:08 +00:00
Dan Williams
bb36e068ba 2005-06-09 Dan Williams <dcbw@redhat.com>
* NetworkManager.h
		- Add NMWirelessScanMethod enum for scan methods

	* gnome/applet/applet-dbus-devices.c
		- (nmwa_dbus_update_scanning_enabled_cb): remove
		- (nmwa_dbus_update_scanning_enabled): remove
		- (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
			since it got removed
		- (nmwa_dbus_enable_scanning): remove

	* gnome/applet/applet-dbus-info.c
		- (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
			update the wireless scanning method from NMI
		- (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
			method value to NetworkManager
		- (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call

	* gnome/applet/applet-dbus-info.h
		- Add prototype for nmi_dbus_signal_update_scan_method

	* gnome/applet/applet.c
		- (scanning_menu_update): new function, update one GtkCheckMenuItem from the
			Wireless Scanning menu based on current wireless scan method
		- (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
			signal for Wireless Scanning menu items, tell NetworkManager the new method
			and update our menu items to make sure the right one is checked
		- (nmwa_set_scanning_enabled_cb): remove
		- (nmwa_context_menu_update): remove references to pause_scanning_item
		- (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
			Scanning menu item
		- (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
			from GConf
		- nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
			so we get notified of preference values too
		- (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS

	* gnome/applet/applet.h
		- GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
		- Add wireless scan method member to applet data
		- Remove pause_scanning_item, add Wireless Scanning submenu

	* src/NetworkManager.c
		- (nm_data_new): default to NM_SCAN_METHOD_ON
		- (main): grab scanning method from NMI if we can

	* src/NetworkManagerDbus.c
		- (nm_dbus_update_wireless_scan_method_cb): new function, callback from
			nm_dbus_update_wireless_scan_method()
		- (nm_dbus_update_wireless_scan_method): new function to grab scanning method
			from NMI
		- (nm_dbus_nmi_is_running): redundant function, removed
		- (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
			when NMI comes back

	* src/NetworkManagerDevice.c
		- (nm_device_is_activated): return TRUE if the device is activated
		- (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
			and we are activated

	* src/nm-dbus-nm.c
		- (nm_dbus_nm_set_scanning_enabled): removed
		- nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
		- (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@658 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-06-10 03:13:27 +00:00
Dan Williams
c1069ccac5 2005-05-15 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerDevice.[ch]
	  src/NetworkManagerPolicy.c
	  src/NetworkManager.c
	  src/nm-dbus-nm.c
		- Remove the "just_added" parameter from nm_device_deactivate().  We no
			longer send the DeviceNoLongerActive signal unconditionally, but only
			when the device is actually active.

	* dispatcher-daemon/NetworkManagerDispatcher.c
		- (nmd_execute_scripts): convert to GLib directory functions from opendir(),
			and simplify the logic
		- (nmd_get_device_name): copy value from dbus reply so we don't segfault when
			we free it later on

	* initscript/RedHat/Makefile.am
	  initscript/RedHat/NetworkManagerDispatcher
		- Add initscript for NetworkManagerDispatcher


	Patch from Bill Moss:
	* dispatcher-daemon/NetworkManagerDispatcher.c
		- Remove IP4AddressChange signal code including nmd_get_device_ip4_address()

	* src/NetworkManagerDbus.c
		- (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
			and DeviceNowActive gets signaled, then the device has a new IP address
			anyway.  There's no need for a separate signal.

	* src/NetworkManagerDevice.c
		- (nm_device_update_ip4_address): Don't send IP4AddressChange signal

	* src/NetworkManagerPolicy.c
		- (nm_policy_activation_finish): Send DeviceNowActive signal when the device
			activates successfully.  This kind of went missing when I reworked the
			activation code.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@634 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-05-16 01:28:45 +00:00
Dan Williams
f35de1c54c 2005-05-14 Dan Williams <dcbw@redhat.com>
* src/NetworkManager.c
		- (device_stop_and_free): Deactivate VPN connections before deactivating devices,
			fixes a deadlock on shutdown with a VPN connection active.  This function locks
			the device list, as does nm_get_active_device() which is called from
			nm_vpn_manager_deactivate_vpn_connection().


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@628 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-05-14 23:57:25 +00:00