* src/nm-serial-device.c
src/nm-serial-device.h
- (wait_for_reply_got_data): break input into lines, and search each
line for responses _and_ terminator strings; also make sure that
the read loop doesn't continue after the timeout is supposed to fire
- (nm_serial_device_wait_for_reply): take an array of terminators too
* src/nm-gsm-device.c
src/nm-cdma-device.c
- Send terminators to nm_serial_device_wait_for_reply()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3570 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from 陈鑫 <znscnchen@gmail.com>
* src/ppp-manager/nm-pppd-plugin.c
- (get_credentials): return correct value for success; handle case where
pppd just does some checking but doesn't want a password
- (plugin_init): make CHAP work too
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3569 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from 陈鑫 <znscnchen@gmail.com>
* src/nm-device-802-3-ethernet.c
- (real_deactivate_quickly): clear the IP interface name on
deactivation, otherwise the wrong interface might get used later
for routing and IP management
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3567 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Remove exposure of wireless-tools mode types in the API.
* include/NetworkManager.h
- Define NM80211Mode enum
* introspection/generic-types.xml
- Describe NM_802_11_MODE enum
- Remove IW_MODE_* enum
* introspection/nm-access-point.xml
libnm-glib/nm-access-point.c
libnm-glib/nm-access-point.h
- 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
* introspection/nm-device-802-11-wireless.xml
libnm-glib/nm-device-802-11-wireless.c
libnm-glib/nm-device-802-11-wireless.h
- 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
* libnm-util/nm-setting-wireless.c
src/NetworkManagerAP.c
src/NetworkManagerAP.h
src/nm-device-802-11-wireless.c
src/nm-device-802-11-wireless.h
test/nm-tool.c
- Use NM80211Mode not IW_MODE_*
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3562 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-glib/nm-object-cache.c
libnm-glib/nm-settings.c
src/dhcp-manager/nm-dhcp-manager.c
system-settings/plugins/ifcfg-fedora/plugin.c
system-settings/plugins/ifcfg-suse/plugin.c
system-settings/src/nm-system-config-hal-manager.c
libnm-util/nm-utils.c
- Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
not threadsafe anyway
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3548 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-gsm-device.c
src/nm-cdma-device.c
- (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
handler to transition to DISCONNECTED
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3542 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* include/NetworkManager.h
- Remove the DOWN and CANCELLED device states
- Add UNMANAGED and UNAVAILABLE device states
- Document the device states
* introspection/nm-device.xml
src/nm-device-interface.c
src/nm-device-interface.h
- Add the 'managed' property
* test/nm-tool.c
- (detail_device): print out device state
* 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_device_get_system_config, nm_system_device_get_disabled
nm_system_device_free_system_config): remove; they were unused and
their functionality should be re-implemented in each distro's
system settings service plugin
* src/nm-gsm-device.c
src/nm-gsm-device.h
src/nm-cdma-device.c
src/nm-cdma-device.h
- (*_new): take the 'managed' argument
* src/nm-device.c
- (nm_device_set_address): remove, fold into nm_device_bring_up()
- (nm_device_init): start in unmanaged state, not disconnected
- (constructor): don't start device until the system settings service
has had a chance to figure out if the device is managed or not
- (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
don't set device state here, let callers handle that as appropriate
- (nm_device_dispose): don't touch the device if it's not managed
- (set_property, get_property, nm_device_class_init): implement the
'managed' property
- (nm_device_state_changed): bring the device up if its now managed,
and deactivate it if it used to be active
- (nm_device_get_managed, nm_device_set_managed): do the right thing
with the managed state
* src/nm-hal-manager.c
- (wired_device_creator, wireless_device_creator, modem_device_creator):
take initial managed state and pass it along to device constructors
- (create_device_and_add_to_list): get managed state and pass to
type creators
* src/nm-device-802-11-wireless.c
- (real_can_activate): fold in most of
nm_device_802_11_wireless_can_activate()
- (can_scan): can't scan in UNAVAILABLE or UNMANAGED
- (link_timeout_cb): instead of deactivating, change device state and
let the device state handler to it
- (real_update_hw_address): clean up
- (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
handler to transition to DISCONNECTED if the device isn't rfkilled
* src/nm-device-802-3-ethernet.c
- (set_carrier): move above callers and get rid of prototype
- (device_state_changed): when entering UNAVAILABLE state, schedule an
idle handler to transition to DISCONNECTED if the device has a
carrier
- (real_update_hw_address): clean up
- (link_timeout_cb, ppp_state_changed): change state instead of calling
deactivation directly as deactivation doesn't change state anymore
* src/NetworkManagerPolicy.c
- (schedule_activate_check): yay, remove wireless_enabled hack since
the NMManager and wireless devices work that out themselves now
- (device_state_changed): change to a switch and update for new device
states
- (device_carrier_changed): remove; device handles this now through
state changes
- (device_added): don't care about carrier any more; the initial
activation check will happen when the device transitions to
DISCONNECTED
* src/nm-manager.c
- (dispose): clear unmanaged devices
- (handle_unmanaged_devices): update unmanaged device list and toggle
the managed property on each device when needed
- (system_settings_properties_changed_cb): handle signals from the
system settings service
- (system_settings_get_unmanaged_devices_cb): handle callback from
getting the unmanaged device list method call
- (query_unmanaged_devices): ask the system settings service for its
list of unmanaged devices
- (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
devices
- (manager_set_wireless_enabled): push rfkill state down to wireless
devices directly and let them handle the necessary state transitions
- (manager_device_state_changed): update for new device states
- (nm_manager_add_device): set initial rfkill state on wireless devices
- (nm_manager_remove_device): don't touch the device if it's unmanaged
- (nm_manager_activate_connection): return error if the device is
unmanaged
- (nm_manager_sleep): handle new device states correctly; don't change
the state of unavailable/unmanaged devices
* libnm-glib/nm-device-802-11-wireless.c
- (state_changed_cb): update for new device states
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3540 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-hal-manager.c
src/nm-hal-manager.h
- (hal_init): don't look for hardware here
- (nm_hal_manager_start): new function; look for hardware here instead,
which can be done at a later time than hal_init()
* src/NetworkManager.c
- (main): start HAL manager after entering the main loop
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3530 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/vpn-manager/nm-vpn-service.c
- (nm_vpn_service_daemon_exec): add an error argument so that spawn
errors can be passed back to the caller; also no longer scheduled
as an idle handler, but called directly; and bump up VPN service
spawn timeout, 2s is really short
- (nm_vpn_service_activate): don't schedule the VPN service activation,
but call it directly so that errors are reported on return from
ActivateConnection() and don't get lost. If scheduled as an idle
handler, clients don't have the time to query NM for the new VPN
connection's properties before the VPN connection is torn down again
if the service couldn't be launched, and therefore launch errors
get lost.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3521 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/vpn-manager/nm-vpn-connection.c
- (device_state_changed): send correct state on device failure too
- (plugin_state_changed): failed state means unexpected disconnection,
thus if the service goes away while the VPN connection is activated
that's a failure too
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3520 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/vpn-manager/nm-vpn-connection.c
- (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
not string
* src/nm-activation-request.c
- (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
not string
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3513 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Rework VPN connection handling for a more consistent D-Bus API. The
VPNManager object has been removed, and active VPN connections are now the
same as any other active connection. The Manager object's ActivateConnection
and DeactivateConnection methods are used to start and stop a VPN connection,
and the VPNConnection objects are subclasses of the ActiveConnection objects.
When activating a VPN connection, pass the path of the active connection
to which the VPN connection is tied in the 'specific_object' argument.
Consequently, the libnm-glib API has been reworked to match this arrangement,
with the VPNManager object removed, and the NMVPNConnection objects now
being subclasses of NMActiveConnection.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3504 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* introspection/nm-manager.xml
introspection/nm-manager-client.xml
- (ActivateConnection): return the object path of the active connection
on success
- (GetActiveConnections): remove
- (DeactivateConnection): new function; deactivate a currently active
connection
- Add an ActiveConnections property which returns an array of
active connection object paths
* introspection/nm-device.xml
- (Deactivate): remove
* introspection/all.xml
- Add ActiveConnection introspection
* introspection/nm-active-connection.xml
- Add the ActiveConnection object
* include/NetworkManager.h
- Add the Connection.Active D-Bus interface
* src/nm-device-interface.c
- (impl_device_deactivate): remove
* src/nm-activation-request.c
src/nm-activation-request.c
src/Makefile.am
- Implement the Connection.Active D-Bus interface
* src/nm-manager.c
- (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
- (nm_manager_activate_device): return the active connection path
- (connection_added_default_handler, impl_manager_activate_connection):
return the active connection to the caller
- (add_one_connection_element, impl_manager_get_active_connections):
remove
- (impl_manager_deactivate_connection): new function; deactivate an
active connection
* libnm-glib/nm-device.c
libnm-glib/nm-device.h
- Remove Deactivate() function
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3484 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* introspection/nm-manager.xml
introspection/nm-manager-client.xml
- Rename the ActivateDevice method to ActivateConnection to better
reflect it's usage; it's arguments get reordered a bit too
- Convert GetActiveConnections method return from a struct to a dict
* include/NetworkManager.h
- Define the dict keys for return value of GetActiveConnections
* src/nm-manager.c
- impl_manager_activate_device -> impl_manager_activate_connection
- (add_one_connection_element): return a populated hash table, not
a structure
* libnm-glib/nm-client.c
libnm-glib/nm-client.h
- nm_client_activate_device -> nm_client_activate_connection
- nm_client_free_active_connection_element -> nm_client_free_active_connections_element
- (nm_client_get_active_connections): return a GSList of GHashTables,
instead of the custom structures. Each element of the returned list
must be freed with nm_client_free_active_connections_element()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3482 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Date: Tue Mar 18 21:46:10 2008 -0600
2008-03-18 Tambet Ingo <tambet@gmail.com>
* src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
print out username and password, it's supposed to be a secret.
* src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication
request and set the device state accordingly.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3481 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Date: Mon Mar 17 12:27:01 2008 -0600
2008-03-17 Tambet Ingo <tambet@gmail.com>
Clean up activating device deactivation.
* src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
should be done whether the device activation gets cancelled or the device
is just getting deactivated.
(nm_device_activation_cancel): Remove.
(nm_device_deactivate_quickly): Handle the case where device is activating.
* src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
It does the exact same thing as real_deactivate_quickly().
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3471 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Split the 802.1x bits out of the wireless-security setting so they are
generalized enough for wired 802.1x to use too.
* introspection/nm-exported-connection.xml
- GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
of just a hash of the secrets for one setting
* libnm-util/nm-setting-wireless-security.c
libnm-util/nm-setting-wireless-security.h
- Remove 802.1x-specific stuff
- Added leap-username and leap-password properties for old-school LEAP
* src/nm-device.c
src/nm-device.h
- (connection_secrets_updated_cb): take a list of updated settings names,
not just one
* src/supplicant-manager/nm-supplicant-config.c
src/supplicant-manager/nm-supplicant-config.h
- (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
specific stuff; fix for updated LEAP bits; punt 802.1x stuff
to nm_supplicant_config_add_setting_8021x()
- (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
the supplicant config
* src/nm-device-802-11-wireless.c
- (build_supplicant_config): pass in the 802.1x setting too, if any
- (real_connection_secrets_updated): take a list of updated settings
names, not just one
* src/nm-device-802-3-ethernet.c
src/nm-cdma-device.c
src/nm-gsm-device.c
- (real_connection_secrets_updated_cb): take a list of updated settings
names, not just one
* src/nm-activation-request.c
src/nm-activation-request.h
- (nm_act_request_class_init): the 'connection-secrets-updated' signal
now passes a list of updated settings names, not just one
- (update_one_setting): new function; handle one updated setting
- (get_secrets_cb): handle multiple settings returned from the
settings service; have to be careful of ordering here as there are
some dependencies between settings (ex. wireless-security and 802.1x
in some cases)
* src/marshallers/nm-marshal.list
- new marshaller for connection-secrets-updated signal
* libnm-util/nm-setting-8021x.c
- Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
methods
- (verify): a valid 'eap' property is now required
* libnm-util/nm-connection.c
- (register_default_settings): add priorities to settings; there are
some dependencies between settings, and during the need_secrets
calls this priority needs to be respected. For example, only the
wireless-security setting knows whether or not the connection is
going to use 802.1x or now, so it must be asked for secrets before
any existing 802.1x setting is
- (nm_connection_lookup_setting_type): expose
* libnm-util/nm-setting-wireless.c
- (verify): should verify even if all_settings is NULL; otherwise won't
catch the case where there is missing security
* libnm-util/nm-setting-wireless-security.c
- Remove everything to do with 802.1x
- Add old-school LEAP specific properties for username and password
- (need_secrets): rework LEAP secrets checking
- (verify): rework for LEAP and 802.1x verification
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3470 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerPolicy.c
- (auto_activate_device): always remove the current activation check
from the pending activation list, otherwise when the policy gets
destroyed on NM exit it will attempt to free the already freed
activation check
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3469 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-manager.c
- (nm_device_interface_get_iface): g_object_get() will return an
allocated value, so this function must not return const
- (nm_device_interface_activate): free returned iface
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3464 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* include/wireless-helper.h
include/Makefile.am
- One place for all the junk needed for #including wireless.h
* test/nm-tool.c
src/NetworkManagerAP.c
src/wpa.c
src/Makefile.am
libnm-util/nm-utils.c
libnm-util/nm-setting-wireless.c
libnm-glib/nm-device-802-11-wireless.c
libnm-glib/nm-access-point.c
libnm-glib/libnm-glib-test.c
- include wireless-helper.h, not iwlib.h
* configure.in
- Don't need libiw really, just need to check for wireless.h
* src/kernel-types.h
- Remove; used types moved into wpa.c
* src/nm-device-802-11-wireless.c
- (nm_device_802_11_wireless_update_signal_strength,
real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
nm_device_802_11_wireless_set_mode,
nm_device_802_11_wireless_get_frequency,
nm_device_802_11_wireless_get_ssid,
nm_device_802_11_wireless_set_ssid,
nm_device_802_11_wireless_get_bitrate,
nm_device_802_11_wireless_get_bssid,
nm_device_802_11_wireless_disable_encryption): use ioctl() directly
instead of iwlib functions
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3462 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/ppp-manager/nm-ppp-manager.c
- (impl_ppp_manager_need_secrets): since it's asynchronous now, it
should only take the DBusGMethodInvocation argument, not user/pass
too. With dbus-glib, async functions only take 2 C arguments since
the real dbus method arguments get passed back with
dbus_g_method_return()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3455 4912f4e0-d625-0410-9fb7-b9a5a253dbdc