* src/supplicant-manager/nm-supplicant-settings-verify.c
- Switch 'bssid' from bytes to keyword type
- (validate_type_keyword): allow NULL keyword lists
* src/supplicant-manager/nm-supplicant-config.c
- (nm_supplicant_config_add_setting_wireless): convert the bssid from
a byte array to string form, which is what the supplicant expects
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3686 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
information received from DHCP.
* libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
to make it possible to ignore the DNS information (both servers and
searches) returned by DHCP server.
* src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
name servers and searches if "ignore_dhcp_dns" is set.
* src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
(nm_ip4_config_reset_searches): Implement.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3685 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
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
Don't remove all devices on waking up, sync with HAL.
* src/nm-manager.c (nm_manager_udi_is_managed): Implement.
(sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
(hal_manager_hal_reappeared_cb): Just call sync_devices.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3680 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
serial device open when we're not connecting or connected.
* src/nm-cdma-device.c (device_state_changed): Ditto.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3679 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Fix Linus' bug in rh #134886
* src/nm-device-802-3-ethernet.c
- (constructor): request initial carrier state
* src/nm-netlink-monitor.c
- (nm_netlink_monitor_request_status): schedule emission of carrier
signals after refilling the link cache. Because the refill is a
synchronous operation, the normal message hander won't get called
since libnl has already consumed the messages.
- (deferred_emit_carrier_state): emit carrier states from an idle handler
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3669 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Fix refcounting issues over sleep/wake when a VPN connection was active that
caused NM to try registering an object path for a device upon wake that was
the same as an already registered object path.
* src/nm-device.c
- (nm_device_take_down): properly handle cases where the device is
no longer active but was just active, and therefore must be
deactivated. When a device moves to unmanaged mode, this function
previously would not deactivate the device, because the state was
already unmanaged by the time this function was called.
* src/vpn-manager/nm-vpn-connection.c
- (device_state_changed): properly handle multiple devices states in
which the device is now deactivated. Code previously didn't handle
transitions to the UNAVAILABLE (like rfkill or carrier off) and
UNMANAGED states.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3667 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-private.h
src/nm-device.c
- (nm_device_hw_bring_up, nm_device_hw_take_down): export
* src/nm-device-802-11-wireless.c
- (nm_device_802_11_wireless_set_enabled): take devices up
and down as appropriate for the rfkill state
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3666 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
* src/nm-serial-device.c
- (find_terminator): don't compare the whole line, just the size of the
terminator, since some modems put stuff after the terminator, like
"CONNECT 9600"
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3628 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
* marshallers/nm-marshal.list
- Add marshaller
* src/NetworkManager.c
- (main): let the NMManager handle the NMHalManager
* src/nm-hal-manager.c
src/nm-hal-manager.h
- convert to a GObject, and emit singals when stuff changes. Let the
NMManager handle the signals, instead of the NMHalManager calling
into the NMManager.
* src/nm-manager.c
src/nm-manager.h
- (remove_one_device): consolidate device removals here
- (dispose): use remove_one_device()
- (nm_manager_get_device_by_udi): make static
- (deferred_hal_manager_query_devices): idle handler to query the HAL
manager for devices at startup or wakeup time
- (nm_manager_new): create and monitor the HAL manager
- (hal_manager_udi_added_cb): new function; do what
nm_manager_add_device() used to do when signalled by the hal manager
- (hal_manager_udi_removed_cb): new function; do what
nm_manager_remove_device() used to do when signalled by the hal
manager
- (hal_manager_rfkill_changed_cb): handle rfkill changes from the
hal manager
- (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
in our device list that aren't known to HAL
- (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
see comments on nm-hal-manager.c::nm_manager_state_changed() a few
commits ago
- (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
nm_manager_activation_pending, nm_manager_wireless_enabled,
nm_manager_wireless_hardware_enabled,
nm_manager_set_wireless_hardware_enabled): remove, unused
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3619 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Fix the device up/down ambiguities. Up/down state used to be a
conglomeration of hardware state (IFF_UP) and any device-specific things
(supplicant, periodic timers, etc) that the device used to indicate
readiness. Unfortunately, if the hardware was already IFF_UP for some
reason, then the device specific stuff wouldn't get run, and the device
would be stuck.
* src/nm-device.c
src/nm-device.h
- Create hw_is_up, hw_bring_up, and hw_take_down
- Rename bring_down -> take_down
- (real_hw_is_up): check interface flags for IFF_UP
- (nm_device_hw_is_up): let subclasses figure out their own HW state
- (nm_device_is_up): make static; only used locally
- (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
if the device is already up; if the device isn't up, bring it up
- (nm_device_hw_take_down): just take down hardware
- (nm_device_bring_up): bring up HW first, then device specific stuff
- (nm_device_take_down): always deactivate device when called; always
try to take hardware down too
- (nm_device_state_changed): take device down when entering unmanaged
state from a higher state
* src/nm-device-802-11-wireless.c
- (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
check IFF_UP really
- (real_take_down, supplicant_iface_state_cb_handler,
supplicant_iface_connection_state_cb_handler,
supplicant_mgr_state_cb_handler): fix some messages
* src/nm-device-802-3-ethernet.c
- (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
check IFF_UP really
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3618 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-manager.c
src/nm-manager.h
- (nm_manager_error_get_type): add new error
- (nm_manager_remove_device): don't bother taking down the device here,
the state change from unmanaging the device will do it
- (impl_manager_sleep): move nm_manager_sleep() here since nothing else
uses it; when going to sleep, just unmanage the device instead of
taking it down, because stuff will cleaned up correctly when the
device gets unmanaged
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3617 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-hal-manager.c
- (add_initial_devices): convert to a GSourceFunc prototype
- (nm_manager_state_changed): when coming out of sleep, punt the
device re-addition to an idle handler to let D-Bus events go out
first, fixing a potential dbus-glib assert if the old device was
not yet disposed (due to references held while emitting the D-Bus
signals) but the new device was found, because the mainloop didn't
run between signal emission and add_initial_devices()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3616 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (link_timeout_cb): don't ask for secrets when disconnected during
association/authentication phase, drivers are still just too crappy
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3613 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* callouts/Makefile.am
callouts/nm-dispatcher-action.c
callouts/nm-dispatcher-action.h
callouts/nm-dispatcher.conf
callouts/nm-dispatcher.xml
callouts/org.freedesktop.nm_dispatcher.service
- Re-implement the dispatcher as a system-bus activated service that
NM calls on-demand, rather than an always running daemon
* src/Makefile.am
- Add callouts dir to includes to pick up dispatcher defines
* src/nm-device.c
- (nm_device_state_changed): call dispatcher on device activated/
deactivated
* src/vpn-manager/nm-vpn-connection.c
- (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
go up and down
* src/NetworkManagerUtils.c
src/NetworkManagerUtils.h
- (nm_utils_call_dispatcher): helper to call dispatcher
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3607 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
* 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
* 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
* include/NetworkManager.h
- Add NMActiveConnectionState enum
* introspection/nm-active-connection.xml
introspection/nm-vpn-connection.xml
- Add 'State' property for overall active connection state
- Add 'Default' property, when True means this active connection
has the default route
- Add PropertyChanged signals so changes actually go out over the bus
* src/nm-active-connection.h
- Add defines for State & Default properties
* src/nm-activation-request.c
- Add 'state' and 'default' properties, hook up to device 'state-changed'
signal to determine active connection state
* src/vpn-manager/nm-vpn-connection.c
src/vpn-manager/nm-vpn-connection.h
src/vpn-manager/nm-vpn-manager.c
src/vpn-manager/nm-vpn-service.c
- Rename old 'state' to 'vpn-state'
- Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
- Add 'state' and 'default' properties, hook up to the vpn connection's
'vpn-state-changed' signal
* libnm-glib/nm-active-connection.c
libnm-glib/nm-active-connection.h
- Add new 'state' and 'default' properties and accessors
* libnm-glib/nm-vpn-connection.c
libnm-glib/nm-vpn-connection.h
- Rename old 'state' property to 'vpn-state'
- Add new 'state' and 'default' properties and accessors
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3582 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerUtils.c
src/NetworkManagerUtils.h
- (nm_utils_merge_ip4_config): new function; merge settings from an
NMSettingIP4Config to an NMIP4Config object
* src/nm-device.c
- (merge_ip4_config): move to NetworkManagerUtils.c
* src/vpn-manager/nm-vpn-connection.c
- (nm_vpn_connection_ip4_config_get): merge in user-specified settings
too
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3580 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting-ppp.c
libnm-util/nm-setting-ppp.h
src/ppp-manager/nm-ppp-manager.c
- Remove the 'usepeerdns' option and always request DNS servers from
the PPP server; the connection chooses to use/override/ignore the
DNS servers returned from the PPP server
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3576 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting-ppp.c
libnm-util/nm-setting-ppp.h
src/ppp-manager/nm-ppp-manager.c
- Remove the 'require-mppc' option, because pppd doesn't support it and
it seems to have been an erroneous addition to the PPTP plugin in
the first place (from which the ppp-manager is derived)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3575 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting-pppoe.c
- (verify): require a PPP setting too
* src/ppp-manager/nm-ppp-manager.c
- (nm_ppp_manager_start): fail if no PPP setting is present instead of
segfaulting
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3574 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device.c
- (nm_device_state_changed): do deactivation and and promotion to
unavailable here, so that the device gets cleaned up before the
manager runs and starts emitting signals; do the
FAILED->DISCONNECTED transition from an idle handler rather than
immediately to guard against recursion
- (nm_device_deactivate_quickly, nm_device_dispose): stop the
FAILED->DISCONNECTED handler if it's scheduled
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3573 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (state_changed_cb): clear AP list when device transitions to
unavailable or unmanaged
- (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
since this is already done in device_cleanup()
- (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
isn't available or managed
- (device_cleanup): use remove_all_aps()
- (remove_all_aps): consolidate code removing all APs
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3572 4912f4e0-d625-0410-9fb7-b9a5a253dbdc