* system-settings/plugins/ifcfg-fedora/reader.c
- (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
handle PREFIX too; clean up
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3815 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Add a GError argument to nm_connection_verify() and nm_setting_verify(),
and add error enums to each NMSetting subclass. Each NMSetting subclass now
returns a descriptive GError when verification fails.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3751 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Fix memory leaks.
* system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
Free data returned from dbus method call.
* system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
dbus_g_method_get_sender() returns a duplicated string, free it
when done.
(check_polkit_privileges): Looks like policykit sometimes returns
error and non-null return value, don't leak errors in that case.
* system-settings/src/main.c (find_plugin): Don't leak existing
plugin names.
(load_stuff): Don't leak device list and list items.
(have_connection_for_device): Don't leak connection list.
* system-settings/plugins/keyfile/reader.c (read_one_setting_value):
Free the data received from g_keyfile_get_*.
* system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
the key when the security object is updated.
* src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
Free data returned from dbus method call.
(iface_state_cb): Ditto.
(add_network_cb): Ditto.
(nm_supplicant_interface_add_cb): Don't make another copy of already
duplicated object path.
(nm_supplicant_interface_add_to_supplicant): Free the driver GValue
when done.
* src/supplicant-manager/nm-supplicant-config.c
(ADD_STRING_LIST_VAL): Fix a memory leak.
* src/nm-manager.c (free_get_settings_info): Free the allocated
memory slice.
(list_connections_cb): Free data returned from dbus method call.
(system_settings_get_unmanaged_devices_cb): Ditto.
* src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
* system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile):
* system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile):
* src/backends/shvar.c (svCloseFile): Free the duplicated content
of the GList.
* libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
arguments after the object is created.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3721 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* system-settings/plugins/ifcfg-fedora/reader.c
- (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
if the ifcfg doesn't specify one
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3675 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* marshallers/nm-marshal.list
- Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
* system-settings/plugins/ifcfg-fedora/Makefile.am
system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
- Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
events. Solely for use watching ifcfg files to pick up changes
to their hardlinks, since GIO doesn't support this yet (bgo #532815)
* system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
- (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
file contents change
- (finalize): clean up inotify watches
- (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
and the connection ifcfg for changes on their hardlinks
- (files_changed_cb): proxy the changed signal back out to listeners
* system-settings/plugins/ifcfg-fedora/plugin.c
- (dir_changed):
- (connection_ifcfg_changed): re-read the connection when the ifcfg
changes
- (read_one_connection): connect to change signals on the new connection
- (dir_changed, connection_changed_handler,
handle_connection_remove_or_new): break out connection change
handling and connection new/remove handling so it can be used from
both the GFileMonitor callback and the NMIfcfgConnection changed
signals
* system-settings/plugins/ifcfg-fedora/reader.c
system-settings/plugins/ifcfg-fedora/reader.h
- (connection_from_file): return the keyfile path the connection would use
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3663 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Update Fedora system-settings plugin to support latest API and use
GFileMonitor rather than home-rolled inotify code.
* system-settings/plugins/ifcfg-fedora/Makefile.am
system-settings/plugins/ifcfg-fedora/common.h
system-settings/plugins/ifcfg-fedora/plugin.c
- Update to latest system settings plugin API; use GIO instead of
custom inotify code; use NMIfcfgConnection objects instead of
ConnectionData structures tacked onto NMConnection objects
* system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
- Implement an NMExportedConnection subclass mapping ifcfg files to
connections
* system-settings/plugins/ifcfg-fedora/reader.c
system-settings/plugins/ifcfg-fedora/reader.h
- Move ifcfg parsing bits here from parser.c
* system-settings/plugins/ifcfg-fedora/parser.c
system-settings/plugins/ifcfg-fedora/parser.h
- Remove; most code moved to reader.c
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3656 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
* introspection/nm-settings-system.xml
introspection/Makefile.am
- Define the unmanaged devices interface for the system settings service
* system-settings/src/nm-system-config-hal-manager.c
system-settings/src/nm-system-config-hal-manager.h
system-settings/src/nm-system-config-hal-manager-private.h
system-settings/src/Makefile.am
- Add a lightweight HAL manager object for tracking network devices for
the purpose of determining unmanaged devices and which devices need
the default DHCP connections
* system-settings/src/nm-system-config-interface.c
system-settings/src/nm-system-config-interface.h
- (nm_system_config_interface_init): add the HAL manager as an argument
- (nm_system_config_interface_get_unmanaged_devices): implement
- Define 'unmanaged-devices-changed' signal
* system-settings/src/dbus-settings.c
system-settings/src/dbus-settings.h
- Implement the unmanaged devices interface; some cleanups
* system-settings/plugins/ifcfg-suse/plugin.c
- Fixup for plugin interface changes
* system-settings/plugins/ifcfg-fedora/plugin.c
- (get_ether_device_udi): new function; find the device that has
a specified MAC address and return its UDI
- (get_udi_for_connection): new function; try to find the specific
device a connection is locked to, if any
- (device_added_cb, device_removed_cb): update unmanaged device list in
response to HAL events
- (get_unmanaged_devices): new function; return unmanaged device list
- (build_one_connection): set the connection's locked device, if any
- (write_auto_wired_connection): remove
- (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
- (handle_connection_changed): alert listeners that the unmanaged device
list has changed
- (init): fixup for plugin interface changes, implement unmanaged devices
* system-settings/plugins/ifcfg-fedora/parser.c
system-settings/plugins/ifcfg-fedora/parser.h
- (connection_data_free): clean up connection UDI
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3537 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* system-settings/plugins/ifcfg-fedora/parser.c
- (read_mac_address): new function; read in MAC address and stuff it
into the connection
- (add_one_wep_key): remove debug spew
- (make_wireless_security_setting): validate the default TX key; don't
add the wireless-security setting if the connection doesn't need
security; don't leak the keys shvarFile on error cases
- (make_wireless_setting, make_wired_setting): populate device's MAC
address
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3526 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* system-settings/plugins/ifcfg-fedora/parser.c
- Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
[0...3]; also handle KEY correctly in combination with DEFAULTKEY
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3509 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* system-settings/plugins/ifcfg-fedora/parser.c
system-settings/plugins/ifcfg-fedora/parser.h
system-settings/plugins/ifcfg-fedora/plugin.c
- Read settings from /etc/sysconfig/network-scripts/ instead of using
profiles. DNS servers and searches must now be stored in the ifcfg
files themselves
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3475 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Adapt system settings service for split 802.1x.
* system-settings/src/nm-system-config-interface.h
- clarify return value of get_secrets()
* system-settings/src/dbus-settings.c
- (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
- (check_for_secrets): check if there actually secrets returned by a
plugin
- (exported_connection_get_secrets): just return the plugin-returned
hash of settings' secrets if it looks valid
* system-settings/plugins/ifcfg-fedora/plugin.c
- (get_secrets): add split secrets with correct format to reply hash
* system-settings/plugins/ifcfg-fedora/parser.c
system-settings/plugins/ifcfg-fedora/parser.h
- (copy_one_cdata_secret, connection_data_copy_secrets,
connection_data_free, connection_data_add): keep secrets for
different settings in different hashes
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3472 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-util/nm-setting-ip4-config.c
libnm-util/nm-setting-ip4-config.h
- Remove 'manual' and 'autoip' properties
- Add 'method' property
- (verify): fix verification with 'method'
- (finalize): free 'method'
- (set_property, get_property, nm_setting_ip4_config_class_init): fix
up for 'method'
* src/nm-device.c
- (real_act_stage3_ip_config_start): check IP4Config method
- (nm_device_new_ip4_autoip_config): add a note about not sucking in
the future
- (merge_ip4_config): IP settings are valid with DHCP too
- (real_act_stage4_get_ip4_config): handle all IP4Config methods
- (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
* src/nm-device-802-11-wireless.c
- (real_act_stage3_ip_config_start): remove; autoip only on demand
- (real_act_stage4_get_ip4_config): just chain up to parent; autoip
only on demand
* system-settings/plugins/ifcfg-fedora/parser.c
system-settings/plugins/ifcfg-suse/parser.c
- (make_ip4_setting): fix up for 'method'
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3443 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* system-settings/plugins/ifcfg-fedora/parser.c
system-settings/plugins/ifcfg-fedora/parser.h
- (get_ifcfg_name): ignore more file suffixes
- (is_wireless_device): fix check for ifcfgs that have no TYPE
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3442 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* system-settings/plugins/ifcfg-fedora/plugin.c
- (write_auto_wired_connection): new function; write out an auto
wired connection file since the applet isn't doing it any more
- (reload_all_connections): write out the auto wired connection file
if there aren't any wired connections already
- (init): don't leak a GError
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3435 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* system-settings/plugins/ifcfg-fedora/parser.c
- (is_wireless_device): new function; test a device for wireless
extensions
- (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
test the device for wireless extensions to determine the type
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3394 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* system-settings/plugins/ifcfg-fedora/plugin.c
- (watch_path): handle IN_DELETE_SELF too
- (handle_connection_changed): notify when removing a connection
- (stuff_changed): don't warn on unknown inotify watches; handle the
case of a file moving out of the profile directory
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3312 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* system-settings/src/nm-system-config-interface.c
system-settings/src/nm-system-config-interface.h
- (load_connections): get_connections() should now return an allocated
GSList that the system settings service will free
* system-settings/plugins/ifcfg-fedora/plugin.c
system-settings/plugins/ifcfg-fedora/parser.h
system-settings/plugins/ifcfg-fedora/parser.c
- Fix up inotify issues; handle keys-* files, handle new files appearing
in the profile directory, handle resolv.conf file changes
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3309 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* system-settings/src/dbus-settings.c
system-settings/src/dbus-settings.h
- (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
table of secrets
- (connection_settings_get_secrets): consolidate error returns into
one place; use the new get_secrets() plugin interface function to
get secrets from the plugin itself rather than using GObject data
magic
* system-settings/src/main.c
- (connection_added_cb, connection_removed_cb, free_plugin_connections,
load_connections): keep a private list of the plugin-returned
connections, don't use the plugin's GSList
* system-settings/plugins/ifcfg-fedora/plugin.c
- (watch_path): watch the path, not the filename (duh)
- (reload_all_connections): use the direct hash/equal functions; the
ones for int aren't appropriate here
- (get_secrets, system_config_interface_init): implement the
get_secrets() function
- (build_one_connection, find_connection_by_path): ifcfg file path is
now in the connection's ConnectionData instead of being a GObject
data property
- (handle_profile_item_changed): ifcfg file path is now in the
connection's ConnectionData instead of being a GObject data property;
be sure to copy secrets over from the new connection to the existing
connection when updating the connection's settings
- (init): sc_plugin_inotify_init() returns success/fail, not the inotify
file descriptor
* system-settings/plugins/ifcfg-fedora/parser.c
system-settings/plugins/ifcfg-fedora/parser.h
- (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
connection_data_copy_secrets, connection_data_free,
connection_data_add): new functions; connection data manipulation
- (make_wireless_security_setting): stuff secrets into the
connection data, not as GObject data items; make sure to close
the keys ifcfg file
- (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
connection data to the connection
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3299 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* system-settings/plugins/ifcfg-fedora/parser.c
- (make_wireless_security_setting): fix spelling; unencrypted networks
need key_mgmt set too
- (parser_parse_file): validate ifcfg file name and don't try to parse
.bak files; ensure that an error is set whenever NULL gets returned
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3290 4912f4e0-d625-0410-9fb7-b9a5a253dbdc