* libnm-util/nm-setting.c
- (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
before trying to do something with it
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3005 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting.c
- (setting_wireless_security_need_secrets, need_secrets_phase2,
need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
need_secrets_password, setting_wireless_security_verify): fix
need_secrets for IEEE 802.1x and WPA-EAP by implementing need
secrets logic for each supported EAP method
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3000 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Implement support for static IP addresses, additional/overridden
DNS and
DNS domain search lists.
* libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
(ip4_addresses_to_gvalue): Implement.
(convert_array_to_byte_array): Implement.
(nm_setting_populate_from_hash_default): Handle
NM_S_TYPE_UINT_ARRAY and
NM_S_TYPE_IP4_ADDRESSES.
(nm_setting_hash): Ditto.
(default_setting_clear_secrets): Add a default case for the
switch: IP address
shouldn't be secret, ever.
(setting_ip4_config_verify): Update, requires addresses in case
of manual
configurations.
(setting_ip4_config_destroy): Free stuff.
* src/nm-device.c (merge_ip4_config): Implement.
(real_act_stage4_get_ip4_config): Merge IP4 configuration from
NMConnection.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2996 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Implement a generic NMSetting creator from setting name.
While at it, get rid of all nm_setting_foo_new_from_hash()
functions and
add a virtual function 'populate_fn'.
* libnm-util/nm-connection.c (nm_connection_create_setting):
* Implement.
(register_default_creators): Register setting creators instead
of functions
that create and then populate.
(parse_one_setting): Use the common setting creator and then
setting specific
poplulation function.
* libnm-util/nm-setting.c: Get rid of
* nm_setting_foo_new_from_hash() functions,
they all looked exactly the same.
Add a 'populate_fn' virtual function to NMSetting.
Use default virtual functions in case they are not overriden.
(nm_setting_populate_from_hash): Implement.
* src/nm-device.c (real_act_stage3_ip_config_start): Don't hard
* code the setting
name, use a defined string.
(real_act_stage4_get_ip4_config): Ditto.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2978 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting.h
libnm-util/nm-setting.c
src/supplicant-manager/nm-supplicant-config.c
- Make the 'proto' field of the 802-11-wireless-security field a
string list
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2973 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting.c
libnm-util/nm-setting.h
- Add a default 'user_name' field to the VPN setting, which VPN plugins
can use if they choose. Should be filled in by the settings service
on-the-fly with the currently logged in user's username
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2967 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting.c
- (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
to the NMSettingWireless table; it's now a string array not an array
of byte arrays
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2938 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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-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
* 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
* libnm-util/nm-connection.c
libnm-util/nm-connection.h
- (nm_connection_clear_secrets): new function; clear secrets out of
each NMSetting in an NMConnection
* libnm-util/nm-setting.h
libnm-util/nm-setting.c
- (nm_setting_clear_secrets, default_setting_clear_secrets): clear
secrets out of an NMSetting
- (nm_setting_connection_new, nm_setting_ip4_config_new,
nm_setting_wired_new, nm_setting_wireless_new,
nm_setting_wireless_security_new, nm_setting_ppp_new,
nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
to default handler default_setting_clear_secrets()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2871 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting.c
- (property_value_destroy, nm_setting_vpn_properties_new): initialize
the hash table in a standard manner. Clients of libnm-util should
only call g_hash_table_remove_all(), never destroy the hash table
and recreate it.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2859 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
* 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
* 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
* libnm-util/nm-setting.c
- (nm_settings_verify): correct setting name is 'connection', not 'info'
- (setting_wireless_hash): set the right value on the item
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2762 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting.h
libnm-util/nm-setting.c
libnm-util/nm-connection.c
src/NetworkManagerPolicy.c
- 'info' settings object should be 'connection' says the spec
at NetworkManagerConfigurationSpecification
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2746 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/ppp-manager: Implement ppp-manager. It's sort of dead code
* for now since
nothing is using it at the moment, but it'll be all useful and
stuff later on.
* libnm-util/nm-setting.h: Define NMSettingPPP.
* libnm-util/nm-setting.c: Implement NMSettingPPP.
* libnm-util/nm-connection.c (register_default_creators):
* Register ppp setting.
* src/Makefile.am: Add ppp-manager to SUBDIRS.
* configure.in: Require ppp headers. Build Makefile for
* ppp-manager.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2695 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
automagically.
Implement NMSettingIP4Config.
Finish NMSettingWired by adding all known members.
(setting_wired_verify): Implement.
Finish NMSettingWireless by adding all known members.
(setting_wireless_verify): Implement.
* libnm-util/nm-connection.c: Register "ipv4" setting.
(nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
dump function, we can introspect the GHashTable which is used for sending connections
over dbus.
* src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
Take GByteArray for essid, it's really not a string.
* src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
Start DHCP request if setting is not passed or if it states that DHCP should be used.
(real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
means overriding the values we got from DHCP.
(real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
(nm_device_deactivate_quickly): Ditto.
* src/nm-device-interface.c (impl_device_activate): Dump the connection structure
for debugging.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2577 4912f4e0-d625-0410-9fb7-b9a5a253dbdc