* 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
* src/nm-device-802-11-wireless.c
- (nm_device_802_11_wireless_new): s/index/idx, stupid system header
somewhere defines 'index' and I missed this one when I fixed the
shadow declaration errors earlier
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2786 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-connection.c
- (nm_connection_update_secrets, need_secrets_check): move
802-11-wireless-security need_secrets checks to the setting object
itself, where it belongs
* libnm-util/nm-setting.c
libnm-util/nm-setting.h
- (nm_setting_need_secrets): new function
- (setting_wireless_security_verify,
nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
- (setting_wireless_security_need_secrets): mostly copy code over
from nm-connection.c
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2784 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting.c
libnm-util/nm-setting.h
- (nm_setting_update_secrets): new function; add a virtual function that
subclasses can implement to update their secrets
- (setting_wireless_security_update_secrets): implement that function
for the 802-11-wireless-security subclass
* libnm-util/nm-connection.c
libnm-util/nm-connection.h
- (nm_connection_update_secrets): update secrets for a Setting and
emit a signal on success
* src/nm-manager.c
src/nm-manager.h
src/nm-marshal.list
- (connection_get_settings_cb): enable system settings bits
- (nm_manager_get_connection_secrets, get_secrets_cb): add function
to request secrets from the settings dbus service and to
push those secrets to the NMConnection itself
* src/nm-activation-request.c
src/nm-activation-request.h
- Attach to the 'secrets-updated' signal of the NMConnection that's
currently being activated, and proxy that signal to other listeners.
Goes through the activation request because the activation request
is the thing that manages the lifetime of the NMConnection that's
being activated.
* src/nm-device-802-11-wireless.c
- (real_connection_secrets_updated): implement the connection secrets
updated notification and restart activation when secrets are
received
- (real_act_stage2_config): request secrets from the settings dbus
service if secrets are needed
* src/nm-device.c
src/nm-device.h
- (clear_act_request, nm_device_activation_cancel,
nm_device_deactivate_quickly, nm_device_dispose): consolidate places
where the activation request is cleared
- (nm_device_activate, connection_secrets_updated_cb): attach to the
updated secrets signal of activation request and add a function
that subclasses can override to handle it easily
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2782 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.c
src/NetworkManagerAP.h
introspection/nm-access-point.xml
- Change 'freq' property to a guint32 instead of a double since we
weren't using the floating point bits anyway
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2780 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* include/NetworkManager.h
- Kill NMNetworkType; AP types don't matter any more
* src/NetworkManagerAPList.c
src/NetworkManagerAPList.h
src/Makefile.am
- Kill; NMAccessPointList has outlived it's usefulness
* src/NetworkManagerAP.c
src/NetworkManagerAP.h
- (match_cipher, security_compatible, nm_ap_check_compatible): new
functions; check if an NMConnection object is compatible with the
settings of this AP
- (freq_to_channel, channel_to_freq): utility functions for
channel <-> frequency conversion
* src/nm-device.c
src/nm-device.h
- (nm_device_get_best_connection): pass the specific object around
(which might be the object path of a specific AP to connect to).
The get_best_connection() call should populate this on return
if needed (wireless does).
* src/nm-device-802-3-ethernet.c
- (real_get_best_connection): handle specific_object argument
* src/NetworkManager.c
src/NetworkManagerMain.h
- Remove unused includes
* src/nm-device-802-11-wireless.c
src/nm-device-802-11-wireless.h
- Convert the ap_list into a GSList from an NMAccessPointList
- No need for caching the 'activation_ap' since this is now determined
from the specific_object of the activation request, which is
populated from the get_best_connection() call or from a user request
- (nm_device_802_11_wireless_update_bssid): fix warning
- (get_wireless_capabilities): fix error message format arguments
- (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
- (find_best_connection, real_get_best_connection): implement
- (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
move here from NetworkManagerAPList
- (ap_need_secrets): remove; moved to nm-connection.c where it belongs
- (real_act_stage1_prepare): just ensure an AP exists, connection is
already verified earlier
- (real_act_stage2_config): use nm_connection_need_secrets()
* src/NetworkManagerPolicy.c
- (nm_policy_auto_get_best_device): handle specific objects
- (create_connection): remove; automatic connection creation functionality
is handled by the Connection objects
- (nm_policy_device_change_check): handle specific_object
* libnm-util/nm-connection.c
- (wireless_sec_need_secrets, nm_connection_need_secrets): implement
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2778 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-manager.c
- (query_connections): fix uninitialized variable problem that caused
segfault
- (nm_manager_add_device): take devices down on startup so that we can
be assured that nm_device_is_up() won't short-circuit the init
process. Hack until the is_up check gets split into two pieces
that aren't behaviorally confusing.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2777 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* introspection/nm-device.xml
- The 'Activate' method now takes 3 arguments, a service name for the
settings service (user or system), the object path of the connection
to activate, and the specific object to activate, if any
* src/nm-device-interface.c
- (nm_device_interface_error_quark, nm_device_interface_error_get_type):
Add error bits
- (impl_device_activate): adapt to new Activate arguments; validate
the service name and get the Connection object from the NMManager
before starting to activate the device with the specified connection
* src/nm-device-802-3-ethernet.c
- (real_get_best_connection): find the best connection, or create a
default one if no existing connections can be used
* src/NetworkManagerPolicy.c
- (nm_policy_auto_get_best_device): Get the device's best connection
and only pick the device if it has one
- (nm_policy_device_change_check): disable wireless bits for now until
wireless get_best_connection() can be implemented (replacing "best_ap");
don't create a default connection here as the device subclass will do
that if needed
* src/nm-manager.h
src/nm-manager.c
- (nm_manager_get): make NMManager a singleton and expose the getter
internally
- Rework internal NMManager connection handling to use the same
routines for both the system and user settings services. Most calls
take a new NMConnectionType argument specifying either system or user
connections
- (nm_manager_get_connection_by_object_path): new function; get a
connection keyed on its object path
* src/NetworkManager.c
- (main): use nm_manager_get()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2776 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device.h
src/nm-device.c
- (nm_device_get_best_connection): new function; get best connection
for the device at that time
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2774 4912f4e0-d625-0410-9fb7-b9a5a253dbdc