core: move content of src/firewall-manager directory to src/

The directory firewall-manager/ only contained one source and one
header file. Move them to the parent src/ directory.

Signed-off-by: Thomas Haller <thaller@redhat.com>
firewall: allow passing NULL callback to nm_firewall_manager_add_or_change_zone()

Signed-off-by: Thomas Haller <thaller@redhat.com>
firewall: make call handle an opaque pointer type

Signed-off-by: Thomas Haller <thaller@redhat.com>
firewall: invoke FwAddToZoneFunc callback also when cancelling

Not invoking a callback when cancelling the operation is counter
intuitive.

Note that NMPolicy refs the device, cancelling the call would leave
the reference hanging. That was not an issue because the call was
never cancelled. But still the behavior of NMFirewallManager is
unexpected.

Signed-off-by: Thomas Haller <thaller@redhat.com>
firewall: always complete callbacks asynchronously

Signed-off-by: Thomas Haller <thaller@redhat.com>
firewall: don't set firewall zone for assumed devices

https://bugzilla.redhat.com/show_bug.cgi?id=1098281

Signed-off-by: Thomas Haller <thaller@redhat.com>
firewall: merge branch 'th/rh1098281_firewall_assumed_device'

https://bugzilla.redhat.com/show_bug.cgi?id=1098281

Signed-off-by: Thomas Haller <thaller@redhat.com>
man: fix a typo in nmtui manual page
man: update nmcli-examples manual page
libnm, libnm-util: move settings doc generation to libnm-core

Move the settings/plugins doc generation from libnm-util to
libnm-core, since libnm-util isn't being updated for all new
properties.

With this commit, the keyfile and ifcfg-rh documentation is basically
unchanged, except that deprecated properties are now gone, and new
properties have been added, and the sections are in a different order.
(generate-plugin-docs.pl just outputs the settings in Makefile order,
and they were unsorted in libnm-util, but are sorted in libnm-core).

The settings documentation used for nm-settings.5, the D-Bus API docs,
and the nmcli help is changed a bit more at this point, and mostly for
the worse, since the libnm-core setting properties don't match up with
the D-Bus API as well as the libnm-util ones do. To be fixed...

(I also removed the "plugins docs" line in each plugin docs comment
block while moving them, since those blocks will be used for more than
just plugins soon, and it's sort of obvious anyway.)
libnm-core: make GBytes D-Bus marshalling be built-in to NMSetting

Each GBytes-valued property was using
_nm_setting_class_transform_property() to register a GBytes<->'ay'
transform. So just build that rule into the generic machinery in
nm-setting.c.
libnm: fix nm-setting-docs.xml property types

Add nm_setting_get_dbus_property_type(), and use this to get the
correct type for properties in nm-seting-docs.xml, in situations where
the D-Bus and GObject property types don't match.

In the case of enum/flags-valued properties, give both the enum name
and the underlying D-Bus type.
libnm: Override parts of nm-setting-docs.xml

Add "---dbus---" sections to the NMSetting property docs, in the same
style as the plugin docs, parse them out into a file
"nm-setting-docs-overrides.xml", and use them to override the GObject
property docs in nm-setting-docs.xml.

This lets us put more D-Bus-specific information in the setting docs,
without cluttering up the property docs, and it also lets us document
dbus-only properties.
cli, libnm: don't use D-Bus-specific documentation in nmcli

Now that nm-setting-docs.xml is more D-Bus-specific, it's less
appropriate for nmcli's internal documentation. So generate a second
copy of the docs without using the overrides file, and use that one
for nmcli's documentation.
man, docs: add the secret flags notes non-hackishly

Since libnm-core secret-flags properties are now enum-typed rather
than just being uints, we can now actually recognize them when
generating docs, rather than just assuming that every property whose
name ends in '-flags', but isn't in NMSettingDcb, is a secret-flags
property.
man: ifcfg-rh manual page text update
libnm-core: update documentation of addresses and gateway properties
libnm-core: update BAND and CHANNEL ifcfg-rh description

We support BAND variable now.
libnm-core: document AUTOCONNECT_PRIORITY for ifcfg-rh
libnm-core: update ip6-privacy ifcfg-rh description