* src/nm-device-802-11-wireless.c
- Add a link timeout so we allow the supplicant time to
reassociate if it can, before we deactivate the card
- Fix up link status and link updating so things work better
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1288 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- Switch over to using wpa_supplicant
- Add a timeout of 10s for association of the supplicant
- Start the monitor callback of the supplicant
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1286 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-private.h
src/nm-device.c
- (nm_device_activate_schedule_stage3_ip_config_start): make this
function available to subclasses
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1283 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
user plugging in a network cable signals their preference for to
switch, unless the user explicitly selected a wireless network and
therefore signaled their preference for said wireless network over
wired. In other words, do exactly what makes sense.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1279 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
src/NetworkManagerWireless.h: Remove, no longer used and they keep
showing up in my greps.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1278 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/applet/applet-dbus-devices.c,
gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
src/nm-dbus-nm.c: Fix several issues. 'Connect to Other' and 'Create
New Network' both failed in the non-encrypted case because we were
not appending the security options to the DBUS message. And
'Connect to Other' was also failing in the encrypted case because
we were not incrementing to the next DBUS parameter. All fixed.
Thanks to dcdw for some debugging help.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1276 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
hangup code and add per-device hangup. Tie last commit into the
GNOME applet. TODO: Save, understand, and respond to the state of
each dialup device.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1273 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/applet/applet-dbus-devices.c,
gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
connections.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1269 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
First dump of wpa_supplicant-related code. It's not hooked up to
anything yet though. Thanks to Kay Sievers for
wpa_supplicant_wrapper.c, which formed the basis for this work,
and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
* src/Makefile.am
src/wpa_ctrl.[ch]
- Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
* src/NetworkManagerUtils.[ch]
- (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
Add convenience functions for talking to wpa_supplicant
* src/nm-ap-security.[ch]
src/nm-ap-security-wep.c
src/nm-ap-security-wpa-psk.[ch]
- Update and implement real_write_supplicant_config functions
in all security types
- (nm_ap_security_wpa_psk_new_from_ap): implement in
nm-ap-security-wpa-psk.c
* src/nm-device-802-11-wireless.c
- (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
wpa_supplicant_start, wpa_supplicant_interface_init,
wpa_supplicant_send_network_config): add functions to talk to
wpa_supplicant and write network config to it
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1267 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
values so that distribution-backends can differentiate between the
various types (modem, ISDN, et cetera) of dialup device that they
support.
* src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
needed.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1265 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch by Preggna S:
* src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
IPsec does not require that a VPN client be bound to an interface,
due to the use of the in-kernel IPSec bits. So make the tunnel
device optional.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1258 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.c
- (nm_ap_add_capabilities_from_ie): presume no WEP unless
the WPA IE specifies that WEP is supported
* src/nm-device-802-11-wireless.c
- (process_scan_results): don't mark an AP as supporting WEP
if there's already other encryption capability info
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1256 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/dhcp-manager/nm-dhcp-manager.c
- Recognize activation cancellation when waiting for DHCP
configuration from dhcdbd
- Ignore non-dhcdbd messages
* src/nm-device.c
- (real_act_stage3_ip_config_start): return to correct behavior
of letting the dhcp-manager notify us of failure or
success rather than incorrectly doing that ourselves
- (nm_device_activate_stage4_ip_config_get): deal with
activation cancellation a bit earlier
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1253 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
src/nm-device.[ch]
- Add hooks to subclasses for stage3_ip_config_start and
stage4_ip_config_timeout
* src/nm-device-802-3-ethernet.c
- (real_get_generic_capabilities): make devices NM-supported
by default
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1251 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: update to newer API (no more
nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
latter cannot differentiate between error and the address -1; misc.
clean up.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1250 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
* src/nm-device-802-11-wireless.c
- (real_init): don't chain up to parent init because we don't
need to do that anymore
* src/nm-device.c
- (discover_device_type): fix arguments to ioctl() to correctly
pass interface name
- (nm_device_new): consolidate generic device initialization into
nm_device_new()
- (real_init): remove, consolidated to nm_device_new()
- (nm_device_deactivate, real_deactivate): consolidate
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1247 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-activation-request.c
- Change dhcp_state member of the NMActRequest structure
from guint8 to guint32
* src/dhcp-manager/nm-dhcp-manager.[ch]
- (nm_dhcp_manager_get_state_for_device): return guint32 rather
than guint8 to match the dbus argument. Turns out we were
overwriting memory since we were passing in only a guint8
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1245 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
* gnome/applet/applet-dbus-info.c
- (nmi_dbus_get_key_for_network): if there's no entry in
GConf for a network, assume we want a new key
- (nmi_save_network_info): serialize wireless security info
into GConf so its saved
* src/nm-dbus-nm.c
- Fix warning as we may not be passed security info when
connecting to a wireless network
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1231 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/applet/applet-compat.c
- Fix bugs in GConf entry conversion
* gnome/applet/applet-dbus-info.c
- (nmi_dbus_get_network_properties): handle case of the BSSID
list being zero-length
* libnm-util/cipher-*
libnm-util/dbus-helpers.c
- All ciphers must now return hashed keys as UTF-8 valid
hexadecimal strings, ie "8f3dae4023". They are pushed
through dbus as strings too.
- Consolidate various functions that do bin->hex and hex->bin
conversion into cipher.c
* src/nm-ap-security-wep.c
src/nm-ap-security-wpa-psk.c
- Handle NULL keys since we may not know keys right away
* src/nm-dbus-nmi.c
- (nm_dbus_get_network_data_cb): actually advance to the start
of the wireless security info before we try to deserialize it
* libnm-util/test-ciphers.c
- Update cipher tests for the change to UTF-8 hexadecimal strings
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1230 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* gnome/applet/nm-gconf-wso*
- Make the serialize functions return gboolean
rather than int
* gnome/applet/nm-gconf-wso.c
- (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
parent class handling so we don't segfault
* src/NetworkManagerAP.[ch]
- (nm_ap_get_capabilities): new function, return capabilities
now that something can use them
- (nm_ap_set_encrypted): assume that an access point supports
both WEP104 and WEP40 if its set encrypted. FIXME: can
we even tell whether it just supports WEP40?
* src/NetworkManagerDevice.c
- (ap_need_key): resurrect and update for the New World Order
- (nm_device_wireless_get_activation_ap): if we're not given
security info to use, create some based on access point
capabilities
* src/nm-ap-security-wep.c
- (nm_ap_security_wep_new_from_ap): create a new object
based on a certain access point's capabilities
* src/nm-ap-security.c
- (nm_ap_security_new_from_ap): delegate creation of a new
object based on access point capabilities to a subclass
- (nm_ap_security_copy_properties): don't segfault if we
don't have a key yet
* src/nm-dbus-nm.c
- (nm_dbus_nm_set_active_device): provide more informative
output when errors occur. Also construct security info
for a given access point if we weren't given any
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1219 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
binaries unless they exist (nm_spawn_process() emits a warning if
asked to spawn a non-existant process).
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1205 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* nm_device_set_enc_key -> nm_device_set_wep_enc_key
* Fix up NM -> NMI get-user-key dbus calls in NM (applet
bits still to be done)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1202 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* Kill auth_method for access points, since that's now done
by NMAPSecurity objects
* Add a copy-constructor of sorts to NMAPSecurity
(how do you do this properly in glib???)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1200 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* Exorcise encryption key hashing on APs
* Use libnm-util's serialization/deserialization in both the
applet and NM
* Random other stuff
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1198 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch by Timo Hoenig <thoenig@suse.de>:
* src/NetworkManagerDbus.c
- (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
if HAL jumps off the system bus. Otherwise libdbus
(dbus_connection_dispatch) will try to run the filter
function of our libhal context which is already freed.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1193 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* include/NetworkManager.h
src/NetworkManagerWireless.c
- Rearrange 802.11 wireless-specific capabilities again
* src/Makefile.am
- Forgot to add wpa.c/wpa.h to the makefiles
* src/NetworkManagerAP.[ch]
- Implement access point capabilities and parse the
WPA/RSN IEs into the capability bitfield
- Switch the "encrypted" attribute to utilize the bitfield
and capabilities rather than being independent
* src/NetworkManagerDevice.c
- (nm_device_wireless_get_activation_ap): break it horribly
until we can push NMAPSecurity objects into access point
objects and through the activation chain
- Stuff WPA & RSN IEs into AP capabilities
* src/nm-dbus-nm.c
- Take a shot at actually making setActiveDevice work
* src/wpa.[ch]
- Make the API a bit saner
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1191 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* include/NetworkManager.h
- Add 802.11-specific capability for 802.1x key
management
* src/wpa.[ch]
- Pull in WPA IE and RSN IE parsing code from
wpa_supplicant so we can determine access point
capabilities
- Move WPA-related constants here from NetworkManagerAP.h
and NetworkManagerDevice.c
* src/NetworkManagerDevice.c
src/NetworkManagerAP.[ch]
- Use WPA-related constants from wpa.h
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1190 4912f4e0-d625-0410-9fb7-b9a5a253dbdc