From 263bf4c0c89bb88dc995acd9a6a2de9095fbd461 Mon Sep 17 00:00:00 2001
From: Michael Biebl
Date: Tue, 23 Aug 2011 19:16:47 +0200
Subject: Imported Upstream version 0.9.0
---
TODO | 154 +-
cli/src/Makefile.am | 2 -
cli/src/Makefile.in | 3 -
cli/src/connections.c | 24 +-
configure | 54 +-
configure.ac | 11 +-
data/NetworkManager-wait-online.service.in | 3 +-
docs/api/Makefile.am | 4 +-
docs/api/Makefile.in | 4 +-
docs/api/generate-settings-spec.c | 1 +
docs/api/html/NetworkManager.devhelp | 28 +-
docs/api/html/NetworkManager.devhelp2 | 28 +-
docs/api/html/index.html | 32 +-
docs/api/html/ix01.html | 2 +-
docs/api/html/ref-migrating.html | 58 +-
docs/api/html/ref-settings.html | 86 +-
docs/api/html/spec.html | 4 +-
docs/api/settings-spec.xml | 50 +-
docs/api/spec.html | 4 +-
docs/api/version.xml | 2 +-
docs/libnm-glib/html/NMClient.html | 32 +-
docs/libnm-glib/html/NMDevice.html | 11 +-
docs/libnm-glib/html/NMDeviceWifi.html | 4 +-
docs/libnm-glib/html/NMDeviceWimax.html | 4 +-
docs/libnm-glib/html/NMRemoteConnection.html | 2 +-
docs/libnm-glib/html/NMRemoteSettings.html | 2 +-
docs/libnm-glib/html/api-index-full.html | 8 +-
docs/libnm-glib/html/ch02.html | 5 +-
docs/libnm-glib/html/index.html | 5 +-
docs/libnm-glib/html/index.sgml | 7 +
docs/libnm-glib/html/libnm-glib-NMVpnPluginUi.html | 16 +-
.../html/libnm-glib-nm-vpn-plugin-utils.html | 137 ++
docs/libnm-glib/html/libnm-glib.devhelp | 4 +
docs/libnm-glib/html/libnm-glib.devhelp2 | 4 +
docs/libnm-glib/html/object-tree.html | 4 +-
docs/libnm-glib/libnm-glib-docs.xml | 1 +
docs/libnm-glib/libnm-glib-sections.txt | 1 +
docs/libnm-util/html/NMConnection.html | 37 +-
docs/libnm-util/html/NMSetting.html | 150 +-
docs/libnm-util/html/NMSetting8021x.html | 457 +++-
docs/libnm-util/html/NMSettingBluetooth.html | 102 +-
docs/libnm-util/html/NMSettingCdma.html | 32 +-
docs/libnm-util/html/NMSettingConnection.html | 2 +-
docs/libnm-util/html/NMSettingGsm.html | 342 ++-
docs/libnm-util/html/NMSettingIP4Config.html | 885 +++++++-
docs/libnm-util/html/NMSettingIP6Config.html | 843 +++++++-
docs/libnm-util/html/NMSettingOlpcMesh.html | 4 +-
docs/libnm-util/html/NMSettingPPP.html | 60 +-
docs/libnm-util/html/NMSettingPPPOE.html | 75 +-
docs/libnm-util/html/NMSettingSerial.html | 140 +-
docs/libnm-util/html/NMSettingVPN.html | 229 +-
docs/libnm-util/html/NMSettingWimax.html | 288 +++
docs/libnm-util/html/NMSettingWired.html | 225 +-
docs/libnm-util/html/NMSettingWireless.html | 401 +++-
.../libnm-util/html/NMSettingWirelessSecurity.html | 549 ++++-
docs/libnm-util/html/api-index-full.html | 549 ++++-
docs/libnm-util/html/ch01.html | 30 +-
docs/libnm-util/html/index.html | 28 +-
docs/libnm-util/html/index.sgml | 151 +-
docs/libnm-util/html/libnm-util-nm-utils.html | 75 +-
docs/libnm-util/html/libnm-util.devhelp | 44 +-
docs/libnm-util/html/libnm-util.devhelp2 | 142 +-
docs/libnm-util/html/object-tree.html | 4 +-
docs/libnm-util/libnm-util-docs.sgml | 1 +
docs/libnm-util/libnm-util-sections.txt | 22 +-
examples/C/qt/Makefile.am | 11 +-
examples/C/qt/Makefile.in | 23 +-
examples/C/qt/change-ipv4-addresses.cpp | 146 ++
examples/python/Makefile.am | 3 +-
examples/python/Makefile.in | 3 +-
include/NetworkManager.h | 83 +-
include/nm-settings-flags.h | 8 +-
include/nm-version.h | 4 +-
initscript/RedHat/Makefile.am | 3 +
initscript/RedHat/Makefile.in | 4 +-
introspection/Makefile.am | 2 +-
introspection/Makefile.in | 9 +-
introspection/all.xml | 61 -
introspection/all.xml.in | 61 +
introspection/nm-agent-manager.xml | 2 +-
introspection/nm-manager.xml | 9 +-
introspection/nm-secret-agent.xml | 13 +-
introspection/nm-settings.xml | 2 +-
libnm-glib/Makefile.am | 2 +-
libnm-glib/Makefile.in | 2 +-
libnm-glib/libnm-glib-vpn.pc.in | 2 +-
libnm-glib/libnm-glib.pc.in | 2 +-
libnm-glib/libnm-glib.ver | 1 +
libnm-glib/nm-client.c | 36 +-
libnm-glib/nm-client.h | 1 +
libnm-glib/nm-device-wifi.c | 10 +-
libnm-glib/nm-device-wimax.c | 10 +-
libnm-glib/nm-device.c | 43 +-
libnm-glib/nm-object.c | 10 +-
libnm-glib/nm-remote-settings.c | 9 +-
libnm-glib/nm-vpn-plugin-ui-interface.c | 16 +-
libnm-glib/nm-vpn-plugin-ui-interface.h | 14 +-
libnm-util/libnm-util.ver | 14 +
libnm-util/nm-connection.c | 75 +-
libnm-util/nm-connection.h | 7 +-
libnm-util/nm-param-spec-specialized.c | 6 +-
libnm-util/nm-setting-8021x.c | 405 +++-
libnm-util/nm-setting-8021x.h | 36 +-
libnm-util/nm-setting-bluetooth.c | 47 +-
libnm-util/nm-setting-bluetooth.h | 26 +-
libnm-util/nm-setting-cdma.h | 12 +-
libnm-util/nm-setting-connection.c | 16 +
libnm-util/nm-setting-gsm.c | 109 +-
libnm-util/nm-setting-gsm.h | 49 +-
libnm-util/nm-setting-ip4-config.c | 431 ++++
libnm-util/nm-setting-ip4-config.h | 52 +-
libnm-util/nm-setting-ip6-config.c | 407 +++-
libnm-util/nm-setting-ip6-config.h | 63 +-
libnm-util/nm-setting-ppp.c | 133 ++
libnm-util/nm-setting-ppp.h | 12 +-
libnm-util/nm-setting-pppoe.c | 42 +
libnm-util/nm-setting-pppoe.h | 12 +-
libnm-util/nm-setting-serial.c | 55 +
libnm-util/nm-setting-serial.h | 12 +-
libnm-util/nm-setting-vpn.c | 191 +-
libnm-util/nm-setting-vpn.h | 17 +-
libnm-util/nm-setting-wimax.c | 41 +
libnm-util/nm-setting-wimax.h | 10 +-
libnm-util/nm-setting-wired.c | 137 +-
libnm-util/nm-setting-wired.h | 14 +-
libnm-util/nm-setting-wireless-security.c | 240 ++-
libnm-util/nm-setting-wireless-security.h | 42 +-
libnm-util/nm-setting-wireless.c | 214 +-
libnm-util/nm-setting-wireless.h | 30 +-
libnm-util/nm-setting.c | 121 +-
libnm-util/nm-setting.h | 65 +-
libnm-util/nm-utils.c | 8 +-
libnm-util/nm-utils.h | 30 +-
libnm-util/tests/test-general.c | 122 +-
libnm-util/tests/test-secrets.c | 86 +-
libnm-util/tests/test-setting-8021x.c | 3 -
libnm-util/tests/test-settings-defaults.c | 5 +-
m4/libnl-check.m4 | 11 +-
man/NetworkManager.8 | 33 +-
man/NetworkManager.8.in | 33 +-
man/NetworkManager.conf.5 | 66 +-
man/NetworkManager.conf.5.in | 66 +-
po/es.po | 916 ++++----
po/id.po | 1594 +++++++++-----
po/ko.po | 863 ++++----
po/ru.po | 1517 +++++++++-----
po/uk.po | 2185 ++++++++++++++++++--
policy/org.freedesktop.NetworkManager.policy | 46 +-
src/NetworkManager.conf | 13 +
src/NetworkManagerUtils.c | 30 +
src/NetworkManagerUtils.h | 1 +
src/dns-manager/nm-dns-manager.c | 19 +-
src/modem-manager/nm-modem.c | 20 +-
src/nm-device-ethernet.c | 42 +
src/nm-device-olpc-mesh.c | 75 +-
src/nm-device-wifi.c | 317 +--
src/nm-device.c | 46 +-
src/nm-manager-auth.c | 111 +-
src/nm-manager-auth.h | 6 +-
src/nm-manager.c | 133 +-
src/nm-policy.c | 160 +-
src/nm-udev-manager.c | 3 +
src/settings/nm-agent-manager.c | 191 +-
src/settings/nm-agent-manager.h | 7 +
src/settings/nm-secret-agent.c | 102 +-
src/settings/nm-secret-agent.h | 9 +
src/settings/nm-settings-connection.c | 363 +++-
src/settings/nm-settings-connection.h | 12 +
src/settings/nm-settings.c | 28 +
src/settings/nm-settings.h | 6 +-
.../plugins/ifcfg-rh/nm-ifcfg-connection.c | 45 +-
src/settings/plugins/ifcfg-rh/plugin.c | 24 +-
src/settings/plugins/ifcfg-rh/reader.c | 167 +-
.../ifcfg-test-wired-8021x-peap-mschapv2 | 2 +-
.../plugins/ifcfg-rh/tests/test-ifcfg-rh.c | 129 +-
src/settings/plugins/ifcfg-rh/writer.c | 41 +-
src/settings/plugins/ifnet/plugin.c | 3 +-
src/settings/plugins/keyfile/common.h | 3 -
src/settings/plugins/keyfile/plugin.c | 3 +-
src/settings/plugins/keyfile/reader.c | 67 +-
.../plugins/keyfile/tests/keyfiles/Makefile.am | 5 +-
.../plugins/keyfile/tests/keyfiles/Makefile.in | 5 +-
.../keyfile/tests/keyfiles/Test_Intlist_SSID | 11 +
.../keyfile/tests/keyfiles/Test_Wired_TLS_Blob | 22 +
.../tests/keyfiles/Test_Wired_TLS_Path_Missing | 22 +
src/settings/plugins/keyfile/tests/test-keyfile.c | 299 ++-
src/settings/plugins/keyfile/utils.c | 7 +
src/settings/plugins/keyfile/writer.c | 10 +
src/supplicant-manager/nm-supplicant-config.c | 24 +-
src/supplicant-manager/nm-supplicant-interface.c | 30 +-
.../nm-supplicant-settings-verify.c | 4 +
.../tests/test-supplicant-config.c | 4 +-
src/tests/test-dhcp-options.c | 4 +-
src/vpn-manager/nm-vpn-connection.c | 170 +-
test/nm-tool.c | 10 -
195 files changed, 16932 insertions(+), 3873 deletions(-)
create mode 100644 docs/libnm-glib/html/libnm-glib-nm-vpn-plugin-utils.html
create mode 100644 docs/libnm-util/html/NMSettingWimax.html
create mode 100644 examples/C/qt/change-ipv4-addresses.cpp
delete mode 100644 introspection/all.xml
create mode 100644 introspection/all.xml.in
create mode 100644 src/settings/plugins/keyfile/tests/keyfiles/Test_Intlist_SSID
create mode 100644 src/settings/plugins/keyfile/tests/keyfiles/Test_Wired_TLS_Blob
create mode 100644 src/settings/plugins/keyfile/tests/keyfiles/Test_Wired_TLS_Path_Missing
diff --git a/TODO b/TODO
index 1904f04d..369be1e5 100644
--- a/TODO
+++ b/TODO
@@ -34,27 +34,11 @@ about ADSL configuration on Linux in general is here:
http://atm.eagle-usb.org/wakka.php?wiki=UeagleAtmDoc
-hicham started code for the configuration settings here:
-
-https://github.com/hicham-haouari/NetworkManager-ADSL-Support/commits/adsl
-
-After the libnm-util pieces, internally NM needs to be modified for ADSL
-support, of course. That involves adding a new NM_DEVICE_TYPE_ADSL in
-NetworkManager.h, and then creating a new NMDeviceAdsl subclass in src/. It's
-probably easiest to copy the nm-device-ethernet.c file and strip out stuff
-that's not required. Like the nm-device-ethernet.c file handles the 'carrier'
-state though, the ADSL code should periodically poll the sysfs 'carrier'
-attribute of the DSL modem to detect when the modem has a link with the remote
-DSL concentrator, and only activate connections when the link is present.
-
-Detection of ADSL modems should be handled in nm-udev-manager.c checking for
-the "atm" subsystem.
-
-Code to manage br2684ctl will likely be required to be written for the PPPoE
-case before PPPoE is started on the bridge-created link "nasX". There are
-quite a few examples of daemon management code in NetworkManager (dnsmasq,
-avahi-autoipd, ppp, dhclient, etc) so there should be a lot of code to
-copy and paste from.
+Big thanks to Pantelis Koukousoulas for getting ADSL working for PPPoA and PPPoE
+methods in the 'adsl' branch in NetworkManager git. We need more testing, IPv6
+PPP support, and also support for multiple ADSL devices (by reading the "atmindex"
+attribute from the sysfs directory for the ATM interface on 2.6.38.8 and later
+kernels).
* Convert WEXT code to nl80211
@@ -132,6 +116,38 @@ against the last scan timestamp, and if the last scan was 10 seconds or more
ago, a new scan should be requested.
+* Reconnect to WiFi Networks Only If They Succeeded Once
+
+Currently, NetworkManager will attempt to connect to a previously attempted
+WiFi network even if that network was never successfully connected to. This
+causes confusion because sometimes users will randomly try various WiFi networks
+hoping to find an open AP, and then wonder why NM tries to reconnect to any of
+those APs later when none of them worked originally due to AP-side MAC filtering
+or other failures. What should happen is that NetworkManager should set a flag
+on a connection when that connection is successfully connected at least once,
+and only autoconnect the wifi network if that flag is present *and* the
+NMSettingConnection's 'autoconnect' property is TRUE.
+
+This is a bit tricky because we want to consider all connections that don't have
+this flag as having succeeded so that we don't break users' existing connections,
+while holding all newly created connections to this policy. This flag should
+be determined and set for all connections, even if we only use it to determine
+WiFi behavior for now.
+
+This flag should be a new gboolean property on the NMSettingConnection object
+called "connect-success", with a default value of TRUE. It should default to
+TRUE to ensure that existing connections are assumed to have connected
+successfully in the past. New connections created via the AddConnection and
+AddAndActivateConnection D-Bus method calls should have the 'connect-success'
+property explicitly set to FALSE. Then, in nm-device.c's device_state_changed()
+function where the NM_DEVICE_STATE_ACTIVATED state is handled, the
+'connect-success' property should be set to TRUE.
+
+For WiFi then, in nm-device-wifi.c's get_best_auto_connection() method, the
+'connect-success' property should be checked and if it is FALSE, the connection
+is not considered for auto-activation.
+
+
* Implement NM_DEVICE_STATE_DISCONNECTING
To allow for "pre-down" scenarios, this state should be implemented before a
@@ -146,6 +162,64 @@ amount of time for each script to complete before allowing the device to
proceed to the NM_DEVICE_STATE_DISCONNECTED state, fully implementing pre-down.
+* Ethernet Network Auto-detection
+
+There are various methods we can use to autodetect which wired network connection
+to use if the user connects to more than one wired network on a frequent basis.
+First, 802.1x enterprise switches broadcast frames which can be used to indicate
+that the switch supports 802.1x and thus allow NetworkManager to select an
+802.1x connection instead of blindly trying DHCP. Second, NetworkManager could
+listen for traffic from a list of MAC addresses. Third, NetworkManager could
+integrate 'arping' functionality to determine if a given IP address matches a
+given MAC address, and thus automatically select that connection. All these
+methods can co-exist and be used in parallel.
+
+One small caveat is that MAC addresses are trivial to spoof, so just because
+NetworkManager has discovered a certain MAC address does not mean the network
+is authenticated; only 802.1x security can assure that a network is the network
+the user expects it to be.
+
+In any case, a new 'anchor-addresses' property of type string-array should be
+added to the NMSettingWired setting. Each string element of this property
+should be of the format "/" or simply "". The first format with
+an IP address would indicate that "arping"-type behavior should be used to
+actively detect the given MAC address; obviously if the given MAC address is
+used for passive discovery as well. The second format simply lists a MAC
+address to passively listen for.
+
+One drawback of listening or probing for known MAC addresses is an increase in
+latency during connections to ethernet networks. The probing/listening delay
+should be a reasonable amount of time, like 4 - 5 seconds or so, and should
+only be used when a visible connection has anchor addresses.
+
+Next a gboolean 'anchor-probing' variable should be added to the
+NMDeviceEthernetPrivate structure in src/nm-device-ethernet.c. This variable
+should be set to TRUE whenever the device's carrier turns on *and* there are
+visible NMConnections with anchor addresses (ie, connections which are system-
+wide or where one of the allowed users of that connection is logged in). Then
+probing and listening are started, which involves opening a low-level socket
+on the interface and starting the arping run or listening for MAC addresses.
+A timer is also started (don't forget to cache the timer's source ID in the
+NMDeviceEthernetPrivate data, and to cancel the timer whenever the device
+transitions to any state other than DISCONNECTED).
+
+If a known MAC address is discovered as a result of probing or listening, the
+probe/listen socket, timeout, and data are cleaned up, and NetworkManager
+would begin activation of the NMConnection that specified the found MAC address
+in the 'anchor-addresses' property. If two or more connections specify the
+same MAC address, the connection with the most recent timestamp should be
+preferred.
+
+Similarly, if the probing/listening process detects 802.1x frames the device
+should be marked as requring 802.1x authentication until the carrier drops.
+This would be accomplished by adding a new property to the NMDeviceEthernet
+object and exporting that property through the
+introspection/nm-device-ethernet.xml file. This would allow clients like
+applets to ensure that users are aware that the device will not allow
+un-authenticated connections and that additional credentials are required to
+successfully connect to this network.
+
+
* VPN re-connect
NM should remember whether a VPN was connected if a connection disconnects
@@ -230,6 +304,44 @@ failure of the VPN connection, just like DHCP timeouts and lease-renewal
failures do for other devices (see dhcp_state_changed() in nm-device.c).
+* VPN Service Daemon Secret Requests
+
+In addition to NM asking the service daemons whether more secrets are required,
+VPN service daemons (like nm-vpnc-service, nm-openvpn-service, etc) should be
+able to ask NetworkManager to provide secrets during the connection attempt. To
+do this, the plugin should advertise its ability to handle out-of-band secrets
+in its .service file via the key 'async-secrets=true'. NetworkManager would
+check that key and if present activate the VPN as normal, but skip the explicit
+NeedSecrets calls.
+
+Instead, a new "SecretsRequired" signal would be added to
+introspection/nm-vpn-plugin.xml (and corresponding helper code added to
+libnm-glib/nm-vpn-plugin.c) that would be emitted when the plugin determined
+that secrets were required. This signal would have D-Bus signature of "sas"
+for the arguments [ , ] with the obviously being
+the connection UUID, and being an array of strings of plugin-specific
+strings the plugin requires secrets for. This array of strings would then be
+passed as the "hints" parameter in nm-vpn-connection.c when secrets are
+requested from agents in a subsequent nm_settings_connection_get_secrets() call.
+At this time the agent code only allows one hint per request, so we may need to
+extend that to allow more than one hint.
+
+Thus when connecting if the plugin supported async secrets NetworkManager would
+still request existing secrets (without interactivity) and send them to the
+VPN service daemon in the Connect D-Bus method, then wait for the service daemon
+to either request secrets asynchronously via the SecretsRequired signal or to
+signal successful connection via the Ip4Config signal.
+
+The vpnc plugin would need to be reworked to open a pipe to vpnc's stdout and
+stdin file descriptors to capture any authentication messages, and to match
+these messages to known secrets request strings. When receiving one of these
+strings the plugin would determine which secret was being requested and then
+emit the SecretsRequired signal to NetworkManager. This would also imply that
+nm-vpnc-service exectutes vpnc with the "--xauth-inter" argument to enable
+challenge-response and does not use the "--non-inter" flag which suppresses that
+behavior.
+
+
* WPS
wpa_supplicant has support for WPS (Wifi Protected Setup, basically Bluetooth-
diff --git a/cli/src/Makefile.am b/cli/src/Makefile.am
index 572e122f..f49d0127 100644
--- a/cli/src/Makefile.am
+++ b/cli/src/Makefile.am
@@ -4,7 +4,6 @@ bin_PROGRAMS = \
INCLUDES = \
-I${top_srcdir} \
-I${top_srcdir}/include \
- -I${top_builddir}/marshallers \
-I${top_srcdir}/libnm-util \
-I${top_srcdir}/libnm-glib
@@ -31,7 +30,6 @@ nmcli_CPPFLAGS = \
nmcli_LDADD = \
$(DBUS_LIBS) \
$(GLIB_LIBS) \
- $(top_builddir)/marshallers/libmarshallers.la \
$(top_builddir)/libnm-util/libnm-util.la \
$(top_builddir)/libnm-glib/libnm-glib.la
diff --git a/cli/src/Makefile.in b/cli/src/Makefile.in
index e4708ad1..33aa3f2b 100644
--- a/cli/src/Makefile.in
+++ b/cli/src/Makefile.in
@@ -63,7 +63,6 @@ am_nmcli_OBJECTS = nmcli-connections.$(OBJEXT) nmcli-devices.$(OBJEXT) \
nmcli_OBJECTS = $(am_nmcli_OBJECTS)
am__DEPENDENCIES_1 =
nmcli_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(top_builddir)/marshallers/libmarshallers.la \
$(top_builddir)/libnm-util/libnm-util.la \
$(top_builddir)/libnm-glib/libnm-glib.la
AM_V_lt = $(am__v_lt_$(V))
@@ -309,7 +308,6 @@ top_srcdir = @top_srcdir@
INCLUDES = \
-I${top_srcdir} \
-I${top_srcdir}/include \
- -I${top_builddir}/marshallers \
-I${top_srcdir}/libnm-util \
-I${top_srcdir}/libnm-glib
@@ -336,7 +334,6 @@ nmcli_CPPFLAGS = \
nmcli_LDADD = \
$(DBUS_LIBS) \
$(GLIB_LIBS) \
- $(top_builddir)/marshallers/libmarshallers.la \
$(top_builddir)/libnm-util/libnm-util.la \
$(top_builddir)/libnm-glib/libnm-glib.la
diff --git a/cli/src/connections.c b/cli/src/connections.c
index 2646aa9e..5febc58a 100644
--- a/cli/src/connections.c
+++ b/cli/src/connections.c
@@ -400,6 +400,7 @@ show_connection (NMConnection *data, gpointer user_data)
NmCli *nmc = (NmCli *) user_data;
NMSettingConnection *s_con;
guint64 timestamp;
+ time_t timestamp_real;
char *timestamp_str;
char timestamp_real_str[64];
@@ -408,7 +409,8 @@ show_connection (NMConnection *data, gpointer user_data)
/* Obtain field values */
timestamp = nm_setting_connection_get_timestamp (s_con);
timestamp_str = g_strdup_printf ("%" G_GUINT64_FORMAT, timestamp);
- strftime (timestamp_real_str, sizeof (timestamp_real_str), "%c", localtime ((time_t *) ×tamp));
+ timestamp_real = timestamp;
+ strftime (timestamp_real_str, sizeof (timestamp_real_str), "%c", localtime (×tamp_real));
nmc->allowed_fields[0].value = nm_setting_connection_get_id (s_con);
nmc->allowed_fields[1].value = nm_setting_connection_get_uuid (s_con);
@@ -1075,22 +1077,10 @@ find_device_for_connection (NmCli *nmc,
/* VPN connections */
NMActiveConnection *active = NULL;
if (iface) {
- const GPtrArray *connections = nm_client_get_active_connections (nmc->client);
- for (i = 0; connections && (i < connections->len) && !active; i++) {
- NMActiveConnection *candidate = g_ptr_array_index (connections, i);
- const GPtrArray *devices = nm_active_connection_get_devices (candidate);
- if (!devices || !devices->len)
- continue;
-
- for (j = 0; devices && (j < devices->len); j++) {
- NMDevice *dev = g_ptr_array_index (devices, j);
- if (!strcmp (iface, nm_device_get_iface (dev))) {
- active = candidate;
- *device = dev;
- break;
- }
- }
- }
+ *device = nm_client_get_device_by_iface (nmc->client, iface);
+ if (*device)
+ active = nm_device_get_active_connection (*device);
+
if (!active) {
g_set_error (error, 0, 0, _("no active connection on device '%s'"), iface);
return FALSE;
diff --git a/configure b/configure
index 2f3e2441..637c085b 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for NetworkManager 0.8.9997.
+# Generated by GNU Autoconf 2.68 for NetworkManager 0.9.0.
#
# Report bugs to .
#
@@ -571,8 +571,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='NetworkManager'
PACKAGE_TARNAME='NetworkManager'
-PACKAGE_VERSION='0.8.9997'
-PACKAGE_STRING='NetworkManager 0.8.9997'
+PACKAGE_VERSION='0.9.0'
+PACKAGE_STRING='NetworkManager 0.9.0'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager'
PACKAGE_URL=''
@@ -1523,7 +1523,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures NetworkManager 0.8.9997 to adapt to many kinds of systems.
+\`configure' configures NetworkManager 0.9.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1593,7 +1593,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of NetworkManager 0.8.9997:";;
+ short | recursive ) echo "Configuration of NetworkManager 0.9.0:";;
esac
cat <<\_ACEOF
@@ -1787,7 +1787,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-NetworkManager configure 0.8.9997
+NetworkManager configure 0.9.0
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2331,7 +2331,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by NetworkManager $as_me 0.8.9997, which was
+It was created by NetworkManager $as_me 0.9.0, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -3152,7 +3152,7 @@ fi
# Define the identity of the package.
PACKAGE='NetworkManager'
- VERSION='0.8.9997'
+ VERSION='0.9.0'
cat >>confdefs.h <<_ACEOF
@@ -16278,9 +16278,9 @@ fi
NM_MAJOR_VERSION=0
-NM_MINOR_VERSION=8
-NM_MICRO_VERSION=9997
-NM_VERSION=0.8.9997
+NM_MINOR_VERSION=9
+NM_MICRO_VERSION=0
+NM_VERSION=0.9.0
@@ -19762,7 +19762,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_have_iwevgenie" >&5
$as_echo "$ac_have_iwevgenie" >&6; }
if test "$ac_have_iwevgenie" = no; then
- as_fn_error $? "wireless-tools library and development headers >= 28pre9 not installed or not functional" "$LINENO" 5
+ as_fn_error $? "wireless-tools or libiw development headers >= 28pre9 not installed or not functional" "$LINENO" 5
fi
LIBM=
@@ -20683,12 +20683,12 @@ if test -n "$QT_CFLAGS"; then
pkg_cv_QT_CFLAGS="$QT_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt >= 4 QtCore QtDBus\""; } >&5
- ($PKG_CONFIG --exists --print-errors "Qt >= 4 QtCore QtDBus") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt >= 4 QtCore QtDBus QtNetwork\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "Qt >= 4 QtCore QtDBus QtNetwork") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_QT_CFLAGS=`$PKG_CONFIG --cflags "Qt >= 4 QtCore QtDBus" 2>/dev/null`
+ pkg_cv_QT_CFLAGS=`$PKG_CONFIG --cflags "Qt >= 4 QtCore QtDBus QtNetwork" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -20699,12 +20699,12 @@ if test -n "$QT_LIBS"; then
pkg_cv_QT_LIBS="$QT_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt >= 4 QtCore QtDBus\""; } >&5
- ($PKG_CONFIG --exists --print-errors "Qt >= 4 QtCore QtDBus") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt >= 4 QtCore QtDBus QtNetwork\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "Qt >= 4 QtCore QtDBus QtNetwork") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_QT_LIBS=`$PKG_CONFIG --libs "Qt >= 4 QtCore QtDBus" 2>/dev/null`
+ pkg_cv_QT_LIBS=`$PKG_CONFIG --libs "Qt >= 4 QtCore QtDBus QtNetwork" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -20724,9 +20724,9 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- QT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "Qt >= 4 QtCore QtDBus" 2>&1`
+ QT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "Qt >= 4 QtCore QtDBus QtNetwork" 2>&1`
else
- QT_PKG_ERRORS=`$PKG_CONFIG --print-errors "Qt >= 4 QtCore QtDBus" 2>&1`
+ QT_PKG_ERRORS=`$PKG_CONFIG --print-errors "Qt >= 4 QtCore QtDBus QtNetwork" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$QT_PKG_ERRORS" >&5
@@ -20939,8 +20939,9 @@ else
#include
int
-main (int argc, char **argv)
+main ()
{
+
struct nl_handle *nlh;
struct nl_cache *cache;
struct nl_object *obj;
@@ -20966,8 +20967,10 @@ main (int argc, char **argv)
return 1;
else
return 2;
-}
+ ;
+ return 0;
+}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
libnl_bug=$?
@@ -22261,7 +22264,7 @@ case $with_tests in
esac
-ac_config_files="$ac_config_files Makefile include/Makefile include/nm-version.h src/Makefile src/tests/Makefile marshallers/Makefile src/logging/Makefile src/dns-manager/Makefile src/vpn-manager/Makefile src/dhcp-manager/Makefile src/dhcp-manager/tests/Makefile src/ip6-manager/Makefile src/supplicant-manager/Makefile src/supplicant-manager/tests/Makefile src/ppp-manager/Makefile src/dnsmasq-manager/Makefile src/modem-manager/Makefile src/bluez-manager/Makefile src/settings/Makefile src/settings/plugins/Makefile src/settings/plugins/ifupdown/Makefile src/settings/plugins/ifupdown/tests/Makefile src/settings/plugins/ifnet/Makefile src/settings/plugins/ifnet/tests/Makefile src/settings/plugins/ifcfg-rh/Makefile src/settings/plugins/ifcfg-rh/tests/Makefile src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile src/settings/plugins/ifcfg-suse/Makefile src/settings/plugins/keyfile/Makefile src/settings/plugins/keyfile/tests/Makefile src/settings/plugins/keyfile/tests/keyfiles/Makefile src/settings/tests/Makefile src/wimax/Makefile src/backends/Makefile libnm-util/libnm-util.pc libnm-util/Makefile libnm-util/tests/Makefile libnm-util/tests/certs/Makefile libnm-glib/libnm-glib.pc libnm-glib/libnm-glib-vpn.pc libnm-glib/Makefile libnm-glib/tests/Makefile callouts/Makefile callouts/tests/Makefile tools/Makefile cli/Makefile cli/src/Makefile test/Makefile initscript/Makefile initscript/RedHat/Makefile initscript/RedHat/NetworkManager initscript/Gentoo/Makefile initscript/Gentoo/NetworkManager initscript/Debian/Makefile initscript/Debian/NetworkManager initscript/Slackware/Makefile initscript/Slackware/rc.networkmanager initscript/SUSE/Makefile initscript/SUSE/networkmanager initscript/Arch/Makefile initscript/Arch/networkmanager initscript/paldo/Makefile initscript/paldo/NetworkManager initscript/Mandriva/Makefile initscript/Mandriva/networkmanager initscript/linexa/Makefile initscript/linexa/networkmanager introspection/Makefile man/Makefile man/NetworkManager.8 man/NetworkManager.conf.5 man/nm-system-settings.conf.5 man/nm-tool.1 man/nm-online.1 man/nmcli.1 po/Makefile.in policy/Makefile data/Makefile docs/Makefile docs/api/Makefile docs/api/version.xml docs/libnm-glib/Makefile docs/libnm-util/Makefile NetworkManager.pc examples/Makefile examples/python/Makefile examples/C/Makefile examples/C/glib/Makefile examples/C/qt/Makefile"
+ac_config_files="$ac_config_files Makefile include/Makefile include/nm-version.h src/Makefile src/tests/Makefile marshallers/Makefile src/logging/Makefile src/dns-manager/Makefile src/vpn-manager/Makefile src/dhcp-manager/Makefile src/dhcp-manager/tests/Makefile src/ip6-manager/Makefile src/supplicant-manager/Makefile src/supplicant-manager/tests/Makefile src/ppp-manager/Makefile src/dnsmasq-manager/Makefile src/modem-manager/Makefile src/bluez-manager/Makefile src/settings/Makefile src/settings/plugins/Makefile src/settings/plugins/ifupdown/Makefile src/settings/plugins/ifupdown/tests/Makefile src/settings/plugins/ifnet/Makefile src/settings/plugins/ifnet/tests/Makefile src/settings/plugins/ifcfg-rh/Makefile src/settings/plugins/ifcfg-rh/tests/Makefile src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile src/settings/plugins/ifcfg-suse/Makefile src/settings/plugins/keyfile/Makefile src/settings/plugins/keyfile/tests/Makefile src/settings/plugins/keyfile/tests/keyfiles/Makefile src/settings/tests/Makefile src/wimax/Makefile src/backends/Makefile libnm-util/libnm-util.pc libnm-util/Makefile libnm-util/tests/Makefile libnm-util/tests/certs/Makefile libnm-glib/libnm-glib.pc libnm-glib/libnm-glib-vpn.pc libnm-glib/Makefile libnm-glib/tests/Makefile callouts/Makefile callouts/tests/Makefile tools/Makefile cli/Makefile cli/src/Makefile test/Makefile initscript/Makefile initscript/RedHat/Makefile initscript/RedHat/NetworkManager initscript/Gentoo/Makefile initscript/Gentoo/NetworkManager initscript/Debian/Makefile initscript/Debian/NetworkManager initscript/Slackware/Makefile initscript/Slackware/rc.networkmanager initscript/SUSE/Makefile initscript/SUSE/networkmanager initscript/Arch/Makefile initscript/Arch/networkmanager initscript/paldo/Makefile initscript/paldo/NetworkManager initscript/Mandriva/Makefile initscript/Mandriva/networkmanager initscript/linexa/Makefile initscript/linexa/networkmanager introspection/Makefile introspection/all.xml man/Makefile man/NetworkManager.8 man/NetworkManager.conf.5 man/nm-system-settings.conf.5 man/nm-tool.1 man/nm-online.1 man/nmcli.1 po/Makefile.in policy/Makefile data/Makefile docs/Makefile docs/api/Makefile docs/api/version.xml docs/libnm-glib/Makefile docs/libnm-util/Makefile NetworkManager.pc examples/Makefile examples/python/Makefile examples/C/Makefile examples/C/glib/Makefile examples/C/qt/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -22926,7 +22929,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by NetworkManager $as_me 0.8.9997, which was
+This file was extended by NetworkManager $as_me 0.9.0, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -22992,7 +22995,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-NetworkManager config.status 0.8.9997
+NetworkManager config.status 0.9.0
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
@@ -23577,6 +23580,7 @@ do
"initscript/linexa/Makefile") CONFIG_FILES="$CONFIG_FILES initscript/linexa/Makefile" ;;
"initscript/linexa/networkmanager") CONFIG_FILES="$CONFIG_FILES initscript/linexa/networkmanager" ;;
"introspection/Makefile") CONFIG_FILES="$CONFIG_FILES introspection/Makefile" ;;
+ "introspection/all.xml") CONFIG_FILES="$CONFIG_FILES introspection/all.xml" ;;
"man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
"man/NetworkManager.8") CONFIG_FILES="$CONFIG_FILES man/NetworkManager.8" ;;
"man/NetworkManager.conf.5") CONFIG_FILES="$CONFIG_FILES man/NetworkManager.conf.5" ;;
diff --git a/configure.ac b/configure.ac
index 74765de3..c557c6be 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,8 +2,8 @@ AC_PREREQ([2.63])
dnl The NM version number
m4_define([nm_major_version], [0])
-m4_define([nm_minor_version], [8])
-m4_define([nm_micro_version], [9997])
+m4_define([nm_minor_version], [9])
+m4_define([nm_micro_version], [0])
m4_define([nm_version],
[nm_major_version.nm_minor_version.nm_micro_version])
@@ -15,7 +15,7 @@ AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE([1.10 subdir-objects tar-ustar no-dist-gzip dist-bzip2])
+AM_INIT_AUTOMAKE([1.10 subdir-objects tar-ustar no-dist-gzip dist-bzip2 -Wno-portability])
AM_MAINTAINER_MODE([enable])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])])
@@ -225,7 +225,7 @@ AC_COMPILE_IFELSE(
[ac_have_iwevgenie=no])
AC_MSG_RESULT($ac_have_iwevgenie)
if test "$ac_have_iwevgenie" = no; then
- AC_MSG_ERROR(wireless-tools library and development headers >= 28pre9 not installed or not functional)
+ AC_MSG_ERROR(wireless-tools or libiw development headers >= 28pre9 not installed or not functional)
fi
dnl
@@ -268,7 +268,7 @@ AC_SUBST(GIO_LIBS)
GOBJECT_INTROSPECTION_CHECK([0.9.6])
# Qt4
-PKG_CHECK_MODULES(QT, [Qt >= 4 QtCore QtDBus], [have_qt=yes],[have_qt=no])
+PKG_CHECK_MODULES(QT, [Qt >= 4 QtCore QtDBus QtNetwork], [have_qt=yes],[have_qt=no])
AC_ARG_ENABLE(qt, AS_HELP_STRING([--enable-qt], [enable Qt examples]),
[enable_qt=${enableval}], [enable_qt=${have_qt}])
if (test "${enable_qt}" = "yes"); then
@@ -664,6 +664,7 @@ initscript/Mandriva/networkmanager
initscript/linexa/Makefile
initscript/linexa/networkmanager
introspection/Makefile
+introspection/all.xml
man/Makefile
man/NetworkManager.8
man/NetworkManager.conf.5
diff --git a/data/NetworkManager-wait-online.service.in b/data/NetworkManager-wait-online.service.in
index 0772568f..fd9be418 100644
--- a/data/NetworkManager-wait-online.service.in
+++ b/data/NetworkManager-wait-online.service.in
@@ -1,12 +1,13 @@
[Unit]
Description=Network Manager Wait Online
+Requisite=NetworkManager.service
After=NetworkManager.service
Wants=network.target
Before=network.target
[Service]
Type=oneshot
-ExecStart=@bindir@/nm-online -q -x --timeout=30
+ExecStart=@bindir@/nm-online -q --timeout=30
[Install]
WantedBy=network.target
diff --git a/docs/api/Makefile.am b/docs/api/Makefile.am
index 687d9cfb..276b4aef 100644
--- a/docs/api/Makefile.am
+++ b/docs/api/Makefile.am
@@ -27,7 +27,7 @@ XSLTPROC = xsltproc --xinclude --nonet
XMLS = $(wildcard $(top_srcdir)/introspection/nm-*.xml)
OTHER_FILES= \
- $(top_srcdir)/introspection/all.xml \
+ $(top_builddir)/introspection/all.xml \
$(top_srcdir)/introspection/generic-types.xml \
$(top_srcdir)/introspection/errors.xml \
$(top_srcdir)/introspection/vpn-errors.xml \
@@ -37,7 +37,7 @@ OTHER_FILES= \
GENERATED_FILES = spec.html settings-spec.xml
spec.html: $(XMLS) $(OTHER_FILES) html-build.stamp
- $(XSLTPROC) $(top_srcdir)/tools/doc-generator.xsl $(top_srcdir)/introspection/all.xml > $@
+ $(XSLTPROC) $(top_srcdir)/tools/doc-generator.xsl $(top_builddir)/introspection/all.xml > $@
mkdir -p $(builddir)/html/
cp $@ $(builddir)/html/
diff --git a/docs/api/Makefile.in b/docs/api/Makefile.in
index ec3fb8a2..47874caf 100644
--- a/docs/api/Makefile.in
+++ b/docs/api/Makefile.in
@@ -333,7 +333,7 @@ AUTOMAKE_OPTIONS = 1.7
@WITH_DOCS_TRUE@XSLTPROC = xsltproc --xinclude --nonet
@WITH_DOCS_TRUE@XMLS = $(wildcard $(top_srcdir)/introspection/nm-*.xml)
@WITH_DOCS_TRUE@OTHER_FILES = \
-@WITH_DOCS_TRUE@ $(top_srcdir)/introspection/all.xml \
+@WITH_DOCS_TRUE@ $(top_builddir)/introspection/all.xml \
@WITH_DOCS_TRUE@ $(top_srcdir)/introspection/generic-types.xml \
@WITH_DOCS_TRUE@ $(top_srcdir)/introspection/errors.xml \
@WITH_DOCS_TRUE@ $(top_srcdir)/introspection/vpn-errors.xml \
@@ -732,7 +732,7 @@ uninstall-am: uninstall-local
@WITH_DOCS_TRUE@spec.html: $(XMLS) $(OTHER_FILES) html-build.stamp
-@WITH_DOCS_TRUE@ $(XSLTPROC) $(top_srcdir)/tools/doc-generator.xsl $(top_srcdir)/introspection/all.xml > $@
+@WITH_DOCS_TRUE@ $(XSLTPROC) $(top_srcdir)/tools/doc-generator.xsl $(top_builddir)/introspection/all.xml > $@
@WITH_DOCS_TRUE@ mkdir -p $(builddir)/html/
@WITH_DOCS_TRUE@ cp $@ $(builddir)/html/
diff --git a/docs/api/generate-settings-spec.c b/docs/api/generate-settings-spec.c
index 9c15314f..c37615b8 100644
--- a/docs/api/generate-settings-spec.c
+++ b/docs/api/generate-settings-spec.c
@@ -87,6 +87,7 @@ static TypeNameElement name_map[] = {
{ "GArray_guint_", "array of uint32" },
{ "GPtrArray_GArray_guint__", "array of array of uint32" },
{ "GPtrArray_GArray_guchar__", "array of byte array" },
+ { "GPtrArray_gchararray_", "array of string" },
{ "GHashTable_gchararray+gchararray_", "dict of (string::string)" },
{ "GPtrArray_GValueArray_GArray_guchar_+guint+GArray_guchar___", "array of (byte array, uint32, byte array)" },
{ "GPtrArray_GValueArray_GArray_guchar_+guint+GArray_guchar_+guint__", "array of (byte array, uint32, byte array, uint32)" },
diff --git a/docs/api/html/NetworkManager.devhelp b/docs/api/html/NetworkManager.devhelp
index bf173496..225718a4 100644
--- a/docs/api/html/NetworkManager.devhelp
+++ b/docs/api/html/NetworkManager.devhelp
@@ -4,23 +4,23 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/api/html/NetworkManager.devhelp2 b/docs/api/html/NetworkManager.devhelp2
index 20f2b147..e5538797 100644
--- a/docs/api/html/NetworkManager.devhelp2
+++ b/docs/api/html/NetworkManager.devhelp2
@@ -4,23 +4,23 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/api/html/index.html b/docs/api/html/index.html
index 091a4290..c734b922 100644
--- a/docs/api/html/index.html
+++ b/docs/api/html/index.html
@@ -22,11 +22,11 @@
<dcbw@redhat.com>
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free
Documentation License, Version 1.1 or any later
@@ -61,25 +61,25 @@
This section details the architectural and D-Bus API changes in
NetworkManager 0.9.
-Elimination of the User Settings Service
+Elimination of the User Settings Service
Previously there were two "settings services", or D-Bus services that
provided and saved network configuration information. NetworkManager
@@ -103,7 +103,7 @@
-User Secret Agents
+User Secret Agents
Even with the elimination of the user settings service, in some cases it
is still desirable to store secrets in the user's session and not in
@@ -152,7 +152,7 @@
-Settings Service Interface Changes
+Settings Service Interface Changes
With the elimination of the user settings service, the old
org.freedesktop.NetworkManagerUserSettings and
@@ -188,7 +188,7 @@
-Connection Object Interface Changes
+Connection Object Interface Changes
Consistent with the interface changes to the Settings object, the
Connection object's D-Bus interface has changed to
@@ -222,7 +222,7 @@
-Permissions Methods Consolidation
+Permissions Methods Consolidation
Previously there were two D-Bus method calls to retrieve the list of
operations that a user client could perform, and two signals notifying
@@ -254,7 +254,7 @@
are now string-based permissions. The mapping is as follows:
-
Table 17.
+
Table 17.
@@ -305,7 +305,7 @@
-AddConnection Returns Object Path of New Connection
+AddConnection Returns Object Path of New Connection
Many new mobile broadband devices support multiple access families, like
Qualcomm Gobi cards (CDMA/EVDO and GSM/UMTS), or multi-mode EVDO/LTE
@@ -413,7 +413,7 @@
-Secret Property Flags
+Secret Property Flags
In the Connection object's configuration properties, each setting's secret
properties (like WiFi passphrases, or public key passwords, etc) now has
@@ -422,7 +422,7 @@
following values:
-
Table 18.
+
Table 18.
@@ -484,7 +484,7 @@
-Deprecated Methods Removed
+Deprecated Methods Removed
A few methods and signals of the org.freedesktop.NetworkManager
interface deprecated in version 0.7 have been removed. All the
@@ -494,7 +494,7 @@
their replacements:
UTF-8 encoded path to a directory containing PEM or DER formatted certificates to be added to the verification chain in addition to the certificate specified in the 'ca-cert' property.
+
subject-match
+
string
+
+
Substring to be matched against the subject of the certificate presented by the authentication server. When unset, no verification of the authentication server certificate's subject is performed.
+
+
+
altsubject-matches
+
array of string
+
[]
+
List of strings to be matched against the altSubjectName of the certificate presented by the authentication server. If the list is empty, no verification of the server certificate's altSubjectName is performed.
+
+
client-cert
byte array
[]
@@ -139,10 +151,22 @@
UTF-8 encoded path to a directory containing PEM or DER formatted certificates to be added to the verification chain in addition to the certificate specified in the 'phase2-ca-cert' property.
+
phase2-subject-match
+
string
+
+
Substring to be matched against the subject of the certificate presented by the authentication server during the inner 'phase2' authentication. When unset, no verification of the authentication server certificate's subject is performed.
+
+
+
phase2-altsubject-matches
+
array of string
+
[]
+
List of strings to be matched against List of strings to be matched against the altSubjectName of the certificate presented by the authentication server during the inner 'phase 2' authentication. If the list is empty, no verification of the server certificate's altSubjectName is performed.
+
+
phase2-client-cert
byte array
[]
-
Contains the 'phase 2' client certificate if used by the EAP method specified in the 'phase2-eap' or 'phase2-autheap' properties. Certificate data is specified using a 'scheme'; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string 'file://' and ending with a terminating NULL byte.
+
Contains the 'phase 2' client certificate if used by the EAP method specified in the 'phase2-auth' or 'phase2-autheap' properties. Certificate data is specified using a 'scheme'; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string 'file://' and ending with a terminating NULL byte.
password
@@ -178,7 +202,7 @@
phase2-private-key
byte array
[]
-
Contains the 'phase 2' inner private key when the 'phase2-eap' or 'phase2-autheap' property is set to 'tls'. Key data is specified using a 'scheme'; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string 'file://' and ending with a terminating NULL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the 'phase2-private-key-password' property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string 'file://' and and ending with a terminating NULL byte, and as with the blob scheme the 'phase2-private-key-password' property must be set to the password used to decode the PKCS#12 private key and certificate.
+
Contains the 'phase 2' inner private key when the 'phase2-auth' or 'phase2-autheap' property is set to 'tls'. Key data is specified using a 'scheme'; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string 'file://' and ending with a terminating NULL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the 'phase2-private-key-password' property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string 'file://' and and ending with a terminating NULL byte, and as with the blob scheme the 'phase2-private-key-password' property must be set to the password used to decode the PKCS#12 private key and certificate.
phase2-private-key-password
@@ -204,7 +228,7 @@
-
Table 2. bluetooth setting
+
Table 2. bluetooth setting
@@ -243,7 +267,7 @@
-
Table 3. cdma setting
+
Table 3. cdma setting
@@ -294,7 +318,7 @@
-
Table 4. connection setting
+
Table 4. connection setting
@@ -363,7 +387,7 @@
-
Table 5. gsm setting
+
Table 5. gsm setting
@@ -388,7 +412,7 @@
number
string
-
Number to dial when establishing a PPP data session with the GSM-based mobile broadband network. In most cases, leave the number blank and a number selecting the APN specified in the 'apn' property will be used automatically when required.
+
Number to dial when establishing a PPP data session with the GSM-based mobile broadband network. Many modems do not require PPP for connections to the mobile network and thus this property should be left blank, which allows NetworkManager to select the appropriate settings automatically.
username
@@ -456,7 +480,7 @@
-
Table 6. ipv4 setting
+
Table 6. ipv4 setting
@@ -555,7 +579,7 @@
-
Table 7. ipv6 setting
+
Table 7. ipv6 setting
@@ -627,7 +651,7 @@
may-fail
boolean
-
FALSE
+
TRUE
If TRUE, allow overall network configuration to proceed even if IPv6 configuration times out. Note that at least one IP configuration must succeed or overall network configuration will still fail. For example, in IPv4-only networks, setting this property to TRUE allows the overall network configuration to succeed if IPv6 configuration fails but IPv4 configuration completes successfully.
@@ -636,7 +660,7 @@
-
Table 8. 802-11-olpc-mesh setting
+
Table 8. 802-11-olpc-mesh setting
@@ -681,7 +705,7 @@
-
Table 9. ppp setting
+
Table 9. ppp setting
@@ -816,7 +840,7 @@
-
Table 10. pppoe setting
+
Table 10. pppoe setting
@@ -867,7 +891,7 @@
-
Table 11. serial setting
+
Table 11. serial setting
@@ -924,7 +948,7 @@
-
Table 12. vpn setting
+
Table 12. vpn setting
@@ -955,7 +979,7 @@
user-name
string
-
User name of the currently logged in user for connections provided by the user settings service. This name is provided to the VPN plugin to use in lieu of a custom username provided by that VPN plugins specific configuration. The VPN plugin itself decides which user name to use.
+
If the VPN connection requires a user name for authentication, that name should be provided here. If the connection is available to more than one user, and the VPN requires each user to supply a different name, then leave this property empty. If this property is empty, NetworkManager will automatically supply the username of the user which requested the VPN connection.
data
@@ -975,7 +999,7 @@
-
Table 13. wimax setting
+
Table 13. wimax setting
@@ -1014,7 +1038,7 @@
-
Table 14. 802-3-ethernet setting
+
Table 14. 802-3-ethernet setting
@@ -1072,6 +1096,12 @@
If specified, request that the device use this MAC address instead of its permanent MAC address. This is known as MAC cloning or spoofing.
+
mac-address-blacklist
+
array of string
+
[]
+
If specified, this connection will never apply to the ethernet device whose permanent MAC address matches an address in the list. Each MAC address is in the standard hex-digits-and-colons notation (00:11:22:33:44:55).
+
+
mtu
uint32
0
@@ -1079,7 +1109,7 @@
s390-subchannels
-
GPtrArray_gchararray_
+
array of string
[]
Identifies specific subchannels that this network device uses for communcation with z/VM or s390 host. Like the 'mac-address' property for non-z/VM devices, this property can be used to ensure this connection only applies to the network device that uses these subchannels. The list should contain exactly 3 strings, and each string may only be composed of hexadecimal characters and the period (.) character.
@@ -1101,7 +1131,7 @@
-
Table 15. 802-11-wireless setting
+
Table 15. 802-11-wireless setting
@@ -1177,6 +1207,12 @@
If specified, request that the WiFi device use this MAC address instead of its permanent MAC address. This is known as MAC cloning or spoofing.
+
mac-address-blacklist
+
array of string
+
[]
+
If specified, this connection will never apply to the WiFi device whose permanent MAC address matches an address in the list. Each MAC address is in the standard hex-digits-and-colons notation (00:11:22:33:44:55).
+
+
mtu
uint32
0
@@ -1186,7 +1222,7 @@
seen-bssids
array of string
[]
-
A list of BSSIDs (each BSSID formatted as a MAC address like '00:11:22:33:44:55') that have been detected as part of the WiFI network. The settings service will usually populate this property by periodically asking NetworkManager what the device's current AP is while connected to the network (or monitoring the device's 'active-ap' property) and adding the current AP's BSSID to this list. This list helps NetworkManager find hidden APs by matching up scan results with the BSSIDs in this list.
+
A list of BSSIDs (each BSSID formatted as a MAC address like 00:11:22:33:44:55') that have been detected as part of the WiFI network. NetworkManager internally tracks previously seen BSSIDs so this property is no longer of much use.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
diff --git a/docs/api/settings-spec.xml b/docs/api/settings-spec.xml
index 6be79b15..fd320b63 100644
--- a/docs/api/settings-spec.xml
+++ b/docs/api/settings-spec.xml
@@ -52,6 +52,18 @@
UTF-8 encoded path to a directory containing PEM or DER formatted certificates to be added to the verification chain in addition to the certificate specified in the 'ca-cert' property.
+
+ subject-match
+ string
+
+ Substring to be matched against the subject of the certificate presented by the authentication server. When unset, no verification of the authentication server certificate's subject is performed.
+
+
+ altsubject-matches
+ array of string
+ []
+ List of strings to be matched against the altSubjectName of the certificate presented by the authentication server. If the list is empty, no verification of the server certificate's altSubjectName is performed.
+ client-certbyte array
@@ -100,11 +112,23 @@
UTF-8 encoded path to a directory containing PEM or DER formatted certificates to be added to the verification chain in addition to the certificate specified in the 'phase2-ca-cert' property.
+
+ phase2-subject-match
+ string
+
+ Substring to be matched against the subject of the certificate presented by the authentication server during the inner 'phase2' authentication. When unset, no verification of the authentication server certificate's subject is performed.
+
+
+ phase2-altsubject-matches
+ array of string
+ []
+ List of strings to be matched against List of strings to be matched against the altSubjectName of the certificate presented by the authentication server during the inner 'phase 2' authentication. If the list is empty, no verification of the server certificate's altSubjectName is performed.
+ phase2-client-certbyte array[]
- Contains the 'phase 2' client certificate if used by the EAP method specified in the 'phase2-eap' or 'phase2-autheap' properties. Certificate data is specified using a 'scheme'; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string 'file://' and ending with a terminating NULL byte.
+ Contains the 'phase 2' client certificate if used by the EAP method specified in the 'phase2-auth' or 'phase2-autheap' properties. Certificate data is specified using a 'scheme'; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string 'file://' and ending with a terminating NULL byte.password
@@ -140,7 +164,7 @@
phase2-private-keybyte array[]
- Contains the 'phase 2' inner private key when the 'phase2-eap' or 'phase2-autheap' property is set to 'tls'. Key data is specified using a 'scheme'; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string 'file://' and ending with a terminating NULL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the 'phase2-private-key-password' property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string 'file://' and and ending with a terminating NULL byte, and as with the blob scheme the 'phase2-private-key-password' property must be set to the password used to decode the PKCS#12 private key and certificate.
+ Contains the 'phase 2' inner private key when the 'phase2-auth' or 'phase2-autheap' property is set to 'tls'. Key data is specified using a 'scheme'; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string 'file://' and ending with a terminating NULL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the 'phase2-private-key-password' property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string 'file://' and and ending with a terminating NULL byte, and as with the blob scheme the 'phase2-private-key-password' property must be set to the password used to decode the PKCS#12 private key and certificate.phase2-private-key-password
@@ -326,7 +350,7 @@
numberstring
- Number to dial when establishing a PPP data session with the GSM-based mobile broadband network. In most cases, leave the number blank and a number selecting the APN specified in the 'apn' property will be used automatically when required.
+ Number to dial when establishing a PPP data session with the GSM-based mobile broadband network. Many modems do not require PPP for connections to the mobile network and thus this property should be left blank, which allows NetworkManager to select the appropriate settings automatically.username
@@ -553,7 +577,7 @@
may-failboolean
- FALSE
+ TRUEIf TRUE, allow overall network configuration to proceed even if IPv6 configuration times out. Note that at least one IP configuration must succeed or overall network configuration will still fail. For example, in IPv4-only networks, setting this property to TRUE allows the overall network configuration to succeed if IPv6 configuration fails but IPv4 configuration completes successfully.
@@ -851,7 +875,7 @@
user-namestring
- User name of the currently logged in user for connections provided by the user settings service. This name is provided to the VPN plugin to use in lieu of a custom username provided by that VPN plugins specific configuration. The VPN plugin itself decides which user name to use.
+ If the VPN connection requires a user name for authentication, that name should be provided here. If the connection is available to more than one user, and the VPN requires each user to supply a different name, then leave this property empty. If this property is empty, NetworkManager will automatically supply the username of the user which requested the VPN connection.data
@@ -955,6 +979,12 @@
[]If specified, request that the device use this MAC address instead of its permanent MAC address. This is known as MAC cloning or spoofing.
+
+ mac-address-blacklist
+ array of string
+ []
+ If specified, this connection will never apply to the ethernet device whose permanent MAC address matches an address in the list. Each MAC address is in the standard hex-digits-and-colons notation (00:11:22:33:44:55).
+ mtuuint32
@@ -963,7 +993,7 @@
s390-subchannels
- GPtrArray_gchararray_
+ array of string[]Identifies specific subchannels that this network device uses for communcation with z/VM or s390 host. Like the 'mac-address' property for non-z/VM devices, this property can be used to ensure this connection only applies to the network device that uses these subchannels. The list should contain exactly 3 strings, and each string may only be composed of hexadecimal characters and the period (.) character.
@@ -1054,6 +1084,12 @@
[]If specified, request that the WiFi device use this MAC address instead of its permanent MAC address. This is known as MAC cloning or spoofing.
+
+ mac-address-blacklist
+ array of string
+ []
+ If specified, this connection will never apply to the WiFi device whose permanent MAC address matches an address in the list. Each MAC address is in the standard hex-digits-and-colons notation (00:11:22:33:44:55).
+ mtuuint32
@@ -1064,7 +1100,7 @@
seen-bssidsarray of string[]
- A list of BSSIDs (each BSSID formatted as a MAC address like '00:11:22:33:44:55') that have been detected as part of the WiFI network. The settings service will usually populate this property by periodically asking NetworkManager what the device's current AP is while connected to the network (or monitoring the device's 'active-ap' property) and adding the current AP's BSSID to this list. This list helps NetworkManager find hidden APs by matching up scan results with the BSSIDs in this list.
+ A list of BSSIDs (each BSSID formatted as a MAC address like 00:11:22:33:44:55') that have been detected as part of the WiFI network. NetworkManager internally tracks previously seen BSSIDs so this property is no longer of much use.security
diff --git a/docs/api/spec.html b/docs/api/spec.html
index 4533e786..c8abf6ca 100644
--- a/docs/api/spec.html
+++ b/docs/api/spec.html
@@ -1,5 +1,5 @@
-NetworkManager D-Bus Interface Specification version 0.9
NetworkManager D-Bus Interface Specification
Version 0.9
Copyright (C) 2008 - 2011 Red Hat, Inc.
Copyright (C) 2008 - 2009 Novell, Inc.
+
NetworkManager D-Bus Interface Specification
Version 0.9.0
Copyright (C) 2008 - 2011 Red Hat, Inc.
Copyright (C) 2008 - 2009 Novell, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
diff --git a/docs/api/version.xml b/docs/api/version.xml
index 02098219..ac39a106 100644
--- a/docs/api/version.xml
+++ b/docs/api/version.xml
@@ -1 +1 @@
-0.8.9997
+0.9.0
diff --git a/docs/libnm-glib/html/NMClient.html b/docs/libnm-glib/html/NMClient.html
index 26d99de0..48fe024f 100644
--- a/docs/libnm-glib/html/NMClient.html
+++ b/docs/libnm-glib/html/NMClient.html
@@ -62,6 +62,8 @@ enum GPtrArray * nm_client_get_devices (NMClient *client);
NMDevice * nm_client_get_device_by_path (NMClient *client,
const char *object_path);
+NMDevice * nm_client_get_device_by_iface (NMClient *client,
+ const char *iface);
void (*NMClientActivateFn) (NMClient *client,
NMActiveConnection *active_connection,
GError *error,
@@ -370,7 +372,35 @@ Gets a
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free
Documentation License, Version 1.1 or any later
@@ -130,6 +130,9 @@
+Parses key/value pairs from a file descriptor (normally stdin) passed by
+an applet when the applet calls the authentication dialog of the VPN plugin.
+
+
+
+
+
+
fd :
+
file descriptor to read from, usually stdin (0)
+
+
+
out_data :
+
on successful return, a hash table
+(mapping char*:char*) containing the key/value pairs of VPN data items. [out][transfer full]
+
+
+
+
out_secrets :
+
on successful return, a hash table
+(mapping char*:char*) containing the key/value pairsof VPN secrets. [out][transfer full]
+
+
+
+
Returns :
+
+TRUE if reading values was successful, FALSE if not
+Given a VPN secret key name, attempts to find the corresponding flags data
+item in data. If found, converts the flags data item to
+NMSettingSecretFlags and returns it.
+
+
+
+
+
+
data :
+
hash table containing VPN key/value pair data items
+
+
+
secret_name :
+
VPN secret key name for which to retrieve flags for
+
+
+
out_flags :
+
on success, the flags associated with secret_name. [out]
+
+
+
+
Returns :
+
+TRUE if the flag data item was found and successfully converted
+to flags, FALSE if not
Update the specified setting's secrets, given a hash table of secrets
intended for that setting (deserialized from D-Bus for example). Will also
extract the given setting's secrets hash if given a hash of hashes, as would
-be returned from nm_connection_to_hash().
+be returned from nm_connection_to_hash(). If setting_name is NULL, expects
+a fully serialized NMConnection as returned by nm_connection_to_hash() and
+will update all secrets from all settings contained in secrets.
ignore secrets for which
+the secret's flags indicate the secret is owned by a user secret agent
+(ie, the secret's flag includes NM_SETTING_SECRET_FLAG_AGENT_OWNED)
+
+
+
+
NM_SETTING_COMPARE_FLAG_IGNORE_NOT_SAVED_SECRETS
+
ignore secrets for which
+the secret's flags indicate the secret should not be saved to persistent
+storage (ie, the secret's flag includes NM_SETTING_SECRET_FLAG_NOT_SAVED)
+
+
+
+
+
+
+
NMSetting
typedef struct _NMSetting NMSetting;
@@ -350,11 +408,16 @@ It should only be accessed through the functions described below.
NMSettingSecretFlags flags,
GError **error);
+ /* Returns TRUE if the given property contains the same value in both settings */
+ gboolean (*compare_property) (NMSetting *setting,
+ NMSetting *other,
+ const GParamSpec *prop_spec,
+ NMSettingCompareFlags flags);
+
/* Padding for future expansion */
void (*_reserved1) (void);
void (*_reserved2) (void);
void (*_reserved3) (void);
- void (*_reserved4) (void);
} NMSettingClass;
@@ -368,8 +431,35 @@ It should only be accessed through the functions described below.
const GValue *value,
GParamFlags flags,
gpointer user_data);
-
the "subject-match" property. This is the
+substring to be matched against the subject of the authentication
+server certificate, or NULL no subject verification is to be
+performed.
+Adds an allowed alternate subject name match. Until at least one
+match is added, the altSubjectName of the remote authentication
+server is not verified.
+
the "phase2-subject-match" property. This is
+the substring to be matched against the subject of the "phase 2"
+authentication server certificate, or NULL no subject verification
+is to be performed.
+Adds an allowed alternate subject name match for "phase 2". Until
+at least one match is added, the altSubjectName of the "phase 2"
+remote authentication server is not verified.
+
password used to decrypt the private key, or NULL if the password
+
password used to decrypt the private key, or NULL if the password
is unknown. If the password is given but fails to decrypt the private key,
an error is returned.
@@ -1787,8 +2170,7 @@ an error is returned.
Returns :
the private key password used to decrypt the private key if
-previously set with nm_setting_802_1x_set_private_key_from_file(),
-nm_setting_802_1x_set_private_key_path(), or the
+previously set with nm_setting_802_1x_set_private_key(), or the
"private-key-password" property.
password used to decrypt the private key, or NULL if the password
+
password used to decrypt the private key, or NULL if the password
is unknown. If the password is given but fails to decrypt the private key,
an error is returned.
@@ -2012,8 +2394,7 @@ an error is returned.
Returns :
the private key password used to decrypt the private key if
-previously set with nm_setting_802_1x_set_phase2_private_key_from_file(),
-nm_setting_802_1x_set_phase2_private_key_path(), or the
+previously set with nm_setting_802_1x_set_phase2_private_key() or the
"phase2-private-key-password" property.
@@ -2066,6 +2447,17 @@ previously set with nm_setting_802_1x_set_phase2_private_
+List of strings to be matched against the altSubjectName of the
+certificate presented by the authentication server. If the list
+is empty, no verification of the server certificate's
+altSubjectName is performed.
+
+List of strings to be matched against the altSubjectName of the
+certificate presented by the authentication server during the
+inner "phase 2" authentication. If the list is empty, no
+verification of the server certificate's altSubjectName is
+performed.
+
@@ -2256,8 +2660,8 @@ properties. Setting this property directly is discouraged; use the
Private key data used by "phase 2" inner authentication methods.
+Substring to be matched against the subject of the certificate
+presented by the authentication server during the inner "phase
+2" authentication. When unset, no verification of the
+authentication server certificate's subject is performed.
+
+
Default value: NULL
+
+
+
The "private-key" property
"private-key" GArray_guchar_* : Read / Write
@@ -2329,6 +2745,18 @@ Flags indicating how to handle
+
+Substring to be matched against the subject of the certificate
+presented by the authentication server. When unset, no
+verification of the authentication server certificate's subject
+is performed.
+
@@ -2336,9 +2764,8 @@ When TRUE, overrides "phase2-ca-path" properties using the system CA directory
specified at configure time with the --system-ca-path switch. The
certificates in this directory are added to the verification chain in
-addition to any certificates specified by the "ca-cert",
-"ca-cert-path", "phase2-ca-cert" and
-"phase2-ca-cert-path" properties.
+addition to any certificates specified by the "ca-cert"
+and "phase2-ca-cert" properties.
+The NMSettingBluetooth object is a NMSetting subclass that describes
+properties necessary for connection to devices that provide network
+connections via the Bluetooth Dial-Up Networking (DUN) and Network Access
+Point (NAP) profiles.
the connection
+did not contain a required type setting, ie for DUN connections the connection
+must also contain an NMSettingGsm or NMSettingCdma as appropriate
+
-Either 'dun' for Dial-Up Networking connections (not yet supported) or
-'panu' for Personal Area Networking connections.
+Either 'dun' for Dial-Up Networking connections or 'panu' for Personal
+Area Networking connections to devices supporting the NAP profile.
Default value: NULL
diff --git a/docs/libnm-util/html/NMSettingCdma.html b/docs/libnm-util/html/NMSettingCdma.html
index 3dc4a712..1c93803d 100644
--- a/docs/libnm-util/html/NMSettingCdma.html
+++ b/docs/libnm-util/html/NMSettingCdma.html
@@ -105,16 +105,40 @@ networks, including those using CDMA2000/EVDO technology.
the required NMSettingSerial
+is missing in the connection
+
+
+
+
diff --git a/docs/libnm-util/html/NMSettingConnection.html b/docs/libnm-util/html/NMSettingConnection.html
index 2b113d2d..e0085a7c 100644
--- a/docs/libnm-util/html/NMSettingConnection.html
+++ b/docs/libnm-util/html/NMSettingConnection.html
@@ -577,7 +577,7 @@ the "user" permission type is supported, and pitem
+The NMSettingGsm object is a NMSetting subclass that describes
+properties that allow connections to 3GPP-based mobile broadband
+networks, including those using GPRS/EDGE and UMTS/HSPA technology.
@@ -255,7 +293,43 @@ const char * NMSettingGsmNetworkType values indicate the allowed access technologies
+the device may use when connecting to this network.
+
+
+
+
+
NM_SETTING_GSM_NETWORK_TYPE_ANY
+
any access technology may be used
+
+
+
+
NM_SETTING_GSM_NETWORK_TYPE_UMTS_HSPA
+
only 3G-type (UMTS and HSPA)
+technologies may be used
+
+
+
+
NM_SETTING_GSM_NETWORK_TYPE_GPRS_EDGE
+
only 2G-type (GPRS and EDGE)
+technologies may be used
+
+
+
+
NM_SETTING_GSM_NETWORK_TYPE_PREFER_UMTS_HSPA
+
3G-type technologies are
+preferred but 2G-type technologies may be used as a fallback
+
+
+
+
NM_SETTING_GSM_NETWORK_TYPE_PREFER_GPRS_EDGE
+
2G-type technologies are
+preferred but 3G-type technologies may be used as a fallback
+
+
+
+
@@ -275,10 +349,93 @@ const char * NMSettingGsmNetworkBand values indicate the allowed frequency bands
+the device may use when connecting to this network.
+
Bitfield of allowed frequency bands. Note that not all devices allow
-frequency band control.
+frequency band control. Permitted values are those specified by
+NMSettingGsmNetworkBand.
Allowed values: <= 1
Default value: 1
@@ -477,9 +751,9 @@ roaming control of the device is not otherwise possible.
Network preference to force the device to only use specific network
-technologies. The permitted values are: -1: any, 0: 3G only,
-1: GPRS/EDGE only, 2: prefer 3G, and 3: prefer 2G. Note that not all
-devices allow network preference control.
+technologies. Permitted values are those specified by
+NMSettingGsmNetworkType. Note that not all devices allow network
+preference control.
Number to dial when establishing a PPP data session with the GSM-based
-mobile broadband network. In most cases, leave the number blank and a
-number selecting the APN specified in the 'apn' property will be used
-automatically when required.
+mobile broadband network. Many modems do not require PPP for connections
+to the mobile network and thus this property should be left blank, which
+allows NetworkManager to select the appropriate settings automatically.
+TRUE if NetworkManager should send the machine hostname to the
+DHCP server when requesting addresses to allow the server to automatically
+update DNS information for this machine.
+TRUE if this connection doesn't require IPv6 addressing to complete
+for the connection to succeed.
+
+
+
@@ -886,7 +1671,7 @@ example, in IPv4-only networks, setting this property to TRUE allows
the overall network configuration to succeed if IPv6 configuration fails
but IPv4 configuration completes successfully.
-
+The NMSettingPPP object is a NMSetting subclass that describes properties
+necessary for connection to networks that require PPP transport, like PPPoE
+cable and DSL modems and some mobile broadband devices.
+The NMSettingPPPOE object is a NMSetting subclass that describes
+properties necessary for connection to networks that require PPPoE connections
+to provide IP transport, for example cable or DSL modems.
+The NMSettingSerial object is a NMSetting subclass that describes
+properties necessary for connections that may use serial communications,
+such as mobile broadband or analog telephone connections.
+The NMSettingVPN object is a NMSetting subclass that describes properties
+necessary for connection to Virtual Private Networks. NetworkManager uses
+a plugin architecture to allow easier use of new VPN types, and this
+setting abstracts the configuration for those plugins. Since the configuration
+options are only known to the VPN plugins themselves, the VPN configuration
+options are stored as key/value pairs of strings rather than GObject
+properties.
User name of the currently logged in user for connections provided by the user settings service. This name is provided to the VPN plugin to use in lieu of a custom username provided by that VPN plugins specific configuration. The VPN plugin itself decides which user name to use.
+
If the VPN connection requires a user name for authentication, that name should be provided here. If the connection is available to more than one user, and the VPN requires each user to supply a different name, then leave this property empty. If this property is empty, NetworkManager will automatically supply the username of the user which requested the VPN connection.
+If specified, this connection will only apply to the WiMAX device
+whose MAC address matches. This property does not change the MAC address
+of the device (known as MAC spoofing).
+
+Network Service Provider (NSP) name of the WiMAX network this connection
+should use.
+
+
Default value: NULL
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/libnm-util/html/NMSettingWired.html b/docs/libnm-util/html/NMSettingWired.html
index d079de3a..dc01f965 100644
--- a/docs/libnm-util/html/NMSettingWired.html
+++ b/docs/libnm-util/html/NMSettingWired.html
@@ -35,13 +35,16 @@
NMSettingWired
-
NMSettingWired
+
NMSettingWired — Describes connection properties for Ethernet-based networks
+If specified, this connection will never apply to the ethernet device
+whose permanent MAC address matches an address in the list. Each
+MAC address is in the standard hex-digits-and-colons notation
+(00:11:22:33:44:55).
+
+Adds a new WiFi AP's BSSID to the previously seen BSSID list of the setting.
+NetworkManager tracks previously seen BSSIDs internally so this function
+no longer has much use.
+Given a NMSettingWireless and an optional NMSettingWirelessSecurity,
+determine if the configuration given by the settings is compatible with
+the security of an access point using that access point's capability flags
+and mode. Useful for clients that wish to filter a set of connections
+against a set of access points and determine which connections are
+compatible with which access points.
+
+
+If specified, this connection will never apply to the WiFi device
+whose permanent MAC address matches an address in the list. Each
+MAC address is in the standard hex-digits-and-colons notation.
+(00:11:22:33:44:55).
+
@@ -544,11 +872,8 @@ the connection contains a valid 802-11-wireless-security setting.
A list of BSSIDs (each BSSID formatted as a MAC address like
'00:11:22:33:44:55') that have been detected as part of the WiFI network.
-The settings service will usually populate this property by periodically
-asking NetworkManager what the device's current AP is while connected
-to the network (or monitoring the device's 'active-ap' property) and
-adding the current AP'sBSSID to this list. This list helps NetworkManager
-find hidden APs by matching up scan results with the BSSIDs in this list.
+NetworkManager internally tracks previously seen BSSIDs so this property
+is no longer of much use.
+The NMSettingWirelessSecurity object is a NMSetting subclass that describes
+properties necessary for connection to encrypted WiFi networks.
+
+
+It's a good idea to read up on wpa_supplicant configuration before using this
+setting extensively, since most of the options here correspond closely with
+the relevant wpa_supplicant configuration options. To get a better overview
+of how WiFi security works, you may want to get copies of the following books.
+
+
+ 802.11 Wireless Networks: The Definitive Guide, Second Edition
+ Author: Matthew Gast
+ ISBN: 978-0596100520
+
+
+ Cisco Wireless LAN Security
+ Authors: Krishna Sankar, Sri Sundaralingam, Darrin Miller, and Andrew Balinsky
+ ISBN: 978-1587051548
Shared Key
+authentication was specified but the setting did not specify WEP as the
+encryption protocol
+
+
+
+
@@ -239,7 +304,47 @@ const char * NMWepKeyType values specify how any WEP keys present in the setting
+are intepreted. There are no standards governing how to hash the various WEP
+key/passphrase formats into the actual WEP key. Unfortunately some WEP keys
+can be interpreted in multiple ways, requring the setting to specify how to
+interpret the any WEP keys. For example, the key "732f2d712e4a394a375d366931"
+is both a valid Hexadecimal WEP key and a WEP passphrase. Further, many
+ASCII keys are also valid WEP passphrases, but since passphrases and ASCII
+keys are hashed differently to determine the actual WEP key the type must be
+specified.
+
+
+
+
+
NM_WEP_KEY_TYPE_UNKNOWN
+
unknown WEP key type
+
+
+
+
NM_WEP_KEY_TYPE_KEY
+
indicates a hexadecimal or ASCII formatted WEP key.
+Hex keys are either 10 or 26 hexadecimal characters (ie "5f782f2f5f" or
+"732f2d712e4a394a375d366931"), while ASCII keys are either 5 or 13 ASCII
+characters (ie "abcde" or "blahblah99$*1").
+
+
+
+
NM_WEP_KEY_TYPE_PASSPHRASE
+
indicates a WEP passphrase (ex "I bought a duck
+on my way back from the market 235Q&^%^*%") instead of a hexadecimal or ASCII
+key. Passphrases are between 8 and 64 characters inclusive and are hashed
+the actual WEP key using the MD5 hash algorithm.
+
+Adds a WiFi security protocol (one of "wpa" or "rsn") to the allowed list;
+only protocols in this list will be used when finding and connecting to
+the WiFi network specified by this connection. For example, if the
+protocol list contains only "wpa" but the access point for the SSID specified
+by this connection only supports WPA2/RSN, the connection cannot be used
+with the access point.
+Adds an encryption algorithm to the list of allowed pairwise encryption
+algorithms. If the list is not empty, then only access points that support
+one or more of the encryption algorithms in the list will be considered
+compatible with this connection.
+Adds an encryption algorithm to the list of allowed groupwise encryption
+algorithms. If the list is not empty, then only access points that support
+one or more of the encryption algorithms in the list will be considered
+compatible with this connection.
-Controls the interpretation of WEP keys. Allowed values are 1 (interpret
-WEP keys as hexadecimal or ASCII keys) or 2 (interpret WEP keys as WEP
-Passphrases). If set to 1 and the keys are hexadecimal, they must be
+Controls the interpretation of WEP keys. Allowed values are those given
+by NMWepKeyType. If set to 1 and the keys are hexadecimal, they must be
either 10 or 26 characters in length. If set to 1 and the keys are
ASCII keys, they must be either 5 or 13 characters in length. If set to
2, the passphrase is hashed using the de-facto MD5 method to derive the
diff --git a/docs/libnm-util/html/api-index-full.html b/docs/libnm-util/html/api-index-full.html
index 0ea92385..f47ea2c9 100644
--- a/docs/libnm-util/html/api-index-full.html
+++ b/docs/libnm-util/html/api-index-full.html
@@ -21,10 +21,20 @@
-C
+8
+ |
+ A
+ |
+ B
+ |
+ C
+ |
+ D
|
I
|
+ M
+ |
S
|
T
@@ -39,7 +49,34 @@
API Index
-
C
+
8
+
+NM80211ApFlags, enum in NetworkManager
+
+
+
+NM80211ApSecurityFlags, enum in NetworkManager
+
+
+
+NM80211Mode, enum in NetworkManager
+
+
+
A
+
+NMActiveConnectionState, enum in NetworkManager
+
+
+
B
+
+NMBluetoothCapabilities, enum in NetworkManager
+
+NM_VPN_DBUS_PLUGIN_INTERFACE, macro in NetworkManagerVPN
+
+
+
+NM_VPN_DBUS_PLUGIN_PATH, macro in NetworkManagerVPN
+
+
+
+NM_VPN_PLUGIN_IP4_CONFIG_ADDRESS, macro in NetworkManagerVPN
+
+
+
+NM_VPN_PLUGIN_IP4_CONFIG_BANNER, macro in NetworkManagerVPN
+
+
+
+NM_VPN_PLUGIN_IP4_CONFIG_DNS, macro in NetworkManagerVPN
+
+
+
+NM_VPN_PLUGIN_IP4_CONFIG_DOMAIN, macro in NetworkManagerVPN
+
+
+
+NM_VPN_PLUGIN_IP4_CONFIG_EXT_GATEWAY, macro in NetworkManagerVPN
+
+
+
+NM_VPN_PLUGIN_IP4_CONFIG_GATEWAY, macro in NetworkManagerVPN
+
+
+
+NM_VPN_PLUGIN_IP4_CONFIG_INT_GATEWAY, macro in NetworkManagerVPN
+
+
+
+NM_VPN_PLUGIN_IP4_CONFIG_MSS, macro in NetworkManagerVPN
+
+
+
+NM_VPN_PLUGIN_IP4_CONFIG_MTU, macro in NetworkManagerVPN
+
+
+
+NM_VPN_PLUGIN_IP4_CONFIG_NBNS, macro in NetworkManagerVPN
+
+
+
+NM_VPN_PLUGIN_IP4_CONFIG_NEVER_DEFAULT, macro in NetworkManagerVPN
+
+
+
+NM_VPN_PLUGIN_IP4_CONFIG_PREFIX, macro in NetworkManagerVPN
+
+
+
+NM_VPN_PLUGIN_IP4_CONFIG_PTP, macro in NetworkManagerVPN
+
+
+
+NM_VPN_PLUGIN_IP4_CONFIG_ROUTES, macro in NetworkManagerVPN
+
+
+
+NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV, macro in NetworkManagerVPN
+
+
W
NMWepKeyType, enum in NMSettingWirelessSecurity
diff --git a/docs/libnm-util/html/ch01.html b/docs/libnm-util/html/ch01.html
index 52f73af9..d97a8939 100644
--- a/docs/libnm-util/html/ch01.html
+++ b/docs/libnm-util/html/ch01.html
@@ -21,7 +21,7 @@
-libnm-util API Reference
+libnm-util API Reference
NMConnection — Describes a connection to specific network or provider
@@ -33,25 +33,30 @@
NMSettingConnection — Describes general connection properties