Convert to using interface indexes as the primary method of identifying
devices inside NetworkManager. Indexes are (?) stable, but devices can
be renamed at any time. Device object paths now refer to the device
index rather than the name, and you can map those two manually if you like
by looking in the /sys/class/net/<name>/ifindex file. Also moves most
netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
to use interface indexes rather than names.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2731 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-netlink-monitor.c
- (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
don't need the 'wireless-event' signal anymore since that's all
handled by wpa_supplicant
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2727 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
It's 2007. Remove support for drivers that don't support wireless scanning.
* test/nm-tool.c
include/NetworkManager.h
src/NetworkManagerUtils.c
src/NetworkManagerPolicy.c
src/nm-device-802-11-wireless.c
- Remove special handling for non-scanning devices and mark them
as unsupported/unhandled
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2726 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
src/nm-device-802-3-ethernet.c
- (real_is_up): move device-specific tests before generic IFF_UP test,
because when the card is pulled or the module removed, the device
is already !IFF_UP and then device-specific cleanup (removing
the supplicant interface, periodic checks, etc) never gets done
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2721 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-manager.c
- (nm_manager_remove_device): bring device down before disconnecting
signal handlers, so that the 'state' signal will get broadcast when
the device enters the DOWN state
- (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
of states that cause the NMManager to recheck its state
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2720 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/supplicant-manager/nm-supplicant-interface.c
- (interface_disconnect_done): don't try to dispose of the net proxy
when it may already have been disposed of
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2719 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (nm_device_802_11_wireless_get_ssid): don't traceback and die when
the SSID isn't available; this can happen when the card is pulled
or the module unloaded, during the post-removal deactivation
paths, when the ioctl returns ENODEV
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2718 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
frequency, and mode match. Applets are now responsible for grouping
access points
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2716 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.c
* src/NetworkManagerAP.h
- (nm_ap_print_self): new function
* src/NetworkManagerAPList.c
- (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
to do it all here
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2715 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.c
- (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
applet. This ensures that the case between the seen-bssids and
the bssids reported by the driver match.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2711 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (device_cleanup): disconnect the interface in wpa_supplicant before
we dispose of the interface proxy in NM
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2710 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-glib/nm-client.c
- (nm_client_init): create VPN connections hash table with key free
function
- (proxy_vpn_connection_added): VPN connections hash table key should
be a duplicated value, not the same memory address as the VPN
connection name. This is because the VPN connection name could
potentially be freed and set to something else during the lifetime
of the NMVPNConnection object.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2706 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/ppp-manager/nm-ppp-manager.c (pppd_child_setup):
* Implement.
(nm_ppp_manager_start): Use g_spawn_async() since we're not
doing anything
with the file descriptors. Send a child setup function to change
the pppd
progress group.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2700 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/supplicant-manager/nm-supplicant-interface.c
- (try_remove_iface): new function, ask wpa_supplicant to remove
an interface
- (nm_supplicant_interface_dispose): call try_remove_iface() when
disposing of the NMSupplicantInterface. Otherwise weird stuff
happens on hotplug if wpa_supplicant doesn't tear down and readd
the interface internally
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2699 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-device-802-11-wireless.c
- (real_bring_down): move most of this function into device_cleanup()
so that it can be called from elsewhere
- (nm_device_802_11_wireless_dispose): clean up device periodic timers
and stuff on dispose. These would normally get cleaned up when
the device is marked down and deactivated, but when the device is
hot-unplugged, it's already down and real_down() never gets run
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2698 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/nm-dbus-nmi.c
- (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
caused a reference leak on device for which NM requested a key
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2697 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
* nm-vpnc-service.name.in: Use upper-case macro names as that's
* what the
sed script from Makefile is trying to replace.
* src/Makefile.am: Link to $NM_UTILS_LIBS.
* configure.in: Update required NetworkManager version to 0.7.0.
Clean up the double-check to NetworkManager.pc.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2693 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-glib/Makefile.am: Use nm-manager-client.xml to produce
* nm-client-bindings.
* introspection/nm-manager-client.xml: Add a horrible horrbile
* hack to work around
an issue with dbus-glib bindings generator. The issue is, the
generated C caller
functions for dbus methods "Sleep(bool)" and "sleep()" both have
the same function
name and different arguments and it won't compile anymore. To
fix this, we now have
two copies of nm-manager.xml file. nm-manager.xml contains the
actual interface,
that is new API + compatibility API and used by the daemon. The
other,
nm-manager-client.xml is only the new API without compatibility
bits and is used
by libnm-glib to make it compile.
* introspection/nm-manager.xml: Define compatibility methods
* (sleep, wake, state).
* src/nm-manager.c (impl_manager_legacy_sleep)
(impl_manager_legacy_wake, impl_manager_legacy_state): Implement
the compatibility
interface functions for 0.6 branch.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2688 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
(force-commit to fix wrong comment and partial commit of r2685; this
commit actually applies to r2685)
* src/NetworkManagerUtils.c
- (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
ignores trailing nulls in the SSID to work around mismatches in
expectations between WEXT and what the info-daemon passes back. The
info-daemon would pass back the correct length, but due to the
ESSID length issues with WEXT 22 and greater and wpa_supplicant,
the device would always have an SSID + 1 depending on what versions
of wpa_supplicant, the kernel, and NM you have. This was most often
visible by just quitting the applet and relaunching, which caused
NM to reassociated to the same network over again when reloading
the save networks.
* src/NetworkManagerPolicy.c
src/NetworkManagerUtils.h
src/nm-device-802-11-wireless.c
- Update for new parameter to nm_utils_same_ssid()
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2686 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerUtils.c
- (nm_utils_escape_ssid): add "ignore_trailing_null" parameter which
ignores trailing nulls in the SSID to work around mismatches in
expectations between WEXT and what the info-daemon passes back. The
info-daemon would pass back the correct length, but due to the
ESSID length issues with WEXT 22 and greater and wpa_supplicant,
the device would always have an SSID + 1 depending on what versions
of wpa_supplicant, the kernel, and NM you have. This was most often
visible by just quitting the applet and relaunching, which caused
NM to reassociated to the same network over again when reloading
the save networks.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2685 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.c
- (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs. Today
I encountered a BSS that wasn't just hiding it's ESSID, it was
setting the BSSID to all 0s. That confused the heck out of NM,
plus it's useless and probably out-of-spec.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2684 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/dhcp-manager/nm-dhcp-manager.c
- (dhclient_run): don't pass -x to dhclient until we figure out if
it's really needed, get rid of unused xtra_args parameter
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2681 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* include/NetworkManagerVPN.h
src/vpn-manager/nm-dbus-vpn.c
src/vpn-manager/nm-dbus-vpn.h
src/vpn-manager/nm-vpn-act-request.c
src/vpn-manager/nm-vpn-act-request.h
src/vpn-manager/nm-vpn-service.c
src/vpn-manager/nm-vpn-service.h
libnm-glib/nm-vpn-connection.c
libnm-glib/nm-vpn-connection.h
libnm-glib/nm-client.h
- Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState ->
NMVPNServiceState to clarify what they apply to
- Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
NMVPNActStage -> NMVPNConnectionState for the same reason
* libnm-glib/nm-client.c
- Constant + type renames from above
- Properly handle NameOwnerChanged/manager_running signals
for NM service; only emit when state really changes
- Use hash tables correctly so that the key (which was previously owned
by the D-Bus message) now has the same lifetime as the value, since
the key is now taken from the the NMVPNConnection itself. This
really fixes the double-VPN names in the applet
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2677 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* libnm-glib/nm-client.c
- Convert internal VPN connection tracking from a list to a hash table
to easily avoid duplicates
- (nm_client_get_vpn_connections): now returns an allocated GSList that
must be freed by the caller, like nm_client_get_devices()
- (nm_client_remove_vpn_connection): don't let the removal signal
leak through for NMVPNConnection objects that aren't actually
tracked.
- (manager_running): throw away VPN connection list when NM goes away,
like with the device list
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2675 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/dhcp-manager/nm-dhcp-manager.c
- Stop any dhclient instance that might be already running for a
particular interface before starting an NM spawned dhclient. Fixes
dhclient processes left over if NM crashes, stuff like that.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2674 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.c
- (finalize): don't try to g_array_free (NULL, ...), which happened
when the AP wasn't broadcasting it's SSID
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2673 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* include/NetworkManager.h: added DBus path for connection settings.
* libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
nm_connection_settings_signal_updated,
nm_connection_settings_signal_removed): new functions to wrap the
objects' signals.
(nm_connection_settings_init): register GObject with DBus.
(nm_connection_settings_get_dbus_object_path): new function.
* libnm-glib/Makefile.am: added libnmutil to link flags.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2672 4912f4e0-d625-0410-9fb7-b9a5a253dbdc