Commit graph

205 commits

Author SHA1 Message Date
Dan Williams
9e627d1bce trivial: rename some CamelCase source files to not-camel-case 2010-03-02 15:06:14 -08:00
Dan Williams
e8b5bcca56 hosts: always check and update /etc/hosts if needed (rh #569914)
If the hostname was changed while NM wasn't running, and thus /etc/hosts
was out of sync with the new hostname, NM wouldn't make sure that
the new hostname was mapped in /etc/hosts.  Make sure that happens
and add a bunch of testcases for /etc/hosts rewriting.
2010-03-02 14:44:02 -08:00
Dan Williams
f6c383ff14 policy: be more selective when adding hostname to /etc/hosts (debian #567411)
If the user has already mapped the hostname to some other address,
assume the user knows what they are doing (since they probably do)
and leave that mapping alone, and create a minimal 127.0.0.1 entry.
If there was no hostname mapping, add it to the 127.0.0.1 entry
like NM did before.
2010-02-01 17:29:58 -08:00
Dan Williams
2d982646b4 trivial: clearer hostname fallback message 2010-01-27 17:16:58 -08:00
Dan Williams
72f936db31 policy: fall back to original hostname before trying reverse DNS
Having the original hostname checks in the settings-service code
didn't allow the policy enough granularity to differentiate between
a plugin-provided hostname and the original hostname.  We want to
fall back to the original hostname if there isn't a persistent
hostname (from a plugin) and if there isn't a DHCP-provided
hostname.  Moving the original hostname checks to the policy
makes that possible.  Clarify the precedence order at the same
time, and minimally validate the DHCP hostname as well.
2010-01-27 17:13:35 -08:00
Jerone Young
de2205a24e core: ensure failed /etc/hosts update writes out well-formatted file (lp#471498) 2010-01-19 20:37:46 -08:00
Dan Williams
06a40dcf73 core: move helper macro for activating state to general location 2009-10-30 11:39:19 -07:00
Dan Williams
4b2c810b1b core: clear invalid tag on failed connections when sleeping
So they'll get tried again on wakeup/resume.
2009-10-20 15:25:04 -07:00
Dan Williams
7a2e2cfda3 core: rename nm_device_can_activate -> nm_device_is_available
Becuase when the device is in >= DISCONNECTED state, that already
means it can activate if a connection is available.
2009-09-14 13:33:06 -07:00
Noel J. Bergman
aced7c25c2 policy: reschedule failed devices for activation after a short delay
Instead of immediately...  devices handled externally from NM (by
ModemManager or Bluez or whatever) have a slight delay in reporting
to NM that they device has been removed (due to internal housekeeping
and then pushing the event into D-Bus signals or something) and thus
when NM notices PPP failures and tries to reschedule activation
of autoconnect=true connections, it fails the reactivation because
the device actually is no longer present, but it hasn't gotten the
device-removed event from MM or Bluez yet.  That sets the invalid
tag on the connection, and when the device gets replugged, the
invalid tag suppresses autoconnect.
2009-09-09 17:19:39 -07:00
Dan Williams
9b55936dee device: only invalidate connections if they failed during activation
Otherwise, connections used to get marked invalid on hot-unplug, which
isn't really correct.
2009-09-09 12:21:55 -07:00
Daniel Drake
8f0652a9f0 core: allow devices to suppress other device's autoconnect
This allows a device (or a companion) to signal that it is not a good
time for a specific device to autoconnect to a network.

The OLPC mesh device will use this to prevent automatic connection
to WLAN networks while the mesh device is active.
2009-07-15 17:22:10 -04:00
Dan Williams
c9067d8fed everything: use libgudev instead of HAL; merge NM and nm-system-settings
The only thing that doesn't work yet is the system-settings service's
"auto eth" connections for ethernet devices that don't have an existing
connection.  Might also have issues with unmanaged devices that can't
provide a MAC address until they are brought up, but we'll see.
2009-06-11 00:39:12 -04:00
Tambet Ingo
eaa93b0387 Remove HSO and MBM modem implementations and replace them with generic code. 2009-02-09 11:01:35 +02:00
Tambet Ingo
e4398a88c8 Use ModemManager. 2009-02-09 11:01:35 +02:00
Dan Williams
ce3473dc90 clear pending activation checks on device removal
Found by Drew Moseley <dmoseley@mvista.com>
2009-02-06 15:38:09 -05:00
Dan Williams
948ee274da 2008-12-09 Dan Williams <dcbw@redhat.com>
* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-ip4-config.c
	  libnm-util/nm-setting-ip4-config.h
		- Add 'never-default' property, which when true indicates that a
			connection should never be the default connection

	* src/nm-ip4-config.c
	  src/nm-ip4-config.h
		- (nm_ip4_config_get_never_default, nm_ip4_config_set_never_default):
			Add never-default helpers

	* src/NetworkManagerUtils.c
		- (nm_utils_merge_ip4_config): update never-default when merging the
			IP4 setting to the IP4 config

	* src/NetworkManagerSystem.c
		- (nm_system_apply_ip4_config): if the connection is never-default,
			don't add routes without a gateway

	* src/NetworkManagerPolicy.c
		- (get_best_device): don't let never-default connections be the best
		- (update_routing_and_dns): handle never-default for VPN connections

	* system-settings/plugins/ifcfg-rh/reader.c
		- (make_ip4_setting): handle never-default by checking GATEWAYDEV



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/branches/NETWORKMANAGER_0_7@4378 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-12-09 20:01:49 +00:00
Dan Williams
0f4c227c1f 2008-11-05 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (update_etc_hosts): only add newline if not the last line of the file
			(Jonathan Miner)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4268 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-05 17:43:45 +00:00
Dan Williams
24e50f7f6f 2008-11-02 Dan Williams <dcbw@redhat.com>
* Add license headers to everything in src/



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4247 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-03 04:13:42 +00:00
Dan Williams
bfb7243663 2008-10-29 Dan Williams <dcbw@redhat.com>
* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-ip4-config.c
	  libnm-util/nm-setting-ip4-config.h
		- Make properties private and add accessor functions

	* callouts/nm-dispatcher-action.c
	  libnm-glib/libnm-glib-test.c
	  libnm-util/nm-utils.c
	  src/NetworkManagerPolicy.c
	  src/NetworkManagerSystem.c
	  src/NetworkManagerUtils.c
	  src/dhcp-manager/nm-dhcp-dhclient.c
	  src/dhcp-manager/nm-dhcp-manager.c
	  src/dnsmasq-manager/nm-dnsmasq-manager.c
	  src/nm-device-wifi.c
	  src/nm-device.c
	  src/nm-hso-gsm-device.c
	  src/nm-ip4-config.c
	  src/nm-ip4-config.h
	  src/ppp-manager/nm-ppp-manager.c
	  src/vpn-manager/nm-vpn-connection.c
	  system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-suse/parser.c
	  system-settings/plugins/ifcfg-suse/plugin.c
	  system-settings/plugins/ifupdown/parser.c
	  test/nm-tool.c
	  vpn-daemons/vpnc/properties/nm-vpnc.c
		- Use IP4 accessor functions



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4233 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-29 14:35:25 +00:00
Dan Williams
7d723b54a4 2008-10-26 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-connection.c
	  libnm-util/nm-setting-connection.h
		- Make properties private and add accessor functions

	* src/NetworkManagerPolicy.c
	  src/nm-cdma-device.c
	  src/nm-device-ethernet.c
	  src/nm-device-interface.c
	  src/nm-device-wifi.c
	  src/nm-gsm-device.c
	  src/nm-manager.c
	  src/ppp-manager/nm-ppp-manager.c
	  src/vpn-manager/nm-vpn-connection.c
	  system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
	  system-settings/plugins/ifcfg-fedora/plugin.c
	  system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-suse/parser.c
	  system-settings/plugins/ifupdown/parser.c
	  system-settings/plugins/keyfile/nm-keyfile-connection.c
	  system-settings/plugins/keyfile/plugin.c
	  system-settings/plugins/keyfile/writer.c
	  system-settings/src/main.c
		- Use those accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4220 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-26 17:41:37 +00:00
Dan Williams
6d86495f71 2008-10-26 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): ignore host routes when determining whether
			a VPN connection should own the default route (bgo #552594)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4212 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-26 15:48:00 +00:00
Dan Williams
1a411fae81 2008-10-21 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (update_etc_hosts): don't leak errors, and ensure that
			g_file_set_contents() gets a valid error placeholder (rh #461933)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4201 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-21 17:56:46 +00:00
Dan Williams
f078992e4d 2008-10-11 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
	  introspection/nm-device.xml
	  include/NetworkManagerVPN.h
		- Add a few more state reasons for the device deactivated state

	* src/nm-device-interface.c
	  src/nm-device-interface.h
		- (nm_device_interface_deactivate): add a 'reason' argument

	* src/nm-device.c
	  src/nm-device.h
		- (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
		- (nm_device_state_changed): pass the state change reason to
			nm_device_take_down()
		- (nm_device_set_managed): take a 'reason' argument, and pass it along
			to the state change function

	* src/nm-manager.c
	  src/nm-manager.h
		- (remove_one_device, handle_unmanaged_devices, sync_devices,
		   impl_manager_sleep): pass a reason code to nm_device_set_managed()
		- (nm_manager_deactivate_connection): add a 'reason' argument and pass
			something reasonable along to VPN deactivation

	* src/vpn-manager/nm-vpn-manager.c
	  src/vpn-manager/nm-vpn-manager.h
		- (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
			pass that along to nm_vpn_connection_disconnect()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4174 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-11 19:57:45 +00:00
Dan Williams
1c0a0ec4a8 2008-10-11 Dan Williams <dcbw@redhat.com>
Add support for VPN subnet gateways (bgo #549196)

	* include/NetworkManager.h
		- Add key for internal VPN subnet gateway

	* src/vpn-manager/nm-vpn-connection.c
		- (ip_address_to_string): return a const from a static buffer so we
			don't leak a lot of strings
		- (print_vpn_config): print internal VPN gateway as well
		- (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
			VPN service too
		- (nm_vpn_connection_get_ip4_internal_gateway): new function

	* src/NetworkManagerSystem.c
	  src/NetworkManagerSystem.h
		- (nm_system_device_replace_default_ip4_route): split into two, one for
			VPN connections and one for normal devices
		- (replace_default_ip4_route): break out route stuff into its own function
		- (nm_system_replace_default_ip4_route_vpn,
		   nm_system_replace_default_ip4_route): simplify by having two cases,
			one for VPNs and one for normal devices

	* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): simplify, use split default route replacement
			functions



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4169 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-11 14:26:41 +00:00
Dan Williams
ad7a46d867 2008-10-10 Dan Williams <dcbw@redhat.com>
Rework default route handling to consolidate decisions in the policy,
	and to take active VPN connections into account when changing the default
	route (bgo #545912)

	* src/NetworkManager.c
		- (main): pass the vpn_manager to the policy so it knows about active
			VPN connections; clean up the named manager which wasn't done before

	* src/NetworkManagerPolicy.c
	  src/NetworkManagerPolicy.h
		- (nm_policy_new): get a clue about the vpn_manager
		- (update_default_route): remove, fold into update_routing_and_dns()
		- (update_routing_and_dns): handle active VPN connections too; an
			active VPN connection becomes the default route if it does not have
			server-specified or user-specified custom routes.  Otherwise, the
			best active device gets the default route
		- (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
		   nm_policy_destroy): track VPN connection activation and deactivation
			and update the default route when appropriate

	* src/NetworkManagerSystem.c
	  src/NetworkManagerSystem.h
		- (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
			in the VPN connection itself
		- (nm_system_vpn_device_set_from_ip4_config,
		   nm_system_device_set_from_ip4_config): merge together to make
			nm_system_apply_ip4_config()
		- (add_vpn_gateway_route): add a route to the VPN's external gateway
			via the parent device
		- (nm_system_apply_ip4_config): simplify
		- (add_ip4_route_to_gateway): new function; add a direct route to the
			gateway if needed
		- (nm_system_device_replace_default_ip4_route): simplify, break gateway
			route stuff out into add_ip4_route_to_gateway() for clarity

	* src/nm-device.c
		- (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()

	* src/vpn-manager/nm-vpn-connection.c
	  src/vpn-manager/nm-vpn-connection.h
		- (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
		   nm_vpn_connection_get_parent_device): add
		- (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
			device explicit
		- (connection_state_changed): update the named manager now that
			nm_system_vpn_device_unset_from_ip4_config() is gone; do something
			useful on errors

	* src/vpn-manager/nm-vpn-manager.c
	  src/vpn-manager/nm-vpn-manager.h
		- Add a 'connection-activated' signal
		- (nm_vpn_manager_get_active_connections): new function; mainly for the
			policy to find out about active VPN connections



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4167 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-10 23:05:45 +00:00
Dan Williams
1182e8579b 2008-10-08 Dan Williams <dcbw@redhat.com>
Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)

	* src/NetworkManagerUtils.c
		- (nm_utils_call_dispatcher): add a 'hostname' action

	* src/NetworkManagerPolicy.c
		- (set_system_hostname): dispatch hostname changes

	* callouts/nm-dispatcher-action.c
		- (nm_dispatcher_action): handle 'hostname' actions



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4158 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-08 22:40:42 +00:00
Dan Williams
64f8dfa0af 2008-10-02 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (device_state_changed): when marking a connection invalid, clear its
			secrets too so that fresh secrets get requested the next time



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4138 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-02 13:21:14 +00:00
Dan Williams
97f6070cfd 2008-09-30 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (lookup_thread_worker): don't store the idle handler ID becuase the
			idle handler could have already run and freed the LookupThread
			structure



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4126 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-30 16:48:16 +00:00
Tambet Ingo
50f3ec27a2 2008-09-30 Tambet Ingo <tambet@gmail.com>
* src/nm-device.c (nm_device_get_priority): Implement.
	(nm_device_set_ip4_config): Send the device priority to system ip4
	config setter.

	* src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
	Add priority argument and if it's >= 0, set the priority of the network
	route added automatically by netlink (or kernel?).
	(nm_system_device_set_priority): Implement.

	* src/NetworkManagerPolicy.c (get_best_device): Use
	nm_device_get_priority() instead of home-grown version. Revert the
	meaning, best priority is the lowest one.

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4125 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-30 15:04:10 +00:00
Dan Williams
ba2ad655de Check return value of sethostname(2)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4082 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-19 17:40:48 +00:00
Dan Williams
9d5a2291f7 2008-09-18 Dan Williams <dcbw@redhat.com>
Implement support for honoring configured and automatic hostnames, and for
	setting the configured hostname.

	* introspection/nm-ip4-config.xml
	  src/nm-ip4-config.c
	  src/nm-ip4-config.h
	  src/dhcp-manager/nm-dhcp-manager.c
		- Remove useless hostname property; it's not really part of the IPv4
			config

	* introspection/nm-settings-system.xml
	  libnm-glib/nm-dbus-settings-system.c
	  libnm-glib/nm-dbus-settings-system.h
		- Add SetHostname() call to system settings D-Bus interface
		- Add Hostname property to system settings D-Bus interface
		- (nm_dbus_settings_system_save_hostname,
		   nm_dbus_settings_system_get_hostname): implement

	* src/nm-device.c
	  src/nm-device.h
		- (nm_device_get_dhcp4_config): implement

	* src/nm-manager.c
	  src/nm-manager.h
		- Fetch and track system settings service hostname changes, and proxy
			the changes via a GObject property of the manager

	* system-settings/src/nm-system-config-interface.c
	  system-settings/src/nm-system-config-interface.h
		- Replace nm_system_config_interface_supports_add() with a capabilities
			bitfield

	* system-settings/src/nm-system-config-error.c
	  system-settings/src/nm-system-config-error.h
		- Add additional errors

	* system-settings/src/dbus-settings.c
	  system-settings/src/dbus-settings.h
		- (get_property, nm_sysconfig_settings_class_init): add hostname
			property; first plugin returning a hostname wins
		- (impl_settings_add_connection): use plugin capabilities instead of
			nm_system_config_interface_supports_add()
		- (impl_settings_save_hostname): implement hostname saving

	* src/NetworkManagerPolicy.c
		- (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
		   lookup_thread_die): implement an asynchronous hostname lookup thread
			which given an IPv4 address tries to look up the hostname for that
			address with reverse DNS
		- (get_best_device): split out best device code from
			update_routing_and_dns()
		- (update_etc_hosts): update /etc/hosts with the machine's new hostname
			to preserve the 127.0.0.1 reverse mapping that so many things require
		- (set_system_hostname): set a given hostname
		- (update_system_hostname): implement hostname policy; a configured
			hostname (from the system settings service) is used if available,
			otherwise an automatically determined hostname from DHCP, VPN, etc.
			If there was no automatically determined hostname, reverse DNS of
			the best device's IP address will be used, and as a last resort the
			hostname 'localhost.localdomain' is set.
		- (update_routing_and_dns): use get_best_device(); update the system
			hostname when the network config changes
		- (hostname_changed): update system hostname if the system settings
			service signals a hostname change
		- (nm_policy_new): list for system settings service hostname changes
		- (nm_policy_destroy): ensure that an in-progress hostname lookup thread
			gets told to die

	* system-settings/plugins/keyfile/plugin.c
	  system-settings/plugins/ifcfg-suse/plugin.c
		- (get_property, sc_plugin_ifcfg_class_init): implement hostname and
			capabilities properties

	* system-settings/plugins/ifcfg-fedora/shvar.c
		- (svOpenFile): re-enable R/W access of ifcfg files since the plugin
			writes out /etc/sysconfig/network now

	* system-settings/plugins/ifcfg-fedora/plugin.c
		- (plugin_get_hostname): get hostname from /etc/sysconfig/network
		- (plugin_set_hostname): save hostname to /etc/sysconfig/network
		- (sc_network_changed_cb): handle changes to /etc/sysconfig/network
		- (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
		- (get_property, set_property, sc_plugin_ifcfg_class_init): implement
			hostname get/set and capabilities get



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4077 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-18 15:16:44 +00:00
Dan Williams
02b28e6cd2 2008-08-15 Dan Williams <dcbw@redhat.com>
Do connection sharing in a cleaner manner; all required iptables rules
	are now stored in the activation request and pertain only to the device
	which is being shared to other computers.

	* src/nm-activation-request.c
	  src/nm-activation-request.h
		- (nm_act_request_add_share_rule): new function; add a sharing rule to
			the activation request which will get torn down automatically when
			the activation request dies
		- (nm_act_request_set_shared): push sharing rules to iptables when sharing
			is started, and tear them down when sharing is stopped

	* src/nm-device.c
		- (start_sharing): start up sharing by doing the required iptables magic
		- (share_init): poke the right bits of the kernel and load the right
			modules for NAT
		- (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
			connection if it's a 'shared' connection

	* src/NetworkManagerPolicy.c
		- Remove all sharing stuff; done in the device code itself



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3969 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-15 15:34:28 +00:00
Dan Williams
5fe8f48237 2008-08-14 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): 'hso' devices can be default even if they
			don't have a gateway



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3964 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-14 18:59:58 +00:00
Dan Williams
751fe86da8 Spacing fix
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3944 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-12 22:34:47 +00:00
Tambet Ingo
c29ae2d003 2008-08-12 Tambet Ingo <tambet@gmail.com>
* src/backends/*: Get rid of nm_system_should_modify_resolv_conf().

	* src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
	the composite result of all the IP4 configurations and call a distro
	specific update_resolv_conf().
	(update_resolv_conf): Implement one for directly writing to
	/etc/resolv.conf and one for opensuse to call netconfig.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3931 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-12 08:05:16 +00:00
Dan Williams
0d85411ed4 2008-08-01 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-ip4-config.c
	  libnm-util/nm-setting-ip4-config.h
		- Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
			'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
			settings, and they don't necessarily use DHCP.

	* src/NetworkManagerPolicy.c
	  src/nm-device.c
	  system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-suse/parser.c
		- Fixup for method changes



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3882 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-01 14:27:47 +00:00
Dan Williams
95bb76aa7f 2008-07-11 Dan Williams <dcbw@redhat.com>
Modify the NMDevice::state-changed signal to include the previous state
	and reason. Enables the applet to provide more information why device
	activation failed.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3819 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-11 10:28:53 +00:00
Dan Williams
b0cf66eda8 2008-06-26 Dan Williams <dcbw@redhat.com>
* Update FSF address in license headers (Michael Biebl <biebl@debian.org>)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3775 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-26 18:31:52 +00:00
Dan Williams
c2ffdc1d2e 2008-06-11 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- do_ipt_cmd -> do_cmd
		- (sharing_init): use do_cmd() instead of system()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3747 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-11 13:30:53 +00:00
Dan Williams
0fdb07ca3d 2008-06-10 Dan Williams <dcbw@redhat.com>
The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
	and use "wifi" everwhere instead.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3742 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-10 16:32:39 +00:00
Dan Williams
2b00116361 2008-06-10 Dan Williams <dcbw@redhat.com>
The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3741 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-10 15:54:23 +00:00
Dan Williams
da3296b0ec 2008-06-09 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): set the default connection _after_ unsetting
			default on all non-default connections so that two connections can
			never be default at the same time
		- (device_state_changed): start and stop connection sharing when
			needed
		- (active_connection_default_changed): restart or stop sharing when
			the default connection changes to keep shared connections always
			NAT-ed through the default connection
		- (check_sharing): handle activation/deactivation of shared connections
		- (sharing_restart): atom-bomb approach to connection sharing until we
			can use libnl; reinit all sharing when the default connection or
			shared connections change
		- (sharing_init, sharing_stop): evil functions that init and deinit
			iptables



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3737 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-10 02:06:42 +00:00
Dan Williams
6cc399d126 2008-05-22 Dan Williams <dcbw@redhat.com>
Remove anything mDNS related.  This is better done from a distro-specific
	dispatcher script.  Plus, any distro using avahi doesn't need to restart
	avahi, since avahi can handle interface changes just fine using netlink.

	* configure.in
		- Remove --with-mdns-provider

	* src/NetworkManagerPolicy.c
		- (global_state_changed): don't restart the mdns provider

	* src/NetworkManagerSystem.h
	  src/backends/NetworkManagerArch.c
	  src/backends/NetworkManagerDebian.c
	  src/backends/NetworkManagerFrugalware.c
	  src/backends/NetworkManagerGentoo.c
	  src/backends/NetworkManagerMandriva.c
	  src/backends/NetworkManagerPaldo.c
	  src/backends/NetworkManagerRedHat.c
	  src/backends/NetworkManagerSlackware.c
	  src/backends/NetworkManagerSuSE.c
		- (nm_system_restart_mdns_responder): remove

	* src/backends/NetworkManagerGeneric.c
	  src/backends/NetworkManagerGeneric.h
		- (nm_generic_restart_mdns_responder): remove



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3684 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-22 17:22:53 +00:00
Dan Williams
51503b2d5f 2008-05-06 Dan Williams <dcbw@redhat.com>
* src/dhcp-manager/nm-dhcp-manager.c
		- (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
			NMIP4Config to support multiple IP addresses

	* src/NetworkManagerUtils.c
		- (nm_utils_merge_ip4_config): update for multiple IP addresses

	* src/nm-ip4-config.c
	  src/nm-ip4-config.h
		- Store a list of IPv4 address/netmask/gateway tuples
		- (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
		   nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
		   nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
		   nm_ip4_config_set_address): remove
		- (nm_ip4_config_take_address, nm_ip4_config_add_address,
		   nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
			new functions; handle multiple IPv4 addresses

	* src/nm-device.c
	  src/ppp-manager/nm-ppp-manager.c
	  src/vpn-manager/nm-vpn-connection.c
	  src/NetworkManagerPolicy.c
	  test/nm-tool.c
	  libnm-glib/libnm-glib-test.c
		- update for changes to NMIP4Config for multiple IPv4 addresses

	* src/NetworkManagerSystem.c
		- (nm_system_device_set_ip4_route): don't add the route if any address
			is on the same subnet as the destination
		- (check_one_address): ignore the exact match, just match family and
			interface index
		- (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
			an interface
		- (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
		- (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()

	* introspection/nm-ip4-config.xml
		- Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
		- Add 'addresses' property which is an array of (uuu) tuples of
			address/netmask/gateway

	* libnm-util/nm-setting-ip4-config.c
		- (set_property): use ip-address <-> GValue converters from nm-utils.c

	* libnm-glib/nm-ip4-config.c
	  libnm-glib/nm-ip4-config.h
		- Handle D-Bus interface changes to support multiple IP addresses



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3637 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-06 21:53:22 +00:00
Dan Williams
ad96e82e8b 2008-04-25 Dan Williams <dcbw@redhat.com>
Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>

	* src/NetworkManagerSystem.c
		- (nm_system_device_replace_default_ip4_route): new function; a libnl
			implementation of nm_system_device_replace_default_route()

	* src/NetworkManagerPolicy.c
		- (update_default_route): use nm_system_device_replace_default_ip4_route()

	* src/backends/NetworkManagerArch.c
	  src/backends/NetworkManagerDebian.c
	  src/backends/NetworkManagerFrugalware.c
	  src/backends/NetworkManagerGeneric.c
	  src/backends/NetworkManagerGeneric.h
	  src/backends/NetworkManagerGentoo.c
	  src/backends/NetworkManagerMandriva.c
	  src/backends/NetworkManagerPaldo.c
	  src/backends/NetworkManagerRedHat.c
	  src/backends/NetworkManagerSlackware.c
	  src/backends/NetworkManagerSuSE.c
		- (nm_system_device_replace_default_route): remove



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3597 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-25 19:30:05 +00:00
Dan Williams
805187cb87 2008-04-22 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): when checking for a gateway, look at the
			composite IP4 config, not the connection's ip4-config setting, which
			doesn't include DHCP-returned information



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3589 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-23 01:46:36 +00:00
Dan Williams
bfa6b28b59 2008-04-22 Dan Williams <dcbw@redhat.com>
Patch from Charles R. Anderson (cra@wpi.edu)

	* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): don't select devices without a gateway
			as having the default route (rh #437338)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3586 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-22 14:28:52 +00:00
Dan Williams
095da180c8 2008-04-21 Dan Williams <dcbw@redhat.com>
* src/nm-activation-request.c
	  src/nm-activation-request.h
		- (dispose): ensure to disconnect from the device's state-changed signal
			when appropriate so the signal doesn't get handled by an already
			disposed NMActRequest
		- (device_state_changed): update is_default here too just to make sure
			default is only True when the child device is activated
		- (nm_act_request_set_default): new function

	* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): set 'default' on the active connection which
			has the default route and DNS



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3584 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-22 02:40:47 +00:00
Dan Williams
d74967e1b6 2008-04-21 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (device_state_changed): update routing and DNS when a device goes
			into unmanaged or unavailable states too (like rfkill or carrier loss)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3583 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-22 02:38:05 +00:00