* src/nm-netlink-monitor.c
(nm_netlink_monitor_event_handler): check for the presence
of either error condition not both.
(nm_netlink_monitor_error_handler): emit error signal if
error occurs.
(nm_netlink_monitor_event_handler),
(nm_netlink_monitor_error_handler),
(nm_netlink_monitor_disconnect_handler): if an
assertion fails disconnect the event handler to prevent
infinite loops.
* src/nm-netlink-monitor.h: add new error condition
NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@719 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-netlink-monitor.c
(nm_netlink_monitor_event_handler): remove bogus < 0
check on unsigned value and return early if the kernel
didn't send any bytes.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@718 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* Kill dhcpcd. We now use "dhcdbd", a dbus daemon that controls dhclient.
This means that NetworkManager shouldn't have DHCP issues anymore. It also
means you need dhcdbd, which you can get here (get the latest one):
http://people.redhat.com/jvdias/dhcdbd/
Technically NetworkManager can use any DHCP daemon that uses the same DBUS
interface as dhcdbd.
* Rewrite device activation to facilitate the new DHCP infrastructure and
future improvements. Its now "activation request" based, ie there is a single
activation request composed of the device, access point, and other info which
follows the entire activation process. There are 5 stages of the activation
process which correspond to:
1) Device preparation
2) Device configuration (bring it up, set ESSID/Key/etc)
3) IP Config Start (fire off DHCP if we're using it)
4) IP Config Get (grab config from DHCP or static config files)
5) IP Config Commit (set device's IP address, DNS, etc)
Note that there is no longer a "scanning" step, since the access point must
be known _before_ activation starts. If the access point drops out or does
not exist for some reason, the entire activation process fails and must be
restarted for a different access point or device.
Patch from Bill Moss:
* gnome/applet/applet.c
- Fix type of vpn_failure dialog -> vpn_banner dialog
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@597 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patches from Tom Parker:
- Fix memleaks
- Join with worker thread rather than polling for its exit
Patch from Bill Moss:
- Cull duplicate ESSIDs from the scan list, taking highest strength AP
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@573 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from Tom Parker:
* src/nm-netlink-monitor.c
- Include unistd.h
* info-daemon/NetworkManagerInfoDbus.c
- (nmi_dbus_update_network_auth_method): free GConf values
Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
* src/NetworkManagerDevice.c
- (nm_device_set_wireless_config): wait for successful
association longer for some cards (Atheros a/b/g)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@502 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Fix a few -Wall -Werror warnings
* info-daemon/NetworkManagerInfo.c:
(main): remove unused loop variable.
* info-daemon/NetworkManagerInfoDbus.c:
(nmi_dbus_nm_is_running): comment out
unused static function
* src/nm-netlink-monitor.c:
(receive_pending_bytes):
initialize output variables to NULL/0,
on function failure (Problem pointed out
by Bryan Clark).
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@498 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Fourth (probably working) cut at porting to
dbus 0.30 api and new hal. This cut adds
some new logging macros to make debugging
easier.
* dispatcher-daemon/NetworkManagerDispatcher.c:
* info-daemon/NetworkmanagerInfo.c:
* info-daemon/NetworkManagerInfoPassphraseDialog.c:
* info-daemon/NetworkManagerInfoVPN.c:
* src/NetworkManager.c:
* src/NetworkManagerAP.c:
* src/NetworkManagerAPList.c:
* src/NetworkManagerDHCP.c:
* src/NetworkManagerDbus.c:
* src/NetworkManagerDevice.c:
* src/NetworkManagerPolicy.c:
* src/NetworkManagerSystem.c:
* src/NetworkManagerUtils.c:
* src/NetworkManagerWireless.c:
* src/autoip.c:
* src/nm-dbus-nm.c:
* src/backends/NetworkManagerDebian.c:
* src/backends/NetworkManagerGentoo.c:
* src/backends/NetworkManagerRedHat.c:
* src/backends/NetworkManagerSlackware.c:
use new logging macros.
* dispatcher-daemon/NetworkManagerDispatcher.c:
(nmd_dbus_filter): s/dbus_free/g_free/
* info-daemon/Makefile.am: link in utils library.
* info-daemon/NetworkmanagerInfo.c: use new logging
macros.
(nmi_dbus_get_network): don't assume enumerations
are 32-bit.
(nmi_dbus_nmi_message_handler): don't free what
doesn't belong to us.
* libnm_glib/libnm_glib.c:
(libnm_glib_get_nm_status):
(libnm_glib_init): don't free what doesn't
belong to us.
(libnm_glib_dbus): strdup result, so it doesn't get
lost when message is unref'd.
* panel-applet/NMWirelessAppletDbus.c:
(nmwa_dbus_update_devices): s/dbus_free/g_free/
* src/NetworkManager.c:
(nm_monitor_wired_link_state): request initial status
dump of all cards when we start up, instead of relying
on /sys/.../carrier.
(nm_info_handler), (nm_set_up_log_handlers):
log handlers to specify what syslog priorites
the logging macros default to.
* src/NetworkManagerAPList.c:
(nm_ap_list_populate_from_nmi):
s/dbus_free_string_array/g_strfreev/
* src/NetworkManagerDbus.c:
(nm_dbus_get_network_object):
validate d-bus message argument types.
Advance message iterator after reading argument,
prepend instead of append to GSList.
* src/NetworkManagerDevice.c:
(nm_device_probe_wired_link_status):
remove redundant /sys in /sys path. remove wrong
contents == NULL means has carrier assumption.
* src/nm-netlink-monitor.c
(nm_netlink_monitor_request_status): implement
function to ask kernel to dump interface link
status over netlink socket.
* test/*.c: s/dbus_free/g_free/
* utils/nm-utils.h:
(nm_print_backtrace): new macro to print backtrace.
(nm_get_timestamp): new macro to get sub-second precise
unix timestamp.
(nm_info), (nm_debug), (nm_warning), (nm_error):
new logging functions. nm_info just prints,
nm_debug includes timestamp and function,
nm_warning includes function, nm_error includes
backtrace and sigtrap.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@497 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Third (unfinished, partially working) cut at porting to
dbus 0.30 api and new hal.
* info-daemon/NetworkManagerInfoDbus.c:
don't free null arrays.
* panel-applet/NMWirelessAppletDbus.c:
* src/nm-dbus-device.c:
* src/nm-dbus-net.c:
* src/NetworkManagerDbus.c: more
STRING -> OBJECT_PATH fun
* src/NetworkManagerDevice.c:
* src/NetworkManagerDevice.h:
(rename nm_device_get_link_active): rename to
nm_device_has_active_link
(nm_device_wireless_link_active): rename to
nm_device_probe_wireless_link_state
(nm_device_wired_link_active): rename to
nm_device_probe_wired_link_state. Rewrite to
use carrier file since hal doesn't maintain
link state anymore.
(nm_device_update_link_active): rename to
nm_device_update_link_state
* src/NetworkManagerPolicy.c
(nm_policy_activation_finish): check for NULL
MAC address.
* src/Makefile.am:
* src/NetworkManagerMain.h:
* src/NetworkManager.c:
* src/nm-netlink-monitor.c:
* src/nm-netlink-monitor.h: New class to support
monitoring wired ethernet link status, since HAL
doesn't export that information anymore.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@495 4912f4e0-d625-0410-9fb7-b9a5a253dbdc