* 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
* libnm-glib/nm-dbus-settings.c (constructor): Fix the
"PropertiesChanged" signal signature.
* libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
defined in nm-dbus-glib-types.h.
Don't register the connection on dbus, we're a proxy class to
communicate with an already registered connection over dbus.
2008-04-30 Tambet Ingo <tambet@gmail.com>
Implement new subclasses of NMSettings and NMExportedConnection to make
it easier for the applet to access and modify system settings.
* libnm-glib/nm-dbus-connection.[ch]:
* libnm-glib/nm-dbus-settings.[ch]:
* libnm-glib/nm-dbus-settings-system.[ch]: Implement.
* libnm-glib/Makefile.am: Add the new files to build, generate some more
bindings and glue.
* include/NetworkManager.h: Define the system settings DBus interface.
2008-04-30 Tambet Ingo <tambet@gmail.com>
Implement additional C API for exported connections to make them identical
with the DBus API. Change the (list_connections) virtual function to be
more usable from C - instead of requiring implementers to return a GPtrArray
of dbus paths, return a list of connections.
* libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
(nm_settings_list_connections):
(nm_exported_connection_new):
(nm_exported_connection_update):
(nm_exported_connection_delete): Implement.
(impl_settings_list_connections):
(impl_exported_connection_update):
(impl_exported_connection_delete): Use the new public functions to make
sure the C and dbus interfaces stay in sync.
* system-settings/src/dbus-settings.c (list_connections): Return a list of
connections.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3630 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
Patch from Michael Biebl <biebl@debian.org>
* callouts/Makefile.am
callouts/org.freedesktop.nm_dispatcher.service.in
system-settings/src/Makefile.am
system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
- use the right install location for dbus-activated stuff
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3624 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