* libnm-util/nm-setting.c
- (nm_settings_verify): use #defines when possible rather than strings
- (setting_connection_verify): ensure that 'name' and 'type' are valid
- (setting_vpn_verify): tighter validity check on 'service_type'
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2932 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-glib/nm-settings.c
- (nm_connection_settings_class_init): provide correct type for argument
to the Updated signal so that dbus-glib knows how to marshal it
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2931 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-3-ethernet.c
- (real_get_best_connection): don't create automatic connections
internally; clients should provide a setting that applies to
the device with 'autoconnect: True'. Problem was that these
internally auto-created connections don't have a proxy or service
name becuase they weren't created by a settings daemon, and therefore
clients have no idea what to do with them.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2929 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Add a GetActiveConnections() method on the Manager object.
* src/nm-manager.c
src/nm-manager.h
introspection/nm-manager.xml
- (connection_get_settings_cb): keep connection type around too
- (impl_manager_get_active_connections, add_one_connection_element):
implement; returns all active connections and what devices they
apply to
* libnm-glib/nm-client.c
libnm-glib/nm-client.h
introspection/nm-manager-client.xml
- (nm_client_get_devices): GPtrArray elements are allocated and owned
by the caller; free here to avoid memory leak
- (nm_client_get_active_connections): implement; return the list of
active connections
- (nm_client_free_active_connection_element): implement; free an element
of the GSList returned by nm_client_get_active_connections()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2927 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (nm_device_802_11_wireless_update_bssid): remove
- (get_active_ap): new function; find the AP in the scan list which
matches the current BSSID and SSID of the wireless device
- (nm_device_802_11_periodic_update): get current AP using
get_active_ap() and print AP roam messages
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2926 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting.h
- Add a 'timestamp' option to NMSettingConnection
- Add a UINT64 type
* libnm-util/nm-setting.c
- (uint64_to_gvalue): new function
- (nm_setting_populate_from_hash, nm_setting_hash,
default_setting_clear_secrets): handle UINT64 type
- con_table: add 'timestamp' member
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2923 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-manager.c
- (impl_manager_activate_device): ensure the D-Bus method sends a return
value when the connection can be activated immediately
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2922 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* include/NetworkManagerVPN.h
- define VPN connection state change reason codes
* src/vpn-manager/Makefile.am
src/vpn-manager/nm-vpn-marshal.list
src/vpn-manager/nm-vpn-marshal-main.c
- Add marshallers for StateChanged signal
* introspection/nm-vpn-connection.xml
- New Banner property
- StateChanged signal now includes a 'reason' argument
* src/vpn-manager/nm-vpn-connection.c
src/vpn-manager/nm-vpn-connection.h
- Add a "Banner" property that contains the returned VPN server login
banner (if any); valid only in the ACTIVATED state
- (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
a 'reason' argument and emits that reason along with the
state-changed signal
- Fix up calls to nm_vpn_connection_set_state() to include a reason
- (nm_vpn_connection_ip4_config_get): save banner for later
- (nm_vpn_connection_get_banner, get_property,
nm_vpn_connection_class_init): implement Banner property
* src/vpn-manager/nm-vpn-service.c
- (nm_vpn_service_connections_stop): take a reason argument; copy the
connection list because elements may get added/removed from it
while iterating over the list
- (connection_state_changed): signal now includes the 'reason' argument
* libnm-glib/nm-vpn-connection.c
libnm-glib/nm-vpn-connection.h
- (nm_vpn_connection_get_banner): new function
- (state_changed_proxy): handle reason argument
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2916 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-manager.c:
* src/nm-manager.h:
Implement device activation through NMManager.
Implement "pending device activation" here - If the connection
isn't found,
we try to wait for up to 5 seconds for the connection to be
provided.
Add NMConnectionType argument to "connection-added" and
"connection-removed"
signals.
(nm_manager_get): Remove. Finally.
* src/nm-activation-request.c:
* src/nm-activation-request.h:
Remove all the deferred activation code.
* src/nm-device.c: Remove all the deferred activation code. Once
* the device
activation is started, it's started. Update the activation
virtual function
signature.
* src/nm-device-interface.c:
* src/nm-device-interface.h:
Device activation now takes only NMActRequest argument.
Don't expose device activation directly on dbus, it's supposed
to go through
NMManager now.
* src/NetworkManagerPolicy.c (nm_policy_device_change_check):
* Make the code
a bit more compact.
Use the new device activation methods through NMManager.
* introspection/nm-manager-client.xml:
* introspection/nm-manager.xml:
* libnm-glib/nm-client.c:
* libnm-glib/nm-client.h:
Add device activation method.
* libnm-glib/nm-device.c:
* libnm-glib/nm-device.h:
* introspection/nm-device.xml:
Remove device activation method. It's done through NMManager
now.
* src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect):
* Use the shiny
new (nm_manager_get_device_by_path) function, get rid of our own
)find_device).
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2915 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Patch from Bill Nottingham
* src/supplicant-manager/nm-supplicant-config.c
- (ADD_STRING_VAL): use correct length for binary blobs when sending
data to the supplicant
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2913 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* auth-dialog/main.c
- Rework password storage to match the GConf semantics of nm-applet
better. Also, use generic secrets, not keyring network passwords.
Keyring network passwords are inappropriate for our usage here.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2907 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-vpnc-service.c
- (nm_vpnc_config_write): turn back on various options that the vpnc
plugin had before that are used with vpnc 0.3.x
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2906 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerSystem.c
- (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
and all address manipulation here should be happening on the
_VPN_ device, not the active device
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2905 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-vpnc-service-vpnc-helper.c
- (addr_list_to_gvalue): list should contain straight guint32s, not
GValues containing guint32s
- (main): For Cisco/vpnc, the IP4 PTP address needs to be the same as
the internal IP4 address
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2904 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-vpnc-service-helper.c
- (str_to_gvalue, addr_to_gvalue): ensure the GValues are zeroed when
allocated so that they can be assigned a type later
- (addr_list_to_gvalue): use a GArray rather than a GSList, dbus-glib
seems ignorant of GSLists with G_TYPE_UINT elements
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2900 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-manager.c
src/nm-manager.h
src/nm-activation-request.c
src/nm-activation-request.h
- Move the GetSecrets stuff out of the NMManager instance because it
doesn't really need to be there and complicates things
* src/nm-device.c
- (connection_secrets_failed_cb, device_activation_go): connect to the
connection-secrets-failed signal and deactivate the device if
the GetSecrets call fails
* src/nm-device-802-11-wireless.c
- (link_timeout_cb, supplicant_connection_timeout_cb,
real_act_stage2_config, real_act_stage4_ip_config_timeout): request
secrets and give correct hints about whether new secrets should be
asked for by the client or not
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2899 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/vpn-manager/nm-vpn-connection.c
- (nm_vpn_connection_set_state, clear_need_auth, finalize,
connection_secrets_updated_cb, get_secrets_cb): don't need to attach
to the secrets-updated signal of the NMConnection since updating
the secrets is done within the scope of the NMVPNConnection object
already
- (get_connection_secrets): fix an uninialized variable usage error
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2898 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting.c
- (setting_vpn_properties_update_secrets): implement so VPN secrets
actually get updated when the user enters them
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2897 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* include/NetworkManagerVPN.h
- Add a NEED_AUTH state
* src/vpn-manager/nm-vpn-connection.c
- Implement the NEED_AUTH state. First ask the VPN service plugin if
the connection needs secrets, and if so, then ask the settings
service to fill in the secrets. Then start the connection.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2895 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* introspection/nm-vpn-plugin.xml
libnm-glib/nm-vpn-plugin.c
libnm-glib/nm-vpn-plugin.h
- (impl_vpn_plugin_need_secrets): implement a call that should return
the name of the NMSetting in an NMConnection that may require
secrets specific to that VPN plugin
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2892 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-manager.c
src/nm-manager.h
- (nm_manager_get_connection_secrets): make static, unused outside
the file
- Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2891 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the
* plugin activation
method.
(impl_vpn_plugin_connect): Convert properties hash to
NMConnection, activate, and
unreference the connection.
* introspection/nm-vpn-plugin.xml: Modify the 'Connect' method
* arguments: instead of
passing properties hash and routes string list, pass
NMConnection (in hashed form).
* src/vpn-manager/nm-vpn-connection.c
* (nm_vpn_connection_get_routes): Return routes
as GSList, no need to copy stuff around anymore.
(nm_vpn_connection_activate): Update the plugin activation
method.
* src/NetworkManagerSystem.c
* (nm_system_vpn_device_set_from_ip4_config): Convert
routes argument to GSList.
* vpn-daemons/vpnc/src/nm-vpnc-service.c (real_connect):
The arguments have changed, update.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2890 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-manager.c (manager_device_state_changed): Listen to
* device' NEED_AUTH
state and try to get the secrets.
* src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device):
* Get the list of
connections from NMManager and let the device to choose the best
from the list.
Since the connection list is sorted by system ones first and
user ones later,
the devices still prefer system connections like they did
before.
(deactivate_old_device): Implement. When a device starts
activation, we have a
policy (for now at least) to deactivate any other device that
might be either
active or still activating.
* src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the
* private structure.
It's set on construction, there will be no other way to access
it.
* src/nm-device-802-11-wireless.c: Don't touch NMManager,
* NMManager can listen to
device events and drive the device, not the other way around.
* src/nm-device-802-3-ethernet.c: Ditto.
* src/nm-device.c (nm_device_get_best_connection): The
* connections list is now
sent along, pass it on to virtual functions.
* src/nm-device-interface.c (nm_device_interface_get_iface):
* Implement. It's static
for now, but should really be public instead of
nm_device_get_iface() since iface
is a property of the DeviceInterface, not Device.
(impl_device_activate): Don't touch NMManager!
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2889 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-3-ethernet.c (real_get_best_connection):
* Don't leak NMManager.
The problem with leaking NMManager is that on shutdown, it
doesn't get destroyed,
which means none of the devices get brought down properly, which
in turn leaves
DHCP client running.
* src/nm-device-802-11-wireless.c (real_get_best_connection):
* Ditto.
(supplicant_connection_timeout_cb): Ditto.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2887 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device.c
- (device_activation_go): small hack to work around race when
activating deferred connections; should solve this in a better way
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2886 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (ap_auth_enforced): also return the encryption status of the AP so
that callers can differentiate easily between unencrypted APs
and encrypted ones, in addition to whether the AP has an
authenticator
- (link_timeout_cb, supplicant_connection_timeout_cb,
real_act_stage4_ip_config_timeout): handle unencrypted APs better,
previously would request secrets from unencrypted APs at times
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2883 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-manager.c
- (nm_manager_update_state): new function; updates state and emits
appropriate signals ensuring a state-change signal for the same state
never gets emitted twice in a row.
- (manager_device_state_changed): handle more device state to get a
better picture of the overall NM state
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2882 4912f4e0-d625-0410-9fb7-b9a5a253dbdc