libnm: add missing (transfer) annotations for return values
examples: fix python GI examples to work after libnm changes
libnm: handle all-default settings in nm_setting_to_hash() properly

Before, _nm_setting_to_dbus() would return NULL instead of an empty
hash. This would be the case, if all properties are default.

When exporting connections via DBUS, we eventually call
_nm_setting_to_dbus() to convert the connection into a hash of hashes.
By _nm_setting_to_hash() converting empty hashes to NULL, the setting
is missing. Not returning empty hashes means that to_dbus() and
new_from_dbus() don't make a valid round-trip conversion.

Fix that by always returning a hash from _nm_setting_to_dbus()

https://bugzilla.gnome.org/show_bug.cgi?id=735255

See-also: 4d32618264d7ca169036347a25f38689cce632f3
Signed-off-by: Thomas Haller <thaller@redhat.com>
libnm-core: fix NMSettingDcb

This got broken in the libnm-props changes (specifically 22b92a75).
trivial: alphabetize the nm-*.xml files in introspection/Makefile.am
contrib/rpm: use HTTPS for connectivity check URL (rh #1135777)

https://bugzilla.redhat.com/show_bug.cgi?id=1135777
Revert "libnm-core: fix NMSettingDcb"

This reverts commit b4bebbd02db258f09205d54e998e3f8f85d8f38c.
libnm-core: fix DCB's _nm_setting_dcb_uint_array_from_dbus()

and rename functions to be clearer:
set_uint_array()  -> set_array_from_gvalue()
take_uint_array() -> set_gvalue_from_array()
cli: fix MAC address validation (bgo #736275)

nm_utils_hwaddr_valid() accepts length while check_mac() mistakenly passes
type.

(broken by 3a54d050985d6ef2067b025571910a8ccd3cbd57)

https://bugzilla.gnome.org/show_bug.cgi?id=736275
cli: fix ssid parameter processing in 'nmcli con add'

(broken by commit c43f88907be66f8f62a8edbe76ae2aec4ff61190)
libnm: assert that dbus_connection_allocate_data_slot() doesn't fail

dbus_connection_allocate_data_slot() can only fail on ENOMEM, in which
case the immediately-following call to g_set_error() would also get
ENOMEM and abort. So just simplify and assert that the libdbus call
didn't fail.
libnm: drop NMObject:dbus-connection

The only plausible use case for the NMObject:dbus-connection property
is for using the session bus in test programs. So just drop it and use
an environment variable to decide which bus to use instead.
libnm: drop NMObject:dbus-connection (bgo #735916)
libnm: NMSecretAgent shouldn't check peer UID on session bus

If an NMSecretAgent is attached to the session bus rather than the
system bus, then it's presumably a test program, and so we don't want
to check that the peer is root.
libnm: add test-secret-agent

Implement some basic secret agent functionality in
test-networkmanager-service.py, and add test-secret-agent to test that
NMSecretAgent works as expected.
libnm: start glib-ifying NMSecretAgent APIs

Make register() and unregister() have cancellable sync and async
variants. And make NMSecretAgent implement GInitable/GAsyncInitable,
and do the initial auto-registration as part of initialization rather
than doing it asynchronously and emitting a signal.
libnm: add test-secret-agent, glib-ify NMSecretAgent APIs (bgo #735916)
libnm: use g_return_if_fail() in a function returning void
nm-utils: add a wrapper for g_strsplit_set() removing empty strings from array

g_strsplit_set() puts empty strings ("") into the resulting string array when
a delimiter character appears as the first or last character in the string or
when there are adjacent delimiter characters. However, this is not what is
useful in most cases.
ifcfg-rh: fix reading HWADDR_BLACKLIST

Adding GSList to the property may crash NetworkManager. Also check MAC
addresses and filter out the invalid ones.

(broken by commit 6a4127cfa063a77e3ee886a999441c71f6a0e11c)