* libnm-util/nm-connection.c
libnm-util/nm-connection.h
- (nm_connection_compare): accept compare flags and pass them to the
setting compare function
* libnm-util/nm-setting.c
libnm-util/nm-setting.h
- (nm_setting_compare): accept compare flags; ignore properties that are
marked fuzzy
* libnm-util/nm-setting-connection.c
libnm-util/nm-setting-wireless.c
libnm-util/nm-setting-ppp.c
libnm-util/nm-setting-wired.c
- Mark some setting properties as ignorable when doing a fuzzy compare
* src/nm-device.c
- (device_activation_precheck): use exact compare
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3336 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerPolicy.c
- (nm_policy_device_change_check): get scope off the connection, not
using the manager helper
* src/nm-manager.c
src/nm-manager.h
- (get_scope_for_proxy): rename from get_type_for_proxy()
- (connection_get_settings_cb): set scope and path on connection, not
using GObject data items
- (get_connection_for_proxy): don't need to return path, since that
can be gotten from the connection
- (get_connection_for_proxy): get path off the connection, not from
parameters
- (connection_removed_cb, connection_updated_cb): don't need to get
path from get_connection_for_proxy(); get scope off the connection
instead of using GObject data items
- (connection_added_default_handler, add_one_connection_element): use
nm_connection_get_path() not nm_manager_get_connection_dbus_path()
- (nm_manager_get_connection_dbus_path): remove
- (nm_manager_get_connection_scope): remove
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3335 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* Global rename of NMConnectionSettings -> NMExportedConnection to cut down
on confusing names
* Add 'path' and 'scope' properties to NMConnection since both NM and the
applet were having to hack this in anyway. Remove the 'path' stuff from
NMExportedConnection
* Internally rename NMConnectionType -> NMConnectionScope
* Provide default implementations of the 'get_id' and 'get_settings' methods
of NMExportedConnection
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3334 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (device_cleanup): release the AP list here too so that the AP list
doesn't survive across suspend/resume and up/down. There is some
room for optimization, for example blow the list away when the card
brought back up, but only if the device has only been down for a
minute or more.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3322 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
* src/nm-device-802-3-ethernet.c
- (real_bring_up): save the supplicant interface state signal id
- (real_bring_down): disconnect from the supplicant interface state
signal
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3304 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
* src/nm-device-802-11-wireless.c
- (handle_auth_or_fail): new function; consolidate device activation
failure check after a certain number of failures getting secrets
- (supplicant_connection_timeout_cb, real_act_stage2_config,
real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
the connection if secrets were requested more than a few times
- (real_act_stage3_ip_config_start): don't clear the wireless secrets
tries here; otherwise they are cleared before the IP configure
timeout, which happens with open system WEP when key is wrong
- (activation_success_handler): clear wireless secrets tries here too
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3296 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerPolicy.c
- (connection_updated): clear invalid tag when connection gets updated
to allow that connection to be tried again
- (nm_policy_new): save signal ids so they can be disconnected when
the policy is destroyed
- (nm_policy_destroy): stop any in-progress state change idle handler,
and disconnect all signals from the manager object so that none
of the policy functions gets called after the policy is destroyed
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3295 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-manager.c
- (finalize): remove devices a bit earlier; clean up system settings
poke
- (nm_manager_name_owner_changed): clean up system settings poke when
the service appears, and try to restart it if it fails
- (poke_system_settings_daemon_cb): try to get the system settings
service started through D-Bus service activation
- (initial_get_connections): start the system settings daemon if it's
not already running
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3293 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
* system-settings/src/Makefile.am
- Install D-Bus service activation file for the system settings
service
* system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
- D-Bus service activation file for system settings service
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3289 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/supplicant-manager/nm-supplicant-manager.c
- (poke_supplicant_cb): reschedule the poke as a timeout, don't let
glib automatically reschedule
- (nm_supplicant_manager_init): immediately try to start the supplicant
- (nm_supplicant_manager_name_owner_changed): immediately try to restart
the supplicant
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3285 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerPolicy.c
- (device_state_changed): schedule a change check when a device gets
deactivated so something happens if you disconnect GSM/CDMA
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3284 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-glib/nm-device-802-11-wireless.c
- (get_access_point): move the "/" check here; check for invalid path
too
- (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
to get_access_point()
- (access_point_added_proxy, access_point_removed_proxy): don't try
to send signals for non-existent access points
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3269 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-glib/libnm_glib.c
- (libnm_glib_init): make thread joinable
- (libnm_glib_ctx_free): join thread on exit to clean up memory
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3265 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* test/libnm_glib_test.c
- (signal_handler, setup_signals): trap SIGINT and SIGTERM
- (main): set up signal handlers; call libnm_glib_shutdown
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3264 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* include/NetworkManager.h
- Add CDMA mobile broadband card device type
* src/nm-hal-manager.c
- (modem_device_creator): handle both CDMA and GSM modems; the device
must now be tagged with 'cdma' or 'gsm' capability
* src/nm-cdma-device.c
src/nm-cdma-device.h
src/Makefile.am
- Add the CDMA mobile broadband card device class
* libnm-util/nm-connection.c
- (register_default_settings): add NMSettingCdma
* libnm-util/nm-setting-cdma.c
libnm-util/nm-setting-cdma.h
libnm-util/Makefile.am
- Add the CDMA mobile broadband card setting class
* libnm-glib/nm-cdma-device.c
libnm-glib/nm-cdma-device.h
libnm-glib/Makefile.am
- Add the CDMA mobile broadband card GLib proxy class
* libnm-glib/nm-client.c
- (get_device): handle CDMA devices too
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3261 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/ppp-manager/nm-ppp-manager.c
- (ip4_config_get): set peer address too
* src/ppp-manager/nm-pppd-plugin.c
- (nm_ip_up): try harder to get the peer's address
* src/NetworkManagerSystem.c
- (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
address, use that too. Otherwise, some PPP connections won't work.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3260 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerPolicy.c
- (nm_policy_device_change_check): system connections override user
connections; don't activate a user connection if there's a currently
active system connection, and new, better system connections always
interrupt user connections
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3258 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-3-ethernet.c
- (find_best_connection): check MAC address too
- (real_get_best_connection): let autoconnect=True connections activate
for devices that don't have carrier detection
* src/nm-device-802-11-wireless.c
- (find_best_connection): check MAC address too
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3248 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-3-ethernet.c
- (nm_device_802_3_ethernet_carrier_on,
nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
carrier events that might come in for devices that don't support
carrier detect
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3245 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-interface.c
- (nm_device_interface_check_connection_conflicts): need to actually
get the interface, not cast to the object
* src/nm-device.c
- (nm_device_check_connection_conflicts): need to get the device class,
not cast the device to the device class
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3244 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-manager.c
- (check_connection_allowed): take an NMDeviceInterface instead of
an NMDevice object as an argument
- (nm_manager_activate_device): pass an NMDeviceInterface to
check_connection_allowed()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3241 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (activation_success_handler): if a match was found in the scan list
and that match is a hidden AP, update that AP's SSID
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3236 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.c
- (nm_ap_new_fake_from_connection): mark fake APs as fake
* src/nm-device-802-11-wireless.c
- (get_active_ap): do two passes over the scan list if the caller
requests that hidden APs get matched too; during the second pass
when matching hidden APs, ignore the SSID since hidden APs in the
scan list don't have an SSID yet
- (periodic_update): move some checks to
nm_device_802_11_periodic_update() because not all callers need them
- (nm_device_802_11_periodic_update): move some checks here from
perodic_update()
- (merge_scanned_ap): if the current AP is fake, then don't do strict
matching on incoming scan results, because the fake AP's flags
might be slightly different (yet still compatible) with the incoming
scan result's flags and they might actually be the same AP; update
the rate on merged APs too
- (activation_success_handler): update the frequency of the fake AP
on successful connection; match hidden APs too since if the
current AP is fake, there might already be a scan result in the
scan list for the desired AP, just without it's SSID filled in yet
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3235 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Fix gnome.org #464215. Requires the kernel patch titled
"Introduce WEXT scan capabilities" but will handle the patch not being
present, you'll just continue to have problems with hidden SSIDs when
using mac80211-based drivers.
* src/supplicant-manager/nm-supplicant-config.h
src/supplicant-manager/nm-supplicant-config.c
- (nm_supplicant_config_add_setting_wireless): new parameter to indicate
whether the driver supports SSID scans or not. If it does, and if
the AP is hidden, use ap_scan=1 instead of ap_scan=2
* src/nm-device-802-11-wireless.c
- (constructor): check whether or not the driver supports SSID scans
- (build_supplicant_config): pass driver SSID scan capability when
building the wireless bits of the supplicant config
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3230 4912f4e0-d625-0410-9fb7-b9a5a253dbdc