* src/nm-device.c
- (nm_device_is_activating): work around a race between auto-activation
and the user activating the same device that is being auto-activated
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2842 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-interface.c
- (impl_device_activate): until multiple active device support lands,
ensure only one device can be active at a time
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2841 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerPolicy.c
- (nm_policy_device_change_check): re-enable the wireless device change
checking code; insted of checking for SSIDs, check for the same
connection instead
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2839 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (supplicant_iface_connection_state_cb_handler): don't use the card's
composite link state when determining when to start the disconnection
timer; that link state is already based on the supplicant interface's
status which is exactly what's already being examined, plus the link
state is a conglomeration of various things that we don't want here
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2838 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/supplicant-manager/nm-supplicant-config.c
- (nm_supplicant_config_add_setting_wireless_security): uppercase
string list keywords too since that's what wpa_supplicant wants
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2836 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting.c
- (convert_strv_to_slist): dupe the values in the list because since
the list is a boxed value, it'll get destroyed when it's container
(like a hash table or whatever) gets destroyed
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2835 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting.h: Change the type of
* NMSettingVPN->routes to
GSList.
* libnm-util/nm-setting.c (setting_vpn_destroy): Free routes
* too.
* src/nm-manager.c (connection_get_settings_cb): No need to use
* weakref,
just use (g_object_set_data_full).
* src/vpn-manager/nm-vpn-connection.c
* (nm_vpn_connection_get_routes): Now
that NMSettingVPN->routes is a GSList, convert it to char **.
(nm_vpn_connection_ip4_config_get): Free routes when done.
(nm_vpn_connection_activate): Ditto.
* src/nm-device-802-11-wireless.c
* (real_connection_secrets_updated)
(real_act_stage2_config): Use defined setting names.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2832 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
src/nm-manager.c
src/nm-manager.h
- Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
so that the device can be deactivated if secrets are wrong
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2830 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* introspection/nm-settings-connection.xml
libnm-glib/nm-settings.c
libnm-glib/nm-settings.h
- Make GetSecrets asynchronous on the server side
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2829 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-manager.h
src/nm-device.c
- (nm_device_activate): actually check if a given connection
exists before assuming it doesn't
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2828 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.c
src/NetworkManagerAP.h
introspection/nm-access-point.xml
- Change strength-changed signal into a properties-changed signal
for all properties, not just strength. Export that signal over dbus
so listeners don't have to poll NM for changes.
- (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
get exported over D-Bus, so break up the logic and let other bits
decided when to export the AP
- (nm_ap_new_from_ap): remove, unused
* src/nm-device-802-11-wireless.c
- (merge_scanned_ap): only export APs that are actually on the device
list, not every AP created internally
* libnm-glib/nm-access-point.c
libnm-glib/nm-access-point.h
- Cache properties internally and only hit DBus when needed. Get
property updates from NM signals
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2825 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-connection.c
libnm-util/nm-connection.h
- (nm_connection_for_each_setting_value): new function; iterate over
each setting's value and call a user-provided function with details
about that value
* libnm-util/nm-setting.c
libnm-util/nm-setting.h
- (nm_setting_enumerate_values): new function; enumerate the values
of a specific NMSetting subclass for a user-provided function with
details about that value
- Change wep_tx_keyidx to a uint32
- Create settings value tables for each setting defining their type,
key name, offset into the NMSetting subclass' structure, and whether
they are required and/or a secret
- (nm_setting_populate_from_hash): generic function to populate an
NMSetting from a GHash table, make all settings use it
- (nm_setting_hash): generic function to derive a GHashTable from
an NMSetting object, make all settings use it
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2823 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Implement deferred activation support in the device class.
* src/nm-device-interface.c
src/nm-device-interface.h
- (nm_device_interface_activate): take more arguments to support
deferred activation; callers must pass one of (connection) OR
(service_name, connection_path)
- (impl_device_activate): connection validation is punted to the device
to be able to handle deferred activation. Yes, this means errors
don't get returned from the Activate() dbus call, and yes, that
should be fixed somehow later.
* src/nm-device.c
src/nm-device.h
- (clear_act_request): clear additional deferred activation stuff too
- (deferred_activation_timeout_cb): new function; clean up when
deferred activation times out.
- (deferred_activation_start_cb): new function; when the connection
finally becomes available, start device activation
- (nm_device_activate): attach to the right signals of the activation
request if we need to defer activation until the connection is valid
* src/NetworkManagerPolicy.c
- (nm_policy_device_change_check): update for additional arguments
required for nm_device_interface_activate(). Pass NULL for these
though because this function already knows exactly which
NMConnection to use
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2812 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Implement deferred activation handling in the NMActRequest class. When a
client wants to activate a device but must create the NMConnection details
on the fly, there likely hasn't been enough time yet for NM to receive the
new connection signal and grab all the connection details. So the
activation is deferred (and bounded by a timer) for a while, and if the
connection appears within the window, it is activated.
* src/nm-activation-request.c
src/nm-activation-request.h
- (nm_act_request_class_init): two new signals to support deferred
activation, to allow the listener to handle both timeout and success
- (nm_act_request_new_deferred): new function, starts the deferred
activation timeout handler and listens to the NMManager for
new-connection signals to notice when the connection comes in
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2811 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-manager.h
src/nm-manager.c
- (nm_manager_get_connection_service_name,
nm_manager_get_connection_dbus_path): get details about a connection
known internally by the NMManager
- (nm_manager_class_init): fix connection add/remove signal marshalers
because NMConnection is now a GObject subclass
- Use constant for the gobject data tag used on NMConnection objects for
storing the associated DBusGProxy
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2810 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-glib/nm-vpn-manager.h
libnm-glib/nm-vpn-manager.c
- (nm_vpn_manager_connect): take routes as a GSList, not a char **
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2803 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-3-ethernet.c
- (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
netlink monitor carrier signals on dispose, not bring down. The
carrier signals should be handled over the entire lifetime of the
device anyway, not created/destroyed on up or down.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2802 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-glib/nm-device.c
libnm-glib/nm-device.h
- (nm_device_activate): take a connection object path rather than an
NMConnection because NMConnection isn't exported over D-Bus and
therefore it dbus-glib can't automatically get an object path from it
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2801 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/vpn-manager/nm-vpn-connection.[ch]:
* src/vpn-manager/nm-vpn-manager.[ch]:
* src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling
* code. Using
dbus-glib, GObjects, signals etc.
* libnm-glib/nm-vpn-manager.[ch]:
* libnm-glib/nm-vpn-connection.[ch]: Now that the NM
* implementation changed
so much, rewrite these too.
* libnm-glib/Makefile.am: Add new files to build, build new
* binding files for
the new introspection files.
* libnm-glib/nm-client.[ch]: Remove all VPN related stuff from
* here.
* libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that
* was shadowing
the header with the same name from libnm-utils.
* libnm-glib/nm-vpn-plugin.[ch]: Implement.
* libnm-util/Makefile.am: Add nm-utils.[ch] to build.
* introspection/nm-vpn-plugin.xml: Implement.
* introspection/nm-vpn-connection.xml: Implement.
* introspection/nm-vpn-manager.xml: Implement.
* src/NetworkManagerSystem.c
* (nm_system_vpn_device_set_from_ip4_config): Remove
the named manager argument, it can just as easily get it as the
caller.
(nm_system_vpn_device_unset_from_ip4_config): Ditto.
* src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
* src/nm-dbus-manager.h: Fix up the name_owner signal signature.
* src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove,
* use one from
libnm-utils.
* libnm-util/nm-connection.c: Ditto.
* src/NetworkManagerMain.h: Remove, it's finally empty.
* configure.in: Remove utils/ from build.
* include/NetworkManagerVPN.h: Add some more defines to reduce
* the amount
of hard-coded strings.
* utils/: Move it over to libnm-util.
* test/Makefile.am: Link against libnm-util now that util/ is
* gone.
* dispatcher-daemon/Makefile.am: Ditto.
* src/Makefile.am: Ditto.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2798 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-vpnc-service.[ch]: Rewrite. Derive from NMVPNPlugin.
* src/nm-vpnc-service-vpnc-helper.c: Rewrite using dbus-glib.
* auth-dialog/main.c: Populate the properties hash with the
* passwords.
* properties/nm-vpnc.c: The VPN connection properties are all
* hash tables now.
* src/nm-utils.[ch]: Remove. Use the same things from
* libnm-util.
* configure.in: Check libnm_glib module as well now that we use
* NMVPNPlugin.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2797 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Wireless connections can be made with config data from the applet now.
Yay.
* src/supplicant-manager/nm-supplicant-config.h
src/supplicant-manager/nm-supplicant-config.c
- (nm_supplicant_config_new): kill unused init parameter 'iface'
- (nm_supplicant_config_add_setting_wireless,
nm_supplicant_config_add_setting_wireless_security): new functions;
add key/value pairs from the settings objects to the supplicant
config
* src/nm-device-802-11-wireless.c
- (cull_scan_list): fix check to not prune currently associated AP
- (build_supplicant_config, real_act_stage2_config): call the functions
of the NMSupplicantConfig that parse settings objects rather than
doing it manually here
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2796 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/supplicant-manager/nm-supplicant-interface.c
src/supplicant-manager/nm-supplicant-marshal.list
- (nm_supplicant_interface_class_init): fix stupid mistake, the
"connection-error" signal arguments should be STRING not CHAR
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2795 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-manager.c
- (connection_get_settings_cb): emit connection-added signal
- (connection_removed_cb): uncomment bits for system settings service,
send connection-removed when appropriate
- (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
the stack by trying to g_object_set_data() on something that's
not a GObject; handle case where settings service returns
empty settings hash table
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2793 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-glib/nm-access-point.c
libnm-glib/nm-access-point.c
- (nm_access_point_get_frequency): now returns guint32 to match
property change on 2007-09-10
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2788 4912f4e0-d625-0410-9fb7-b9a5a253dbdc