From 80ec1decc49c72efec2a8b87c06245c92c0ab807 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Thu, 11 Feb 2021 18:11:46 +0100 Subject: New upstream version 1.29.90 --- libnm/NetworkManager.h | 18 ++- libnm/libnm.ver | 29 +++++ libnm/meson.build | 74 ++++++------- libnm/nm-access-point.c | 12 +- libnm/nm-access-point.h | 2 +- libnm/nm-active-connection.c | 6 +- libnm/nm-active-connection.h | 2 +- libnm/nm-autoptr.h | 4 +- libnm/nm-checkpoint.c | 6 +- libnm/nm-checkpoint.h | 2 +- libnm/nm-client.c | 22 ++-- libnm/nm-client.h | 7 +- libnm/nm-dbus-helpers.c | 4 +- libnm/nm-dbus-helpers.h | 2 +- libnm/nm-default-client.h | 23 ++++ libnm/nm-default-libnm.h | 23 ++++ libnm/nm-device-6lowpan.c | 6 +- libnm/nm-device-6lowpan.h | 2 +- libnm/nm-device-adsl.c | 6 +- libnm/nm-device-adsl.h | 2 +- libnm/nm-device-bond.c | 6 +- libnm/nm-device-bond.h | 2 +- libnm/nm-device-bridge.c | 6 +- libnm/nm-device-bridge.h | 2 +- libnm/nm-device-bt.c | 8 +- libnm/nm-device-bt.h | 2 +- libnm/nm-device-dummy.c | 6 +- libnm/nm-device-dummy.h | 2 +- libnm/nm-device-ethernet.c | 67 +++++------ libnm/nm-device-ethernet.h | 2 +- libnm/nm-device-generic.c | 6 +- libnm/nm-device-generic.h | 2 +- libnm/nm-device-infiniband.c | 8 +- libnm/nm-device-infiniband.h | 2 +- libnm/nm-device-ip-tunnel.c | 6 +- libnm/nm-device-ip-tunnel.h | 2 +- libnm/nm-device-macsec.c | 6 +- libnm/nm-device-macsec.h | 2 +- libnm/nm-device-macvlan.c | 6 +- libnm/nm-device-macvlan.h | 2 +- libnm/nm-device-modem.c | 6 +- libnm/nm-device-modem.h | 2 +- libnm/nm-device-olpc-mesh.c | 6 +- libnm/nm-device-olpc-mesh.h | 2 +- libnm/nm-device-ovs-bridge.c | 6 +- libnm/nm-device-ovs-bridge.h | 2 +- libnm/nm-device-ovs-interface.c | 6 +- libnm/nm-device-ovs-interface.h | 2 +- libnm/nm-device-ovs-port.c | 6 +- libnm/nm-device-ovs-port.h | 2 +- libnm/nm-device-ppp.c | 6 +- libnm/nm-device-ppp.h | 2 +- libnm/nm-device-team.c | 6 +- libnm/nm-device-team.h | 2 +- libnm/nm-device-tun.c | 6 +- libnm/nm-device-tun.h | 2 +- libnm/nm-device-veth.c | 124 +++++++++++++++++++++ libnm/nm-device-veth.h | 41 +++++++ libnm/nm-device-vlan.c | 6 +- libnm/nm-device-vlan.h | 2 +- libnm/nm-device-vrf.c | 6 +- libnm/nm-device-vrf.h | 2 +- libnm/nm-device-vxlan.c | 6 +- libnm/nm-device-vxlan.h | 2 +- libnm/nm-device-wifi-p2p.c | 6 +- libnm/nm-device-wifi-p2p.h | 2 +- libnm/nm-device-wifi.c | 11 +- libnm/nm-device-wifi.h | 2 +- libnm/nm-device-wimax.c | 4 +- libnm/nm-device-wimax.h | 2 +- libnm/nm-device-wireguard.c | 6 +- libnm/nm-device-wireguard.h | 2 +- libnm/nm-device-wpan.c | 6 +- libnm/nm-device-wpan.h | 2 +- libnm/nm-device.c | 13 ++- libnm/nm-device.h | 2 +- libnm/nm-dhcp-config.c | 8 +- libnm/nm-dhcp-config.h | 2 +- libnm/nm-dhcp4-config.c | 4 +- libnm/nm-dhcp4-config.h | 2 +- libnm/nm-dhcp6-config.c | 4 +- libnm/nm-dhcp6-config.h | 2 +- libnm/nm-dns-manager.c | 4 +- libnm/nm-dns-manager.h | 2 +- libnm/nm-enum-types.c.template | 76 ------------- libnm/nm-enum-types.h.template | 22 ---- libnm/nm-ethtool-utils.h | 107 ++++++++++++++++++ libnm/nm-ip-config.c | 8 +- libnm/nm-ip-config.h | 2 +- libnm/nm-ip4-config.c | 4 +- libnm/nm-ip4-config.h | 2 +- libnm/nm-ip6-config.c | 4 +- libnm/nm-ip6-config.h | 2 +- libnm/nm-libnm-aux/nm-libnm-aux.c | 4 +- libnm/nm-libnm-aux/nm-libnm-aux.h | 2 +- libnm/nm-libnm-utils.c | 43 +++++++- libnm/nm-libnm-utils.h | 37 +++++-- libnm/nm-object-private.h | 2 +- libnm/nm-object.c | 14 ++- libnm/nm-object.h | 2 +- libnm/nm-property-infos-dbus.xml | 6 + libnm/nm-property-infos-ifcfg-rh.xml | 21 +++- libnm/nm-property-infos-keyfile.xml | 6 + libnm/nm-property-infos-nmcli.xml | 6 + libnm/nm-remote-connection-private.h | 2 +- libnm/nm-remote-connection.c | 6 +- libnm/nm-remote-connection.h | 2 +- libnm/nm-secret-agent-old.c | 4 +- libnm/nm-secret-agent-old.h | 2 +- libnm/nm-settings-docs-gir.xml | 24 +++- libnm/nm-types.h | 3 +- libnm/nm-vpn-connection.c | 6 +- libnm/nm-vpn-connection.h | 2 +- libnm/nm-vpn-editor.c | 4 +- libnm/nm-vpn-editor.h | 2 +- libnm/nm-vpn-plugin-old.c | 4 +- libnm/nm-vpn-plugin-old.h | 2 +- libnm/nm-vpn-service-plugin.c | 4 +- libnm/nm-vpn-service-plugin.h | 2 +- libnm/nm-wifi-p2p-peer.c | 6 +- libnm/nm-wifi-p2p-peer.h | 2 +- libnm/nm-wimax-nsp.c | 4 +- libnm/nm-wimax-nsp.h | 2 +- libnm/tests/meson.build | 47 ++++---- libnm/tests/test-libnm.c | 177 +++++++++++++++++++++--------- libnm/tests/test-nm-client.c | 4 +- libnm/tests/test-remote-settings-client.c | 4 +- libnm/tests/test-secret-agent.c | 4 +- 128 files changed, 949 insertions(+), 476 deletions(-) create mode 100644 libnm/nm-default-client.h create mode 100644 libnm/nm-default-libnm.h create mode 100644 libnm/nm-device-veth.c create mode 100644 libnm/nm-device-veth.h delete mode 100644 libnm/nm-enum-types.c.template delete mode 100644 libnm/nm-enum-types.h.template create mode 100644 libnm/nm-ethtool-utils.h (limited to 'libnm') diff --git a/libnm/NetworkManager.h b/libnm/NetworkManager.h index e9cfad32..f9cc8565 100644 --- a/libnm/NetworkManager.h +++ b/libnm/NetworkManager.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2014 - 2018 Red Hat, Inc. */ @@ -34,6 +34,7 @@ #include "nm-device-ppp.h" #include "nm-device-team.h" #include "nm-device-tun.h" +#include "nm-device-veth.h" #include "nm-device-vlan.h" #include "nm-device-vxlan.h" #include "nm-device-wifi-p2p.h" @@ -44,7 +45,9 @@ #include "nm-device.h" #include "nm-dhcp-config.h" #include "nm-enum-types.h" +#include "nm-ethtool-utils.h" #include "nm-ip-config.h" +#include "nm-keyfile.h" #include "nm-object.h" #include "nm-remote-connection.h" #include "nm-setting-6lowpan.h" @@ -61,6 +64,7 @@ #include "nm-setting-ethtool.h" #include "nm-setting-generic.h" #include "nm-setting-gsm.h" +#include "nm-setting-hostname.h" #include "nm-setting-infiniband.h" #include "nm-setting-ip4-config.h" #include "nm-setting-ip6-config.h" @@ -86,6 +90,7 @@ #include "nm-setting-team-port.h" #include "nm-setting-tun.h" #include "nm-setting-user.h" +#include "nm-setting-veth.h" #include "nm-setting-vlan.h" #include "nm-setting-vpn.h" #include "nm-setting-vrf.h" @@ -111,6 +116,17 @@ #include "nm-autoptr.h" +#if !defined(NETWORKMANAGER_COMPILATION) \ + && (!defined(NM_NO_INCLUDE_EXTRA_HEADERS) || !NM_NO_INCLUDE_EXTRA_HEADERS) + /* historically, NetworkManager.h drags in the following system headers. + * These are not strictly necessary and the user may wish to opt out from + * including them. */ + #include + #include + #include + #include +#endif + #undef __NETWORKMANAGER_H_INSIDE__ #endif /* __NETWORKMANAGER_H__ */ diff --git a/libnm/libnm.ver b/libnm/libnm.ver index c85fcb5c..c61792c7 100644 --- a/libnm/libnm.ver +++ b/libnm/libnm.ver @@ -1755,3 +1755,32 @@ global: nm_setting_ip_config_remove_dhcp_reject_server; nm_setting_wireless_get_ap_isolation; } libnm_1_26_4; + +libnm_1_30_0 { +global: + nm_device_veth_get_type; + nm_keyfile_handler_data_fail_with_error; + nm_keyfile_handler_data_get_context; + nm_keyfile_handler_data_warn_get; + nm_keyfile_handler_flags_get_type; + nm_keyfile_handler_type_get_type; + nm_keyfile_read; + nm_keyfile_warn_severity_get_type; + nm_keyfile_write; + nm_setting_hostname_get_from_dhcp; + nm_setting_hostname_get_from_dns_lookup; + nm_setting_hostname_get_only_from_default; + nm_setting_hostname_get_priority; + nm_setting_hostname_get_type; + nm_setting_ovs_external_ids_check_key; + nm_setting_ovs_external_ids_check_val; + nm_setting_ovs_external_ids_get_data; + nm_setting_ovs_external_ids_get_data_keys; + nm_setting_ovs_external_ids_get_type; + nm_setting_ovs_external_ids_new; + nm_setting_ovs_external_ids_set_data; + nm_setting_veth_get_peer; + nm_setting_veth_get_type; + nm_setting_veth_new; + nm_utils_print; +} libnm_1_28_0; diff --git a/libnm/meson.build b/libnm/meson.build index d3991ab1..d0846419 100644 --- a/libnm/meson.build +++ b/libnm/meson.build @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: LGPL-2.1+ +# SPDX-License-Identifier: LGPL-2.1-or-later libnm_inc = include_directories('.') @@ -8,11 +8,6 @@ libnm_nm_default_dep = declare_dependency( dependencies: libnm_core_nm_default_dep, ) -c_flags = [ - '-DG_LOG_DOMAIN="@0@"'.format(libnm_name), - '-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM', -] - libnm_headers = files( 'NetworkManager.h', 'nm-access-point.h', @@ -40,6 +35,7 @@ libnm_headers = files( 'nm-device-ppp.h', 'nm-device-team.h', 'nm-device-tun.h', + 'nm-device-veth.h', 'nm-device-vlan.h', 'nm-device-vrf.h', 'nm-device-vxlan.h', @@ -50,6 +46,7 @@ libnm_headers = files( 'nm-device-wpan.h', 'nm-device.h', 'nm-dhcp-config.h', + 'nm-ethtool-utils.h', 'nm-ip-config.h', 'nm-object.h', 'nm-remote-connection.h', @@ -68,14 +65,12 @@ install_headers( subdir: libnm_name, ) -enum_types = 'nm-enum-types' - libnm_enum_sources = gnome.mkenums( - enum_types, + 'nm-enum-types', sources: libnm_headers + [nm_version_macro_header], identifier_prefix: nm_id_prefix, - c_template: enum_types + '.c.template', - h_template: enum_types + '.h.template', + c_template: 'nm-enum-types.c.template', + h_template: 'nm-enum-types.h.template', install_header: true, install_dir: libnm_pkgincludedir, ) @@ -106,6 +101,7 @@ libnm_sources = files( 'nm-device-ppp.c', 'nm-device-team.c', 'nm-device-tun.c', + 'nm-device-veth.c', 'nm-device-vlan.c', 'nm-device-vrf.c', 'nm-device-vxlan.c', @@ -134,37 +130,35 @@ libnm_sources = files( 'nm-wimax-nsp.c', ) -deps = [ - libnmdbus_dep, - libnm_libnm_core_intern_dep, - libnm_nm_default_dep, - libnm_udev_aux_dep, - libudev_dep, -] - -liblibnm = static_library( - 'libnm', +libnm_static = static_library( + 'nm-static', sources: libnm_sources + libnm_enum_sources, - dependencies: deps, - c_args: c_flags, + dependencies: [ + libnmdbus_dep, + libnm_libnm_core_intern_dep, + libnm_nm_default_dep, + libnm_udev_aux_dep, + libudev_dep, + ], + c_args: [ + '-DG_LOG_DOMAIN="libnm"', + ], link_with: libnm_systemd_logging_stub, ) -links = [ - liblibnm, - libnm_core, - libnmdbus, - libnm_systemd_logging_stub, - libnm_utils_base, -] - linker_script = join_paths(meson.current_source_dir(), 'libnm.ver') libnm = shared_library( 'nm', version: libnm_version, dependencies: libnm_nm_default_dep, - link_whole: links, + link_whole: [ + libnm_static, + libnm_core, + libnmdbus, + libnm_systemd_logging_stub, + libnm_glib_aux, + ], link_args: '-Wl,--version-script,@0@'.format(linker_script), link_depends: linker_script, install: true, @@ -208,7 +202,10 @@ if enable_introspection symbol_prefix: nm_id_prefix.to_lower(), header: 'NetworkManager.h', export_packages: libnm_name, - extra_args: c_flags, + extra_args: [ + '-DG_LOG_DOMAIN="libnm"', + '-DNETWORKMANAGER_COMPILATION', + ], install: true, ) @@ -294,18 +291,13 @@ if enable_introspection endif -if enable_tests - subdir('tests') -endif - libnm_libnm_aux = static_library( 'nm-libnm-aux', sources: files( 'nm-libnm-aux/nm-libnm-aux.c', ), c_args: [ - '-DG_LOG_DOMAIN="@0@"'.format('libnmc'), - '-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_CLIENT', + '-DG_LOG_DOMAIN="libnmc"', ], dependencies: [ libnm_core_nm_default_dep, @@ -318,3 +310,7 @@ libnm_libnm_aux_dep = declare_dependency( include_directories: [shared_inc], link_with: [libnm_libnm_aux], ) + +if enable_tests + subdir('tests') +endif diff --git a/libnm/nm-access-point.c b/libnm/nm-access-point.c index 5e23bc52..abe1a553 100644 --- a/libnm/nm-access-point.c +++ b/libnm/nm-access-point.c @@ -1,13 +1,15 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2011 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-access-point.h" +#include + #include "nm-connection.h" #include "nm-setting-connection.h" #include "nm-setting-wireless.h" @@ -363,6 +365,10 @@ nm_access_point_connection_valid(NMAccessPoint *ap, NMConnection *connection) * Returns: (transfer full) (element-type NMConnection): an array of * #NMConnections that could be activated with the given @ap. The array should * be freed with g_ptr_array_unref() when it is no longer required. + * + * WARNING: the transfer annotation for this function may not work correctly + * with bindings. See https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/305. + * You can filter the list yourself with nm_access_point_connection_valid(). **/ GPtrArray * nm_access_point_filter_connections(NMAccessPoint *ap, const GPtrArray *connections) @@ -472,7 +478,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_accesspoint = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_ACCESS_POINT, nm_access_point_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_U("Flags", PROP_FLAGS, NMAccessPoint, _priv.flags), NML_DBUS_META_PROPERTY_INIT_U("Frequency", PROP_FREQUENCY, NMAccessPoint, _priv.frequency), diff --git a/libnm/nm-access-point.h b/libnm/nm-access-point.h index 0fa897c2..0460ea0a 100644 --- a/libnm/nm-access-point.h +++ b/libnm/nm-access-point.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2011 Red Hat, Inc. diff --git a/libnm/nm-active-connection.c b/libnm/nm-active-connection.c index c80e4663..80fb2511 100644 --- a/libnm/nm-active-connection.c +++ b/libnm/nm-active-connection.c @@ -1,10 +1,10 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2014 Red Hat, Inc. * Copyright (C) 2008 Novell, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-active-connection.h" @@ -542,7 +542,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_connection_active = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_ACTIVE_CONNECTION, nm_active_connection_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_LOW, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_10, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_O_PROP("Connection", PROP_CONNECTION, diff --git a/libnm/nm-active-connection.h b/libnm/nm-active-connection.h index 3899ed06..44b715c7 100644 --- a/libnm/nm-active-connection.h +++ b/libnm/nm-active-connection.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2014 Red Hat, Inc. * Copyright (C) 2008 Novell, Inc. diff --git a/libnm/nm-autoptr.h b/libnm/nm-autoptr.h index 93be5464..f37e2cfc 100644 --- a/libnm/nm-autoptr.h +++ b/libnm/nm-autoptr.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2018 Red Hat, Inc. */ @@ -53,6 +53,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDeviceOvsPort, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDevicePpp, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDeviceTeam, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDeviceTun, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDeviceVeth, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDeviceVlan, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDeviceVxlan, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMDeviceWifi, g_object_unref) @@ -98,6 +99,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingTeam, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingTeamPort, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingTun, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingUser, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingVeth, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingVlan, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingVpn, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(NMSettingVxlan, g_object_unref) diff --git a/libnm/nm-checkpoint.c b/libnm/nm-checkpoint.c index 7439a96c..5fd55bc1 100644 --- a/libnm/nm-checkpoint.c +++ b/libnm/nm-checkpoint.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2017 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-checkpoint.h" @@ -128,7 +128,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_checkpoint = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_CHECKPOINT, nm_checkpoint_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_X("Created", PROP_CREATED, NMCheckpoint, _priv.created), NML_DBUS_META_PROPERTY_INIT_AO_PROP("Devices", diff --git a/libnm/nm-checkpoint.h b/libnm/nm-checkpoint.h index b2cab46a..3bc28f6f 100644 --- a/libnm/nm-checkpoint.h +++ b/libnm/nm-checkpoint.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2017 Red Hat, Inc. */ diff --git a/libnm/nm-client.c b/libnm/nm-client.c index 1c2c2dd7..2c775196 100644 --- a/libnm/nm-client.c +++ b/libnm/nm-client.c @@ -1,10 +1,10 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2018 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-client.h" @@ -482,17 +482,17 @@ _nm_client_new_error_nm_not_cached(void) } static void -_nm_client_dbus_call_simple_cb(GObject *source, GAsyncResult *result, gpointer data) +_nm_client_dbus_call_simple_cb(GObject *source, GAsyncResult *result, gpointer user_data) { GAsyncReadyCallback callback; - gpointer user_data; + gpointer callback_user_data; gs_unref_object GObject *context_busy_watcher = NULL; gpointer obfuscated_self_ptr; gpointer log_call_counter_ptr; - nm_utils_user_data_unpack(data, + nm_utils_user_data_unpack(user_data, &callback, - &user_data, + &callback_user_data, &context_busy_watcher, &obfuscated_self_ptr, &log_call_counter_ptr); @@ -502,7 +502,7 @@ _nm_client_dbus_call_simple_cb(GObject *source, GAsyncResult *result, gpointer d (guint64) GPOINTER_TO_SIZE(obfuscated_self_ptr), GPOINTER_TO_SIZE(log_call_counter_ptr)); - callback(source, result, user_data); + callback(source, result, callback_user_data); } void @@ -1166,7 +1166,7 @@ nml_dbus_object_iface_data_get(NMLDBusObject *dbobj, count++; } } else { - nm_c_list_for_each_entry_prev (db_iface_data, &dbobj->iface_lst_head, iface_lst) { + c_list_for_each_entry_prev (db_iface_data, &dbobj->iface_lst_head, iface_lst) { if (db_iface_data->dbus_iface_is_wellknown) break; if (db_iface_data->iface_removed) @@ -2694,7 +2694,7 @@ _obj_handle_dbus_changes(NMClient *self, NMLDBusObject *dbobj) nml_dbus_object_set_obj_state(dbobj, NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY, self); } else { GType gtype = G_TYPE_NONE; - NMLDBusMetaInteracePrio curr_prio = NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_LOW - 1; + NMLDBusMetaInteracePrio curr_prio = NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_10 - 1; c_list_for_each_entry (db_iface_data, &dbobj->iface_lst_head, iface_lst) { nm_assert(!db_iface_data->iface_removed); @@ -6981,7 +6981,7 @@ _init_release_all(NMClient *self) nm_assert(c_list_is_empty(&priv->dbus_objects_lst_head_on_dbus)); nm_assert(c_list_is_empty(&priv->dbus_objects_lst_head_with_nmobj_not_ready)); nm_assert(c_list_is_empty(&priv->dbus_objects_lst_head_with_nmobj_ready)); - nm_assert(g_hash_table_size(priv->dbus_objects) == 0); + nm_assert(nm_g_hash_table_size(priv->dbus_objects) == 0); } /*****************************************************************************/ @@ -7822,7 +7822,7 @@ dispose(GObject *object) nm_assert(c_list_is_empty(&priv->queue_notify_lst_head)); nm_assert(c_list_is_empty(&priv->notify_event_lst_head)); nm_assert(c_list_is_empty(&self->obj_base.queue_notify_lst)); - nm_assert(!priv->dbus_objects || g_hash_table_size(priv->dbus_objects) == 0); + nm_assert(nm_g_hash_table_size(priv->dbus_objects) == 0); nml_dbus_property_o_clear_many(priv->nm.property_o, G_N_ELEMENTS(priv->nm.property_o), NULL); nml_dbus_property_ao_clear_many(priv->nm.property_ao, G_N_ELEMENTS(priv->nm.property_ao), NULL); diff --git a/libnm/nm-client.h b/libnm/nm-client.h index 86e9486e..5a977088 100644 --- a/libnm/nm-client.h +++ b/libnm/nm-client.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2014 Red Hat, Inc. @@ -480,6 +480,11 @@ void nm_client_dbus_set_property(NMClient * client, NM_AVAILABLE_IN_1_24 gboolean nm_client_dbus_set_property_finish(NMClient *client, GAsyncResult *result, GError **error); +/*****************************************************************************/ + +NM_AVAILABLE_IN_1_30 +void nm_utils_print(int output_mode, const char *msg); + G_END_DECLS #endif /* __NM_CLIENT_H__ */ diff --git a/libnm/nm-dbus-helpers.c b/libnm/nm-dbus-helpers.c index 955fa6a5..b1461855 100644 --- a/libnm/nm-dbus-helpers.c +++ b/libnm/nm-dbus-helpers.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2013 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-dbus-helpers.h" diff --git a/libnm/nm-dbus-helpers.h b/libnm/nm-dbus-helpers.h index a918d22f..a22f8e3d 100644 --- a/libnm/nm-dbus-helpers.h +++ b/libnm/nm-dbus-helpers.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2013 Red Hat, Inc. */ diff --git a/libnm/nm-default-client.h b/libnm/nm-default-client.h new file mode 100644 index 00000000..b5d1a6d3 --- /dev/null +++ b/libnm/nm-default-client.h @@ -0,0 +1,23 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Copyright (C) 2015 Red Hat, Inc. + */ + +#ifndef __NM_DEFAULT_CLIENT_H__ +#define __NM_DEFAULT_CLIENT_H__ + +/*****************************************************************************/ + +#include "nm-glib-aux/nm-default-glib-i18n-lib.h" + +#undef NETWORKMANAGER_COMPILATION +#define NETWORKMANAGER_COMPILATION NM_NETWORKMANAGER_COMPILATION_CLIENT + +/*****************************************************************************/ + +#include "nm-version.h" +#include "NetworkManager.h" + +/*****************************************************************************/ + +#endif /* __NM_DEFAULT_CLIENT_H__ */ diff --git a/libnm/nm-default-libnm.h b/libnm/nm-default-libnm.h new file mode 100644 index 00000000..799547bc --- /dev/null +++ b/libnm/nm-default-libnm.h @@ -0,0 +1,23 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Copyright (C) 2015 Red Hat, Inc. + */ + +#ifndef __NM_DEFAULT_LIBNM_H__ +#define __NM_DEFAULT_LIBNM_H__ + +/*****************************************************************************/ + +#include "nm-glib-aux/nm-default-glib-i18n-lib.h" + +#undef NETWORKMANAGER_COMPILATION +#define NETWORKMANAGER_COMPILATION NM_NETWORKMANAGER_COMPILATION_LIBNM + +/*****************************************************************************/ + +#include "nm-version.h" +#include "nm-libnm-utils.h" + +/*****************************************************************************/ + +#endif /* __NM_DEFAULT_LIBNM_H__ */ diff --git a/libnm/nm-device-6lowpan.c b/libnm/nm-device-6lowpan.c index 4cf29c14..ccb8ae01 100644 --- a/libnm/nm-device-6lowpan.c +++ b/libnm/nm-device-6lowpan.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2018 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-6lowpan.h" @@ -94,7 +94,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_lowpan = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_6LOWPAN, nm_device_6lowpan_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_FCN("HwAddress", 0, diff --git a/libnm/nm-device-6lowpan.h b/libnm/nm-device-6lowpan.h index 4380a3e9..d46e6db4 100644 --- a/libnm/nm-device-6lowpan.h +++ b/libnm/nm-device-6lowpan.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2018 Red Hat, Inc. */ diff --git a/libnm/nm-device-adsl.c b/libnm/nm-device-adsl.c index 1cfc8652..ff64cd3a 100644 --- a/libnm/nm-device-adsl.c +++ b/libnm/nm-device-adsl.c @@ -1,10 +1,10 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Author: Pantelis Koukousoulas * Copyright (C) 2009 - 2011 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-adsl.h" @@ -100,7 +100,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_adsl = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_ADSL, nm_device_adsl_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_B("Carrier", PROP_CARRIER, NMDeviceAdsl, _priv.carrier), ), ); diff --git a/libnm/nm-device-adsl.h b/libnm/nm-device-adsl.h index 286e3cf3..92eaf369 100644 --- a/libnm/nm-device-adsl.h +++ b/libnm/nm-device-adsl.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2011 Pantelis Koukousoulas */ diff --git a/libnm/nm-device-bond.c b/libnm/nm-device-bond.c index b37948d0..12149641 100644 --- a/libnm/nm-device-bond.c +++ b/libnm/nm-device-bond.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2012 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-setting-bond.h" @@ -155,7 +155,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_bond = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_BOND, nm_device_bond_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_B("Carrier", PROP_CARRIER, NMDeviceBond, _priv.carrier), NML_DBUS_META_PROPERTY_INIT_FCN("HwAddress", diff --git a/libnm/nm-device-bond.h b/libnm/nm-device-bond.h index c2935ee4..91c023a4 100644 --- a/libnm/nm-device-bond.h +++ b/libnm/nm-device-bond.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2012 Red Hat, Inc. */ diff --git a/libnm/nm-device-bridge.c b/libnm/nm-device-bridge.c index ef889d51..732c5a2c 100644 --- a/libnm/nm-device-bridge.c +++ b/libnm/nm-device-bridge.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2012 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-setting-bridge.h" @@ -149,7 +149,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_bridge = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_BRIDGE, nm_device_bridge_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_B("Carrier", PROP_CARRIER, NMDeviceBridge, _priv.carrier), NML_DBUS_META_PROPERTY_INIT_FCN("HwAddress", diff --git a/libnm/nm-device-bridge.h b/libnm/nm-device-bridge.h index cb367f0b..a6c50658 100644 --- a/libnm/nm-device-bridge.h +++ b/libnm/nm-device-bridge.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2012 Red Hat, Inc. */ diff --git a/libnm/nm-device-bt.c b/libnm/nm-device-bt.c index 960ac469..55f0a942 100644 --- a/libnm/nm-device-bt.c +++ b/libnm/nm-device-bt.c @@ -1,13 +1,15 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2012 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-bt.h" +#include + #include "nm-setting-connection.h" #include "nm-setting-bluetooth.h" #include "nm-utils.h" @@ -218,7 +220,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_bluetooth = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_BLUETOOTH, nm_device_bt_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_U("BtCapabilities", PROP_BT_CAPABILITIES, diff --git a/libnm/nm-device-bt.h b/libnm/nm-device-bt.h index a2558cd9..a7cfc796 100644 --- a/libnm/nm-device-bt.h +++ b/libnm/nm-device-bt.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2008 - 2012 Red Hat, Inc. * Copyright (C) 2008 Novell, Inc. diff --git a/libnm/nm-device-dummy.c b/libnm/nm-device-dummy.c index c5534a0e..6b928102 100644 --- a/libnm/nm-device-dummy.c +++ b/libnm/nm-device-dummy.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2017 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-dummy.h" @@ -93,7 +93,7 @@ nm_device_dummy_init(NMDeviceDummy *device) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_dummy = NML_DBUS_META_IFACE_INIT( NM_DBUS_INTERFACE_DEVICE_DUMMY, nm_device_dummy_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_FCN("HwAddress", 0, diff --git a/libnm/nm-device-dummy.h b/libnm/nm-device-dummy.h index 8da3390e..ad34b65e 100644 --- a/libnm/nm-device-dummy.h +++ b/libnm/nm-device-dummy.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2017 Red Hat, Inc. */ diff --git a/libnm/nm-device-ethernet.c b/libnm/nm-device-ethernet.c index f831abc4..b7173c80 100644 --- a/libnm/nm-device-ethernet.c +++ b/libnm/nm-device-ethernet.c @@ -1,18 +1,23 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2012 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-ethernet.h" +#include + +#include "nm-libnm-utils.h" #include "nm-setting-connection.h" #include "nm-setting-wired.h" #include "nm-setting-pppoe.h" +#include "nm-setting-veth.h" #include "nm-utils.h" #include "nm-object-private.h" +#include "nm-device-veth.h" /*****************************************************************************/ @@ -21,26 +26,17 @@ NM_GOBJECT_PROPERTIES_DEFINE_BASE(PROP_PERM_HW_ADDRESS, PROP_CARRIER, PROP_S390_SUBCHANNELS, ); -typedef struct { +typedef struct _NMDeviceEthernetPrivate { char ** s390_subchannels; char * perm_hw_address; guint32 speed; bool carrier; } NMDeviceEthernetPrivate; -struct _NMDeviceEthernet { - NMDevice parent; - NMDeviceEthernetPrivate _priv; -}; - -struct _NMDeviceEthernetClass { - NMDeviceClass parent; -}; - G_DEFINE_TYPE(NMDeviceEthernet, nm_device_ethernet, NM_TYPE_DEVICE) #define NM_DEVICE_ETHERNET_GET_PRIVATE(self) \ - _NM_GET_PRIVATE(self, NMDeviceEthernet, NM_IS_DEVICE_ETHERNET, NMObject, NMDevice) + _NM_GET_PRIVATE_PTR(self, NMDeviceEthernet, NM_IS_DEVICE_ETHERNET, NMObject) /*****************************************************************************/ @@ -181,9 +177,12 @@ connection_compatible(NMDevice *device, NMConnection *connection, GError **error ->connection_compatible(device, connection, error)) return FALSE; - if (nm_connection_is_type(connection, NM_SETTING_PPPOE_SETTING_NAME)) { + if (nm_connection_is_type(connection, NM_SETTING_PPPOE_SETTING_NAME) + || nm_connection_is_type(connection, NM_SETTING_WIRED_SETTING_NAME) + || (nm_connection_is_type(connection, NM_SETTING_VETH_SETTING_NAME) + && NM_IS_DEVICE_VETH(device))) { /* NOP */ - } else if (!nm_connection_is_type(connection, NM_SETTING_WIRED_SETTING_NAME)) { + } else { g_set_error_literal(error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_INCOMPATIBLE_CONNECTION, @@ -271,7 +270,13 @@ get_setting_type(NMDevice *device) static void nm_device_ethernet_init(NMDeviceEthernet *device) -{} +{ + NMDeviceEthernetPrivate *priv; + + priv = G_TYPE_INSTANCE_GET_PRIVATE(device, NM_TYPE_DEVICE_ETHERNET, NMDeviceEthernetPrivate); + + device->_priv = priv; +} static void finalize(GObject *object) @@ -309,38 +314,34 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) } } -/* TODO: implemented Veth. */ -const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_veth = NML_DBUS_META_IFACE_INIT( - NM_DBUS_INTERFACE_DEVICE_VETH, - NULL, - NML_DBUS_META_INTERFACE_PRIO_NONE, - NML_DBUS_META_IFACE_DBUS_PROPERTIES(NML_DBUS_META_PROPERTY_INIT_TODO("Peer", "o"), ), ); - const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_wired = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_WIRED, nm_device_ethernet_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_20, NML_DBUS_META_IFACE_DBUS_PROPERTIES( - NML_DBUS_META_PROPERTY_INIT_B("Carrier", PROP_CARRIER, NMDeviceEthernet, _priv.carrier), + NML_DBUS_META_PROPERTY_INIT_B("Carrier", PROP_CARRIER, NMDeviceEthernetPrivate, carrier), NML_DBUS_META_PROPERTY_INIT_FCN("HwAddress", 0, "s", _nm_device_notify_update_prop_hw_address), NML_DBUS_META_PROPERTY_INIT_S("PermHwAddress", PROP_PERM_HW_ADDRESS, - NMDeviceEthernet, - _priv.perm_hw_address), + NMDeviceEthernetPrivate, + perm_hw_address), NML_DBUS_META_PROPERTY_INIT_AS("S390Subchannels", PROP_S390_SUBCHANNELS, - NMDeviceEthernet, - _priv.s390_subchannels), - NML_DBUS_META_PROPERTY_INIT_U("Speed", PROP_SPEED, NMDeviceEthernet, _priv.speed), ), ); + NMDeviceEthernetPrivate, + s390_subchannels), + NML_DBUS_META_PROPERTY_INIT_U("Speed", PROP_SPEED, NMDeviceEthernetPrivate, speed), ), + .base_struct_offset = G_STRUCT_OFFSET(NMDeviceEthernet, _priv), ); static void -nm_device_ethernet_class_init(NMDeviceEthernetClass *eth_class) +nm_device_ethernet_class_init(NMDeviceEthernetClass *klass) { - GObjectClass * object_class = G_OBJECT_CLASS(eth_class); - NMDeviceClass *device_class = NM_DEVICE_CLASS(eth_class); + GObjectClass * object_class = G_OBJECT_CLASS(klass); + NMDeviceClass *device_class = NM_DEVICE_CLASS(klass); + + g_type_class_add_private(klass, sizeof(NMDeviceEthernetPrivate)); object_class->get_property = get_property; object_class->finalize = finalize; diff --git a/libnm/nm-device-ethernet.h b/libnm/nm-device-ethernet.h index f8dc32c2..877930e6 100644 --- a/libnm/nm-device-ethernet.h +++ b/libnm/nm-device-ethernet.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2012 Red Hat, Inc. diff --git a/libnm/nm-device-generic.c b/libnm/nm-device-generic.c index 9e2f543c..ebc73a7e 100644 --- a/libnm/nm-device-generic.c +++ b/libnm/nm-device-generic.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2013 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-generic.h" @@ -133,7 +133,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_generic = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_GENERIC, nm_device_generic_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_FCN("HwAddress", 0, diff --git a/libnm/nm-device-generic.h b/libnm/nm-device-generic.h index 115b520d..5c1f3084 100644 --- a/libnm/nm-device-generic.h +++ b/libnm/nm-device-generic.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2013 Red Hat, Inc. */ diff --git a/libnm/nm-device-infiniband.c b/libnm/nm-device-infiniband.c index bac15af7..820a4ab4 100644 --- a/libnm/nm-device-infiniband.c +++ b/libnm/nm-device-infiniband.c @@ -1,12 +1,14 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2011 - 2012 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-infiniband.h" +#include + #include "nm-setting-connection.h" #include "nm-setting-infiniband.h" #include "nm-utils.h" @@ -143,7 +145,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_infiniband = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_INFINIBAND, nm_device_infiniband_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_B("Carrier", PROP_CARRIER, NMDeviceInfiniband, _priv.carrier), NML_DBUS_META_PROPERTY_INIT_FCN("HwAddress", diff --git a/libnm/nm-device-infiniband.h b/libnm/nm-device-infiniband.h index 758a54a1..be9a26e5 100644 --- a/libnm/nm-device-infiniband.h +++ b/libnm/nm-device-infiniband.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2011 - 2012 Red Hat, Inc. */ diff --git a/libnm/nm-device-ip-tunnel.c b/libnm/nm-device-ip-tunnel.c index 84a1cdcd..a6d2ef4a 100644 --- a/libnm/nm-device-ip-tunnel.c +++ b/libnm/nm-device-ip-tunnel.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2015 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-ip-tunnel.h" @@ -346,7 +346,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_iptunnel = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_IP_TUNNEL, nm_device_ip_tunnel_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_Y("EncapsulationLimit", PROP_ENCAPSULATION_LIMIT, diff --git a/libnm/nm-device-ip-tunnel.h b/libnm/nm-device-ip-tunnel.h index 50b877b8..0d9c3e55 100644 --- a/libnm/nm-device-ip-tunnel.h +++ b/libnm/nm-device-ip-tunnel.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2015 Red Hat, Inc. */ diff --git a/libnm/nm-device-macsec.c b/libnm/nm-device-macsec.c index 78b68630..3d6e1d38 100644 --- a/libnm/nm-device-macsec.c +++ b/libnm/nm-device-macsec.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2017 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-macsec.h" @@ -387,7 +387,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_macsec = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_MACSEC, nm_device_macsec_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_T("CipherSuite", PROP_CIPHER_SUITE, diff --git a/libnm/nm-device-macsec.h b/libnm/nm-device-macsec.h index f33341c8..5a036601 100644 --- a/libnm/nm-device-macsec.h +++ b/libnm/nm-device-macsec.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2017 Red Hat, Inc. */ diff --git a/libnm/nm-device-macvlan.c b/libnm/nm-device-macvlan.c index ad5f8b95..773de990 100644 --- a/libnm/nm-device-macvlan.c +++ b/libnm/nm-device-macvlan.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2015 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-setting-macvlan.h" @@ -210,7 +210,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_macvlan = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_MACVLAN, nm_device_macvlan_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_S("Mode", PROP_MODE, NMDeviceMacvlan, _priv.mode), NML_DBUS_META_PROPERTY_INIT_B("NoPromisc", diff --git a/libnm/nm-device-macvlan.h b/libnm/nm-device-macvlan.h index 402cdd26..b8d27066 100644 --- a/libnm/nm-device-macvlan.h +++ b/libnm/nm-device-macvlan.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2015 Red Hat, Inc. */ diff --git a/libnm/nm-device-modem.c b/libnm/nm-device-modem.c index a4493dfe..51b49fea 100644 --- a/libnm/nm-device-modem.c +++ b/libnm/nm-device-modem.c @@ -1,10 +1,10 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2011 - 2012 Red Hat, Inc. * Copyright (C) 2008 Novell, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-modem.h" @@ -262,7 +262,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_modem = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_MODEM, nm_device_modem_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_S("Apn", PROP_APN, NMDeviceModem, _priv.apn), NML_DBUS_META_PROPERTY_INIT_U("CurrentCapabilities", diff --git a/libnm/nm-device-modem.h b/libnm/nm-device-modem.h index 80ecdc9e..eced137a 100644 --- a/libnm/nm-device-modem.h +++ b/libnm/nm-device-modem.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2011 - 2012 Red Hat, Inc. * Copyright (C) 2008 Novell, Inc. diff --git a/libnm/nm-device-olpc-mesh.c b/libnm/nm-device-olpc-mesh.c index a9bc85a6..697b3381 100644 --- a/libnm/nm-device-olpc-mesh.c +++ b/libnm/nm-device-olpc-mesh.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2012 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-olpc-mesh.h" @@ -139,7 +139,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_olpcmesh = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_OLPC_MESH, nm_device_olpc_mesh_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_U("ActiveChannel", PROP_ACTIVE_CHANNEL, diff --git a/libnm/nm-device-olpc-mesh.h b/libnm/nm-device-olpc-mesh.h index 28d2d618..d8b835fa 100644 --- a/libnm/nm-device-olpc-mesh.h +++ b/libnm/nm-device-olpc-mesh.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2012 Red Hat, Inc. */ diff --git a/libnm/nm-device-ovs-bridge.c b/libnm/nm-device-ovs-bridge.c index faad9b70..9c175548 100644 --- a/libnm/nm-device-ovs-bridge.c +++ b/libnm/nm-device-ovs-bridge.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2017, 2018 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-ovs-bridge.h" @@ -126,7 +126,7 @@ nm_device_ovs_bridge_init(NMDeviceOvsBridge *device) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_ovsbridge = NML_DBUS_META_IFACE_INIT_PROP(NM_DBUS_INTERFACE_DEVICE_OVS_BRIDGE, nm_device_ovs_bridge_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_AO_PROP("Slaves", PROP_SLAVES, diff --git a/libnm/nm-device-ovs-bridge.h b/libnm/nm-device-ovs-bridge.h index f0359961..50754e11 100644 --- a/libnm/nm-device-ovs-bridge.h +++ b/libnm/nm-device-ovs-bridge.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2017, 2018 Red Hat, Inc. */ diff --git a/libnm/nm-device-ovs-interface.c b/libnm/nm-device-ovs-interface.c index 7ed55c79..1c757a5b 100644 --- a/libnm/nm-device-ovs-interface.c +++ b/libnm/nm-device-ovs-interface.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2017 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-ovs-interface.h" @@ -76,7 +76,7 @@ nm_device_ovs_interface_init(NMDeviceOvsInterface *device) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_ovsinterface = NML_DBUS_META_IFACE_INIT(NM_DBUS_INTERFACE_DEVICE_OVS_INTERFACE, nm_device_ovs_interface_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, ); + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, ); static void nm_device_ovs_interface_class_init(NMDeviceOvsInterfaceClass *ovs_interface_class) diff --git a/libnm/nm-device-ovs-interface.h b/libnm/nm-device-ovs-interface.h index 719e91c1..6767ad4a 100644 --- a/libnm/nm-device-ovs-interface.h +++ b/libnm/nm-device-ovs-interface.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2017 Red Hat, Inc. */ diff --git a/libnm/nm-device-ovs-port.c b/libnm/nm-device-ovs-port.c index e96337db..1b3faa53 100644 --- a/libnm/nm-device-ovs-port.c +++ b/libnm/nm-device-ovs-port.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2017, 2018 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-ovs-port.h" @@ -126,7 +126,7 @@ nm_device_ovs_port_init(NMDeviceOvsPort *device) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_ovsport = NML_DBUS_META_IFACE_INIT_PROP(NM_DBUS_INTERFACE_DEVICE_OVS_PORT, nm_device_ovs_port_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_AO_PROP("Slaves", PROP_SLAVES, diff --git a/libnm/nm-device-ovs-port.h b/libnm/nm-device-ovs-port.h index b0fca9ab..1f69641b 100644 --- a/libnm/nm-device-ovs-port.h +++ b/libnm/nm-device-ovs-port.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2017, 2018 Red Hat, Inc. */ diff --git a/libnm/nm-device-ppp.c b/libnm/nm-device-ppp.c index fff2f7af..a1c1f741 100644 --- a/libnm/nm-device-ppp.c +++ b/libnm/nm-device-ppp.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2017 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-ppp.h" @@ -30,7 +30,7 @@ nm_device_ppp_init(NMDevicePpp *device) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_ppp = NML_DBUS_META_IFACE_INIT(NM_DBUS_INTERFACE_DEVICE_PPP, nm_device_ppp_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, ); + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, ); static void nm_device_ppp_class_init(NMDevicePppClass *klass) diff --git a/libnm/nm-device-ppp.h b/libnm/nm-device-ppp.h index 6e306057..7bd282d7 100644 --- a/libnm/nm-device-ppp.h +++ b/libnm/nm-device-ppp.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2017 Red Hat, Inc. */ diff --git a/libnm/nm-device-team.c b/libnm/nm-device-team.c index 9a1e9f1f..d76dd5c1 100644 --- a/libnm/nm-device-team.c +++ b/libnm/nm-device-team.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2013 Jiri Pirko */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-team.h" @@ -177,7 +177,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_team = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_TEAM, nm_device_team_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_B("Carrier", PROP_CARRIER, NMDeviceTeam, _priv.carrier), NML_DBUS_META_PROPERTY_INIT_S("Config", PROP_CONFIG, NMDeviceTeam, _priv.config), diff --git a/libnm/nm-device-team.h b/libnm/nm-device-team.h index 03d8e55b..921353b6 100644 --- a/libnm/nm-device-team.h +++ b/libnm/nm-device-team.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2013 Jiri Pirko */ diff --git a/libnm/nm-device-tun.c b/libnm/nm-device-tun.c index 35f939ef..0445da9a 100644 --- a/libnm/nm-device-tun.c +++ b/libnm/nm-device-tun.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2015 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-tun.h" @@ -275,7 +275,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_tun = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_TUN, nm_device_tun_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_X("Group", PROP_GROUP, NMDeviceTun, _priv.group), NML_DBUS_META_PROPERTY_INIT_FCN("HwAddress", diff --git a/libnm/nm-device-tun.h b/libnm/nm-device-tun.h index ac668b07..ee7342de 100644 --- a/libnm/nm-device-tun.h +++ b/libnm/nm-device-tun.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2015 Red Hat, Inc. */ diff --git a/libnm/nm-device-veth.c b/libnm/nm-device-veth.c new file mode 100644 index 00000000..9a9f7680 --- /dev/null +++ b/libnm/nm-device-veth.c @@ -0,0 +1,124 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Copyright (C) 2020 Red Hat, Inc. + */ + +#include "libnm/nm-default-libnm.h" + +#include "nm-device-veth.h" + +#include "nm-setting-connection.h" +#include "nm-setting-veth.h" +#include "nm-setting-wired.h" +#include "nm-utils.h" +#include "nm-device-ethernet.h" +#include "nm-object-private.h" + +/*****************************************************************************/ + +NM_GOBJECT_PROPERTIES_DEFINE_BASE(PROP_PEER, ); + +typedef struct { + NMLDBusPropertyO peer; +} NMDeviceVethPrivate; + +struct _NMDeviceVeth { + NMDeviceEthernet parent; + NMDeviceVethPrivate _priv; +}; + +struct _NMDeviceVethClass { + NMDeviceEthernetClass parent; +}; + +G_DEFINE_TYPE(NMDeviceVeth, nm_device_veth, NM_TYPE_DEVICE_ETHERNET) + +#define NM_DEVICE_VETH_GET_PRIVATE(self) \ + _NM_GET_PRIVATE(self, NMDeviceVeth, NM_IS_DEVICE_VETH, NMObject, NMDevice) + +/*****************************************************************************/ + +/** + * nm_device_veth_get_peer: + * @device: a #NMDeviceVeth + * + * Returns: (transfer none): the device's peer device + * + * Since: 1.30 + **/ +NMDevice * +nm_device_veth_get_peer(NMDeviceVeth *device) +{ + g_return_val_if_fail(NM_IS_DEVICE_VETH(device), FALSE); + + return nml_dbus_property_o_get_obj(&NM_DEVICE_VETH_GET_PRIVATE(device)->peer); +} + +static GType +get_setting_type(NMDevice *device) +{ + return NM_TYPE_SETTING_VETH; +} + +/*****************************************************************************/ + +static void +get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) +{ + NMDeviceVeth *device = NM_DEVICE_VETH(object); + + switch (prop_id) { + case PROP_PEER: + g_value_set_object(value, nm_device_veth_get_peer(device)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); + break; + } +} + +static void +nm_device_veth_init(NMDeviceVeth *device) +{} + +const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_veth = + NML_DBUS_META_IFACE_INIT_PROP(NM_DBUS_INTERFACE_DEVICE_VETH, + nm_device_veth_get_type, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, + NML_DBUS_META_IFACE_DBUS_PROPERTIES( + NML_DBUS_META_PROPERTY_INIT_O_PROP("Peer", + PROP_PEER, + NMDeviceVeth, + _priv.peer, + nm_device_get_type), ), ); + +static void +nm_device_veth_class_init(NMDeviceVethClass *klass) +{ + GObjectClass * object_class = G_OBJECT_CLASS(klass); + NMObjectClass *nm_object_class = NM_OBJECT_CLASS(klass); + NMDeviceClass *device_class = NM_DEVICE_CLASS(klass); + + object_class->get_property = get_property; + + _NM_OBJECT_CLASS_INIT_PRIV_PTR_DIRECT(nm_object_class, NMDeviceVeth); + + _NM_OBJECT_CLASS_INIT_PROPERTY_O_FIELDS_1(nm_object_class, NMDeviceVethPrivate, peer); + + device_class->get_setting_type = get_setting_type; + + /** + * NMDeviceVeth:peer: + * + * The device's peer device. + * + * Since: 1.30 + **/ + obj_properties[PROP_PEER] = g_param_spec_object(NM_DEVICE_VETH_PEER, + "", + "", + NM_TYPE_DEVICE, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + + _nml_dbus_meta_class_init_with_properties(object_class, &_nml_dbus_meta_iface_nm_device_veth); +} diff --git a/libnm/nm-device-veth.h b/libnm/nm-device-veth.h new file mode 100644 index 00000000..689762a7 --- /dev/null +++ b/libnm/nm-device-veth.h @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Copyright (C) 2020 Red Hat, Inc. + */ + +#ifndef __NM_DEVICE_VETH_H__ +#define __NM_DEVICE_VETH_H__ + +#if !defined(__NETWORKMANAGER_H_INSIDE__) && !defined(NETWORKMANAGER_COMPILATION) + #error "Only can be included directly." +#endif + +#include "nm-device.h" + +G_BEGIN_DECLS + +#define NM_TYPE_DEVICE_VETH (nm_device_veth_get_type()) +#define NM_DEVICE_VETH(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_DEVICE_VETH, NMDeviceVeth)) +#define NM_DEVICE_VETH_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_DEVICE_VETH, NMDeviceVethClass)) +#define NM_IS_DEVICE_VETH(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_DEVICE_VETH)) +#define NM_IS_DEVICE_VETH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_DEVICE_VETH)) +#define NM_DEVICE_VETH_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_DEVICE_VETH, NMDeviceVethClass)) + +#define NM_DEVICE_VETH_PEER "peer" + +/** + * NMDeviceVeth: + */ +typedef struct _NMDeviceVethClass NMDeviceVethClass; + +NM_AVAILABLE_IN_1_30 +GType nm_device_veth_get_type(void); + +NM_AVAILABLE_IN_1_30 +NMDevice *nm_device_veth_get_peer(NMDeviceVeth *device); + +G_END_DECLS + +#endif /* __NM_DEVICE_VETH_H__ */ diff --git a/libnm/nm-device-vlan.c b/libnm/nm-device-vlan.c index 07ea02f7..e7419b23 100644 --- a/libnm/nm-device-vlan.c +++ b/libnm/nm-device-vlan.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2012 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-vlan.h" @@ -188,7 +188,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_vlan = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_VLAN, nm_device_vlan_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_B("Carrier", PROP_CARRIER, NMDeviceVlan, _priv.carrier), NML_DBUS_META_PROPERTY_INIT_FCN("HwAddress", diff --git a/libnm/nm-device-vlan.h b/libnm/nm-device-vlan.h index 30dbbcc3..81430509 100644 --- a/libnm/nm-device-vlan.h +++ b/libnm/nm-device-vlan.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2012 - 2014 Red Hat, Inc. */ diff --git a/libnm/nm-device-vrf.c b/libnm/nm-device-vrf.c index 0c00c525..73f27707 100644 --- a/libnm/nm-device-vrf.c +++ b/libnm/nm-device-vrf.c @@ -1,6 +1,6 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-vrf.h" @@ -108,7 +108,7 @@ nm_device_vrf_init(NMDeviceVrf *device) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_vrf = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_VRF, nm_device_vrf_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_U("Table", PROP_TABLE, NMDeviceVrf, _priv.table), ), ); diff --git a/libnm/nm-device-vrf.h b/libnm/nm-device-vrf.h index f52625ca..f835dd2f 100644 --- a/libnm/nm-device-vrf.h +++ b/libnm/nm-device-vrf.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #ifndef __NM_DEVICE_VRF_H__ #define __NM_DEVICE_VRF_H__ diff --git a/libnm/nm-device-vxlan.c b/libnm/nm-device-vxlan.c index d4a0e2c0..36d95f91 100644 --- a/libnm/nm-device-vxlan.c +++ b/libnm/nm-device-vxlan.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2015 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-vxlan.h" @@ -486,7 +486,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_vxlan = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_VXLAN, nm_device_vxlan_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_U("Ageing", PROP_AGEING, NMDeviceVxlan, _priv.ageing), NML_DBUS_META_PROPERTY_INIT_Q("DstPort", PROP_DST_PORT, NMDeviceVxlan, _priv.dst_port), diff --git a/libnm/nm-device-vxlan.h b/libnm/nm-device-vxlan.h index 70ab1ac6..9ef5eb2d 100644 --- a/libnm/nm-device-vxlan.h +++ b/libnm/nm-device-vxlan.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2015 Red Hat, Inc. */ diff --git a/libnm/nm-device-wifi-p2p.c b/libnm/nm-device-wifi-p2p.c index dcf5f3e5..019bf1cf 100644 --- a/libnm/nm-device-wifi-p2p.c +++ b/libnm/nm-device-wifi-p2p.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2018 - 2019 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-wifi-p2p.h" @@ -325,7 +325,7 @@ nm_device_wifi_p2p_init(NMDeviceWifiP2P *device) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_wifip2p = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_WIFI_P2P, nm_device_wifi_p2p_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_FCN("HwAddress", 0, diff --git a/libnm/nm-device-wifi-p2p.h b/libnm/nm-device-wifi-p2p.h index defa88e0..374ef4bd 100644 --- a/libnm/nm-device-wifi-p2p.h +++ b/libnm/nm-device-wifi-p2p.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2018 - 2019 Red Hat, Inc. */ diff --git a/libnm/nm-device-wifi.c b/libnm/nm-device-wifi.c index a84492f2..90e4a302 100644 --- a/libnm/nm-device-wifi.c +++ b/libnm/nm-device-wifi.c @@ -1,13 +1,15 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2014 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-wifi.h" +#include + #include "nm-glib-aux/nm-dbus-aux.h" #include "nm-setting-connection.h" #include "nm-setting-wireless.h" @@ -496,7 +498,8 @@ connection_compatible(NMDevice *device, NMConnection *connection, GError **error if (s_wsec) { /* Connection has security, verify it against the device's capabilities */ key_mgmt = nm_setting_wireless_security_get_key_mgmt(s_wsec); - if (!g_strcmp0(key_mgmt, "wpa-psk") || !g_strcmp0(key_mgmt, "wpa-eap")) { + if (nm_streq(key_mgmt, "wpa-psk") || nm_streq(key_mgmt, "wpa-eap") + || nm_streq(key_mgmt, "wpa-eap-suite-b-192")) { wifi_caps = nm_device_wifi_get_capabilities(NM_DEVICE_WIFI(device)); /* Is device only WEP capable? */ @@ -604,7 +607,7 @@ finalize(GObject *object) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_wireless = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_WIRELESS, nm_device_wifi_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_AO_PROP("AccessPoints", PROP_ACCESS_POINTS, diff --git a/libnm/nm-device-wifi.h b/libnm/nm-device-wifi.h index f738d649..bf712bbc 100644 --- a/libnm/nm-device-wifi.h +++ b/libnm/nm-device-wifi.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2012 Red Hat, Inc. diff --git a/libnm/nm-device-wimax.c b/libnm/nm-device-wimax.c index c1a1a9ba..9b42354c 100644 --- a/libnm/nm-device-wimax.c +++ b/libnm/nm-device-wimax.c @@ -1,10 +1,10 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2011 - 2012 Red Hat, Inc. * Copyright (C) 2009 Novell, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-wimax.h" diff --git a/libnm/nm-device-wimax.h b/libnm/nm-device-wimax.h index 652dc73a..8a0fd901 100644 --- a/libnm/nm-device-wimax.h +++ b/libnm/nm-device-wimax.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2011 - 2012 Red Hat, Inc. * Copyright (C) 2009 Novell, Inc. diff --git a/libnm/nm-device-wireguard.c b/libnm/nm-device-wireguard.c index 43febf4c..a4baec4f 100644 --- a/libnm/nm-device-wireguard.c +++ b/libnm/nm-device-wireguard.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2018 Javier Arteaga */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-wireguard.h" @@ -131,7 +131,7 @@ finalize(GObject *object) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_wireguard = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DEVICE_WIREGUARD, nm_device_wireguard_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_U("FwMark", PROP_FWMARK, NMDeviceWireGuard, _priv.fwmark), NML_DBUS_META_PROPERTY_INIT_Q("ListenPort", diff --git a/libnm/nm-device-wireguard.h b/libnm/nm-device-wireguard.h index 8fffd923..f54695ee 100644 --- a/libnm/nm-device-wireguard.h +++ b/libnm/nm-device-wireguard.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2018 Javier Arteaga */ diff --git a/libnm/nm-device-wpan.c b/libnm/nm-device-wpan.c index 83597c62..7218a8c6 100644 --- a/libnm/nm-device-wpan.c +++ b/libnm/nm-device-wpan.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2018 Lubomir Rintel */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device-wpan.h" @@ -76,7 +76,7 @@ nm_device_wpan_init(NMDeviceWpan *device) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_device_wpan = NML_DBUS_META_IFACE_INIT( NM_DBUS_INTERFACE_DEVICE_WPAN, nm_device_wpan_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_FCN("HwAddress", 0, diff --git a/libnm/nm-device-wpan.h b/libnm/nm-device-wpan.h index d5c57c19..7d50fd9e 100644 --- a/libnm/nm-device-wpan.h +++ b/libnm/nm-device-wpan.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2018 Lubomir Rintel */ diff --git a/libnm/nm-device.c b/libnm/nm-device.c index 9e7eb6ba..9cb88dae 100644 --- a/libnm/nm-device.c +++ b/libnm/nm-device.c @@ -1,10 +1,10 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2018 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-device.h" @@ -1223,8 +1223,11 @@ nm_device_get_type_description(NMDevice *device) } typename = G_OBJECT_TYPE_NAME(device); - if (g_str_has_prefix(typename, "NMDevice")) + if (g_str_has_prefix(typename, "NMDevice")) { typename += 8; + if (nm_streq(typename, "Veth")) + typename = "Ethernet"; + } priv->type_description = g_ascii_strdown(typename, -1); return _nml_coerce_property_str_not_empty(priv->type_description); @@ -2814,6 +2817,10 @@ nm_device_connection_compatible(NMDevice *device, NMConnection *connection, GErr * Returns: (transfer full) (element-type NMConnection): an array of * #NMConnections that could be activated with the given @device. The array * should be freed with g_ptr_array_unref() when it is no longer required. + * + * WARNING: the transfer annotation for this function may not work correctly + * with bindings. See https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/305. + * You can filter the list yourself with nm_device_connection_valid(). **/ GPtrArray * nm_device_filter_connections(NMDevice *device, const GPtrArray *connections) diff --git a/libnm/nm-device.h b/libnm/nm-device.h index 28b59a5f..0ee2c93b 100644 --- a/libnm/nm-device.h +++ b/libnm/nm-device.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2013 Red Hat, Inc. diff --git a/libnm/nm-dhcp-config.c b/libnm/nm-dhcp-config.c index 1b8a8d15..ec7da6de 100644 --- a/libnm/nm-dhcp-config.c +++ b/libnm/nm-dhcp-config.c @@ -1,10 +1,10 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2008 - 2014 Red Hat, Inc. * Copyright (C) 2008 Novell, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-dhcp-config.h" @@ -102,7 +102,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_dhcp4config = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DHCP4_CONFIG, nm_dhcp4_config_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_FCN("Options", PROP_OPTIONS, @@ -113,7 +113,7 @@ const NMLDBusMetaIface _nml_dbus_meta_iface_nm_dhcp4config = NML_DBUS_META_IFACE const NMLDBusMetaIface _nml_dbus_meta_iface_nm_dhcp6config = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_DHCP6_CONFIG, nm_dhcp6_config_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_FCN("Options", PROP_OPTIONS, diff --git a/libnm/nm-dhcp-config.h b/libnm/nm-dhcp-config.h index 9e6a09d4..7663fb9a 100644 --- a/libnm/nm-dhcp-config.h +++ b/libnm/nm-dhcp-config.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2008 Red Hat, Inc. * Copyright (C) 2008 Novell, Inc. diff --git a/libnm/nm-dhcp4-config.c b/libnm/nm-dhcp4-config.c index d5ad7edf..25219d45 100644 --- a/libnm/nm-dhcp4-config.c +++ b/libnm/nm-dhcp4-config.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2014 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-dhcp4-config.h" diff --git a/libnm/nm-dhcp4-config.h b/libnm/nm-dhcp4-config.h index 6a3c6597..d0ea2b46 100644 --- a/libnm/nm-dhcp4-config.h +++ b/libnm/nm-dhcp4-config.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2014 Red Hat, Inc. */ diff --git a/libnm/nm-dhcp6-config.c b/libnm/nm-dhcp6-config.c index 63a42832..2574b36c 100644 --- a/libnm/nm-dhcp6-config.c +++ b/libnm/nm-dhcp6-config.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2014 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-dhcp6-config.h" diff --git a/libnm/nm-dhcp6-config.h b/libnm/nm-dhcp6-config.h index 66ad7081..253594e6 100644 --- a/libnm/nm-dhcp6-config.h +++ b/libnm/nm-dhcp6-config.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2014 Red Hat, Inc. */ diff --git a/libnm/nm-dns-manager.c b/libnm/nm-dns-manager.c index ce55bb7f..6261c71a 100644 --- a/libnm/nm-dns-manager.c +++ b/libnm/nm-dns-manager.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2016 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-dns-manager.h" diff --git a/libnm/nm-dns-manager.h b/libnm/nm-dns-manager.h index ee863916..8053b243 100644 --- a/libnm/nm-dns-manager.h +++ b/libnm/nm-dns-manager.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2016 Red Hat, Inc. */ diff --git a/libnm/nm-enum-types.c.template b/libnm/nm-enum-types.c.template deleted file mode 100644 index 5abd5c79..00000000 --- a/libnm/nm-enum-types.c.template +++ /dev/null @@ -1,76 +0,0 @@ -/*** BEGIN file-header ***/ -#include "config.h" - -#include "nm-enum-types.h" -#include "nm-default.h" - -#include "nm-version-macros.h" -#include "NetworkManager.h" -#include "nm-access-point.h" -#include "nm-active-connection.h" -#include "nm-checkpoint.h" -#include "nm-client.h" -#include "nm-device-adsl.h" -#include "nm-device-bond.h" -#include "nm-device-bridge.h" -#include "nm-device-bt.h" -#include "nm-device-dummy.h" -#include "nm-device-ethernet.h" -#include "nm-device-generic.h" -#include "nm-device-infiniband.h" -#include "nm-device-ip-tunnel.h" -#include "nm-device-macsec.h" -#include "nm-device-macvlan.h" -#include "nm-device-modem.h" -#include "nm-device-olpc-mesh.h" -#include "nm-device-ovs-interface.h" -#include "nm-device-ovs-port.h" -#include "nm-device-ovs-bridge.h" -#include "nm-device-ppp.h" -#include "nm-device-team.h" -#include "nm-device-tun.h" -#include "nm-device-vlan.h" -#include "nm-device-vxlan.h" -#include "nm-device-wifi.h" -#include "nm-device-wimax.h" -#include "nm-device.h" -#include "nm-dhcp-config.h" -#include "nm-ip-config.h" -#include "nm-object.h" -#include "nm-remote-connection.h" -#include "nm-types.h" -#include "nm-vpn-connection.h" -#include "nm-vpn-editor.h" -#include "nm-wimax-nsp.h" -#include "nm-secret-agent-old.h" -#include "nm-vpn-plugin-old.h" -#include "nm-vpn-service-plugin.h" -/*** END file-header ***/ - -/*** BEGIN value-header ***/ -GType -@enum_name@_get_type (void) -{ - static volatile gsize g_define_type_id__volatile = 0; - - if (g_once_init_enter (&g_define_type_id__volatile)) - { - static const G@Type@Value values[] = { -/*** END value-header ***/ - -/*** BEGIN value-production ***/ - { @VALUENAME@, "@VALUENAME@", "@valuenick@" }, -/*** END value-production ***/ - -/*** BEGIN value-tail ***/ - { 0, NULL, NULL } - }; - GType g_define_type_id = - g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); - } - - return g_define_type_id__volatile; -} - -/*** END value-tail ***/ diff --git a/libnm/nm-enum-types.h.template b/libnm/nm-enum-types.h.template deleted file mode 100644 index bd9ce40b..00000000 --- a/libnm/nm-enum-types.h.template +++ /dev/null @@ -1,22 +0,0 @@ -/*** BEGIN file-header ***/ -#ifndef __NM_ENUM_TYPES_H__ -#define __NM_ENUM_TYPES_H__ - -#include -#include - -G_BEGIN_DECLS - -/*** END file-header ***/ - -/*** BEGIN enumeration-production ***/ -GType @enum_name@_get_type (void) G_GNUC_CONST; -#define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type ()) - -/*** END enumeration-production ***/ - -/*** BEGIN file-tail ***/ -G_END_DECLS - -#endif /* __NM_ENUM_TYPES_H__ */ -/*** END file-tail ***/ diff --git a/libnm/nm-ethtool-utils.h b/libnm/nm-ethtool-utils.h new file mode 100644 index 00000000..d422724b --- /dev/null +++ b/libnm/nm-ethtool-utils.h @@ -0,0 +1,107 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Copyright (C) 2018 Red Hat, Inc. + */ + +#ifndef __NM_ETHTOOL_UTILS_H__ +#define __NM_ETHTOOL_UTILS_H__ + +G_BEGIN_DECLS + +/*****************************************************************************/ + +#define NM_ETHTOOL_OPTNAME_FEATURE_ESP_HW_OFFLOAD "feature-esp-hw-offload" +#define NM_ETHTOOL_OPTNAME_FEATURE_ESP_TX_CSUM_HW_OFFLOAD "feature-esp-tx-csum-hw-offload" +#define NM_ETHTOOL_OPTNAME_FEATURE_FCOE_MTU "feature-fcoe-mtu" +#define NM_ETHTOOL_OPTNAME_FEATURE_GRO "feature-gro" +#define NM_ETHTOOL_OPTNAME_FEATURE_GSO "feature-gso" +#define NM_ETHTOOL_OPTNAME_FEATURE_HIGHDMA "feature-highdma" +#define NM_ETHTOOL_OPTNAME_FEATURE_HW_TC_OFFLOAD "feature-hw-tc-offload" +#define NM_ETHTOOL_OPTNAME_FEATURE_L2_FWD_OFFLOAD "feature-l2-fwd-offload" +#define NM_ETHTOOL_OPTNAME_FEATURE_LOOPBACK "feature-loopback" +#define NM_ETHTOOL_OPTNAME_FEATURE_LRO "feature-lro" +#define NM_ETHTOOL_OPTNAME_FEATURE_MACSEC_HW_OFFLOAD "feature-macsec-hw-offload" +#define NM_ETHTOOL_OPTNAME_FEATURE_NTUPLE "feature-ntuple" +#define NM_ETHTOOL_OPTNAME_FEATURE_RX "feature-rx" +#define NM_ETHTOOL_OPTNAME_FEATURE_RXHASH "feature-rxhash" +#define NM_ETHTOOL_OPTNAME_FEATURE_RXVLAN "feature-rxvlan" +#define NM_ETHTOOL_OPTNAME_FEATURE_RX_ALL "feature-rx-all" +#define NM_ETHTOOL_OPTNAME_FEATURE_RX_FCS "feature-rx-fcs" +#define NM_ETHTOOL_OPTNAME_FEATURE_RX_GRO_HW "feature-rx-gro-hw" +#define NM_ETHTOOL_OPTNAME_FEATURE_RX_GRO_LIST "feature-rx-gro-list" +#define NM_ETHTOOL_OPTNAME_FEATURE_RX_UDP_GRO_FORWARDING "feature-rx-udp-gro-forwarding" +#define NM_ETHTOOL_OPTNAME_FEATURE_RX_UDP_TUNNEL_PORT_OFFLOAD "feature-rx-udp_tunnel-port-offload" +#define NM_ETHTOOL_OPTNAME_FEATURE_RX_VLAN_FILTER "feature-rx-vlan-filter" +#define NM_ETHTOOL_OPTNAME_FEATURE_RX_VLAN_STAG_FILTER "feature-rx-vlan-stag-filter" +#define NM_ETHTOOL_OPTNAME_FEATURE_RX_VLAN_STAG_HW_PARSE "feature-rx-vlan-stag-hw-parse" +#define NM_ETHTOOL_OPTNAME_FEATURE_SG "feature-sg" +#define NM_ETHTOOL_OPTNAME_FEATURE_TLS_HW_RECORD "feature-tls-hw-record" +#define NM_ETHTOOL_OPTNAME_FEATURE_TLS_HW_RX_OFFLOAD "feature-tls-hw-rx-offload" +#define NM_ETHTOOL_OPTNAME_FEATURE_TLS_HW_TX_OFFLOAD "feature-tls-hw-tx-offload" +#define NM_ETHTOOL_OPTNAME_FEATURE_TSO "feature-tso" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX "feature-tx" +#define NM_ETHTOOL_OPTNAME_FEATURE_TXVLAN "feature-txvlan" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_FCOE_CRC "feature-tx-checksum-fcoe-crc" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_IPV4 "feature-tx-checksum-ipv4" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_IPV6 "feature-tx-checksum-ipv6" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_IP_GENERIC "feature-tx-checksum-ip-generic" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_SCTP "feature-tx-checksum-sctp" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_ESP_SEGMENTATION "feature-tx-esp-segmentation" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_FCOE_SEGMENTATION "feature-tx-fcoe-segmentation" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_GRE_CSUM_SEGMENTATION "feature-tx-gre-csum-segmentation" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_GRE_SEGMENTATION "feature-tx-gre-segmentation" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_GSO_LIST "feature-tx-gso-list" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_GSO_PARTIAL "feature-tx-gso-partial" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_GSO_ROBUST "feature-tx-gso-robust" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_IPXIP4_SEGMENTATION "feature-tx-ipxip4-segmentation" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_IPXIP6_SEGMENTATION "feature-tx-ipxip6-segmentation" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_NOCACHE_COPY "feature-tx-nocache-copy" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_SCATTER_GATHER "feature-tx-scatter-gather" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_SCATTER_GATHER_FRAGLIST "feature-tx-scatter-gather-fraglist" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_SCTP_SEGMENTATION "feature-tx-sctp-segmentation" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP6_SEGMENTATION "feature-tx-tcp6-segmentation" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP_ECN_SEGMENTATION "feature-tx-tcp-ecn-segmentation" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP_MANGLEID_SEGMENTATION \ + "feature-tx-tcp-mangleid-segmentation" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP_SEGMENTATION "feature-tx-tcp-segmentation" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_TUNNEL_REMCSUM_SEGMENTATION \ + "feature-tx-tunnel-remcsum-segmentation" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_SEGMENTATION "feature-tx-udp-segmentation" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_TNL_CSUM_SEGMENTATION \ + "feature-tx-udp_tnl-csum-segmentation" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_TNL_SEGMENTATION "feature-tx-udp_tnl-segmentation" +#define NM_ETHTOOL_OPTNAME_FEATURE_TX_VLAN_STAG_HW_INSERT "feature-tx-vlan-stag-hw-insert" + +#define NM_ETHTOOL_OPTNAME_COALESCE_ADAPTIVE_RX "coalesce-adaptive-rx" +#define NM_ETHTOOL_OPTNAME_COALESCE_ADAPTIVE_TX "coalesce-adaptive-tx" +#define NM_ETHTOOL_OPTNAME_COALESCE_PKT_RATE_HIGH "coalesce-pkt-rate-high" +#define NM_ETHTOOL_OPTNAME_COALESCE_PKT_RATE_LOW "coalesce-pkt-rate-low" +#define NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES "coalesce-rx-frames" +#define NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES_HIGH "coalesce-rx-frames-high" +#define NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES_IRQ "coalesce-rx-frames-irq" +#define NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES_LOW "coalesce-rx-frames-low" +#define NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS "coalesce-rx-usecs" +#define NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS_HIGH "coalesce-rx-usecs-high" +#define NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS_IRQ "coalesce-rx-usecs-irq" +#define NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS_LOW "coalesce-rx-usecs-low" +#define NM_ETHTOOL_OPTNAME_COALESCE_SAMPLE_INTERVAL "coalesce-sample-interval" +#define NM_ETHTOOL_OPTNAME_COALESCE_STATS_BLOCK_USECS "coalesce-stats-block-usecs" +#define NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES "coalesce-tx-frames" +#define NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES_HIGH "coalesce-tx-frames-high" +#define NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES_IRQ "coalesce-tx-frames-irq" +#define NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES_LOW "coalesce-tx-frames-low" +#define NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS "coalesce-tx-usecs" +#define NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS_HIGH "coalesce-tx-usecs-high" +#define NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS_IRQ "coalesce-tx-usecs-irq" +#define NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS_LOW "coalesce-tx-usecs-low" + +#define NM_ETHTOOL_OPTNAME_RING_RX "ring-rx" +#define NM_ETHTOOL_OPTNAME_RING_RX_JUMBO "ring-rx-jumbo" +#define NM_ETHTOOL_OPTNAME_RING_RX_MINI "ring-rx-mini" +#define NM_ETHTOOL_OPTNAME_RING_TX "ring-tx" + +/*****************************************************************************/ + +G_END_DECLS + +#endif /* __NM_ETHTOOL_UTILS_H__ */ diff --git a/libnm/nm-ip-config.c b/libnm/nm-ip-config.c index 5877e212..1663c622 100644 --- a/libnm/nm-ip-config.c +++ b/libnm/nm-ip-config.c @@ -1,10 +1,10 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2011 Novell, Inc. * Copyright (C) 2008 - 2014 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-ip-config.h" @@ -316,7 +316,7 @@ finalize(GObject *object) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_ip4config = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_IP4_CONFIG, nm_ip4_config_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_FCN("AddressData", PROP_ADDRESSES, @@ -364,7 +364,7 @@ const NMLDBusMetaIface _nml_dbus_meta_iface_nm_ip4config = NML_DBUS_META_IFACE_I const NMLDBusMetaIface _nml_dbus_meta_iface_nm_ip6config = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_IP6_CONFIG, nm_ip6_config_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_FCN("AddressData", PROP_ADDRESSES, diff --git a/libnm/nm-ip-config.h b/libnm/nm-ip-config.h index 165bcf94..bdfebb6a 100644 --- a/libnm/nm-ip-config.h +++ b/libnm/nm-ip-config.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2008 - 2014 Red Hat, Inc. diff --git a/libnm/nm-ip4-config.c b/libnm/nm-ip4-config.c index 0a2df31a..6c4a4ab3 100644 --- a/libnm/nm-ip4-config.c +++ b/libnm/nm-ip4-config.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2014 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-ip4-config.h" diff --git a/libnm/nm-ip4-config.h b/libnm/nm-ip4-config.h index 9c7ece38..b9297dc0 100644 --- a/libnm/nm-ip4-config.h +++ b/libnm/nm-ip4-config.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2008 Red Hat, Inc. diff --git a/libnm/nm-ip6-config.c b/libnm/nm-ip6-config.c index cc0a123b..19c869c6 100644 --- a/libnm/nm-ip6-config.c +++ b/libnm/nm-ip6-config.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2014 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-ip6-config.h" diff --git a/libnm/nm-ip6-config.h b/libnm/nm-ip6-config.h index 57087e6a..0c7c2a9f 100644 --- a/libnm/nm-ip6-config.h +++ b/libnm/nm-ip6-config.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2008 - 2014 Red Hat, Inc. diff --git a/libnm/nm-libnm-aux/nm-libnm-aux.c b/libnm/nm-libnm-aux/nm-libnm-aux.c index fca34214..2b8d2c2e 100644 --- a/libnm/nm-libnm-aux/nm-libnm-aux.c +++ b/libnm/nm-libnm-aux/nm-libnm-aux.c @@ -1,6 +1,6 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include "nm-default.h" +#include "libnm/nm-default-client.h" #include "nm-libnm-aux.h" diff --git a/libnm/nm-libnm-aux/nm-libnm-aux.h b/libnm/nm-libnm-aux/nm-libnm-aux.h index 0ae5a279..c982eab7 100644 --- a/libnm/nm-libnm-aux/nm-libnm-aux.h +++ b/libnm/nm-libnm-aux/nm-libnm-aux.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #ifndef __NM_LIBNM_AUX_H__ #define __NM_LIBNM_AUX_H__ diff --git a/libnm/nm-libnm-utils.c b/libnm/nm-libnm-utils.c index 9c27f64d..1fb6a47c 100644 --- a/libnm/nm-libnm-utils.c +++ b/libnm/nm-libnm-utils.c @@ -1,10 +1,10 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2018 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-libnm-utils.h" @@ -869,3 +869,42 @@ nm_utils_g_param_spec_is_default(const GParamSpec *pspec) * strictly asserts and only support argument types that we expect. */ g_return_val_if_reached(FALSE); } + +/*****************************************************************************/ + +/** + * nm_utils_print: + * @output_mode: if 1 it uses g_print(). If 2, it uses g_printerr(). + * If 0, it uses either g_print() or g_printerr(), depending + * on LIBNM_CLIENT_DEBUG (and the "stdout" flag). + * @msg: the message to print. The function does not append + * a trailing newline. + * + * The only purpose of this function is to give access to g_print() + * or g_printerr() from pygobject. libnm can do debug logging by + * setting LIBNM_CLIENT_DEBUG and uses thereby g_printerr() or + * g_print(). A plain "print()" function in python is not in sync + * with these functions (it implements additional buffering). By + * using nm_utils_print(), the same logging mechanisms can be used. + * + * Since: 1.30 + */ +void +nm_utils_print(int output_mode, const char *msg) +{ + gboolean use_stdout; + + g_return_if_fail(msg); + + if (output_mode == 0) { + nml_dbus_log_enabled_full(NML_DBUS_LOG_LEVEL_ANY, &use_stdout); + output_mode = use_stdout ? 1 : 2; + } + + if (output_mode == 1) + g_print("%s", msg); + else if (output_mode == 2) + g_printerr("%s", msg); + else + g_return_if_reached(); +} diff --git a/libnm/nm-libnm-utils.h b/libnm/nm-libnm-utils.h index 9582e1d8..7b9f0e6b 100644 --- a/libnm/nm-libnm-utils.h +++ b/libnm/nm-libnm-utils.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2017, 2018 Red Hat, Inc. */ @@ -7,6 +7,7 @@ #define __NM_LIBNM_UTILS_H__ #include "c-list/src/c-list.h" +#include "nm-device.h" #include "nm-glib-aux/nm-ref-string.h" #include "nm-glib-aux/nm-logging-fwd.h" #include "nm-types.h" @@ -220,11 +221,12 @@ typedef enum { /* See comments below for NMLDBusMetaIface.interface_prio. * * Higher numbers means more important to detect the GObject type. */ - NML_DBUS_META_INTERFACE_PRIO_NONE = 0, - NML_DBUS_META_INTERFACE_PRIO_NMCLIENT = 1, - NML_DBUS_META_INTERFACE_PRIO_PARENT_TYPE = 2, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_LOW = 3, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH = 4, + NML_DBUS_META_INTERFACE_PRIO_NONE = 0, + NML_DBUS_META_INTERFACE_PRIO_NMCLIENT = 1, + NML_DBUS_META_INTERFACE_PRIO_PARENT_TYPE = 2, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_10 = 3, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_20 = 4, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30 = 5, } NMLDBusMetaInteracePrio; /*****************************************************************************/ @@ -514,7 +516,7 @@ struct _NMLDBusMetaIface { * NetworkManager's API does not add/remove interfaces after exporting the object the * first time, so in practice each D-Bus object is expected to have a suitable D-Bus * interface (and only determining interface, which doesn't change). Those interfaces have - * priority %NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH. + * priority %NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30. * * (*) note that nothing bad would happen if a faulty NetworkManager would violate that. * Of course, something would not work correctly, but the D-Bus interface we find is unexpected @@ -522,9 +524,15 @@ struct _NMLDBusMetaIface { * * One exception is "org.freedesktop.NetworkManager.Connection.Active". This can either * be a NMActiveConnection or a NMVpnConnection. Hence, this profile has priority - * %NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_LOW, and depending on whether there is + * %NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_10, and depending on whether there is * a "org.freedesktop.NetworkManager.VPN.Connection" (with high priority), we create * one or the other type. + * + * Another exception is "org.freedesktop.NetworkManager.Device.Veth". It is a NMDeviceVeth + * and the parent is NMDeviceEthernet. Therefore it contains "org.freedesktop.NetworkManager.Device.Wired" + * as it should be registered as NMDeviceVeth, the profile has priority + * %NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_20. + * */ NMLDBusMetaInteracePrio interface_prio : 3; }; @@ -816,6 +824,19 @@ struct _NMDeviceClass { /*****************************************************************************/ +struct _NMDeviceEthernetPrivate; + +struct _NMDeviceEthernet { + NMDevice parent; + struct _NMDeviceEthernetPrivate *_priv; +}; + +struct _NMDeviceEthernetClass { + NMDeviceClass parent; +}; + +/*****************************************************************************/ + struct _NMActiveConnectionPrivate; struct _NMActiveConnection { diff --git a/libnm/nm-object-private.h b/libnm/nm-object-private.h index e599b2d8..9f78304d 100644 --- a/libnm/nm-object-private.h +++ b/libnm/nm-object-private.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2008 - 2011 Red Hat, Inc. */ diff --git a/libnm/nm-object.c b/libnm/nm-object.c index 1b12915d..00e520d7 100644 --- a/libnm/nm-object.c +++ b/libnm/nm-object.c @@ -1,10 +1,10 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2012 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-object.h" @@ -248,6 +248,10 @@ nm_object_init(NMObject *object) self->_priv = priv; c_list_init(&self->obj_base.queue_notify_lst); + + NML_DBUS_LOG(_NML_NMCLIENT_LOG_LEVEL_COERCE(NML_DBUS_LOG_LEVEL_TRACE), + "nmobj[" NM_HASH_OBFUSCATE_PTR_FMT "]: creating", + NM_HASH_OBFUSCATE_PTR(self)); } static void @@ -256,6 +260,12 @@ dispose(GObject *object) NMObject * self = NM_OBJECT(object); NMObjectPrivate *priv = NM_OBJECT_GET_PRIVATE(self); + if (!self->obj_base.is_disposing) { + NML_DBUS_LOG(_NML_NMCLIENT_LOG_LEVEL_COERCE(NML_DBUS_LOG_LEVEL_TRACE), + "nmobj[" NM_HASH_OBFUSCATE_PTR_FMT "]: disposing", + NM_HASH_OBFUSCATE_PTR(self)); + } + self->obj_base.is_disposing = TRUE; nm_assert(c_list_is_empty(&self->obj_base.queue_notify_lst)); diff --git a/libnm/nm-object.h b/libnm/nm-object.h index 97c41d69..7b4a3232 100644 --- a/libnm/nm-object.h +++ b/libnm/nm-object.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2012 Red Hat, Inc. diff --git a/libnm/nm-property-infos-dbus.xml b/libnm/nm-property-infos-dbus.xml index f5aac59a..7100140a 100644 --- a/libnm/nm-property-infos-dbus.xml +++ b/libnm/nm-property-infos-dbus.xml @@ -33,6 +33,8 @@ bridge's interface name."/> + + @@ -120,6 +122,8 @@ also exist on some routes."/> + + @@ -151,6 +155,8 @@ team's interface name."/> + + - + @@ -169,6 +170,14 @@ The sum of the numbers must be 100."/> + + + + + + - + @@ -273,6 +282,8 @@ property ID_PATHS of devices"/> + + @@ -317,6 +328,8 @@ uppercase letters with an underscore. A dot is encoded as a double underscore. Remaining characters are encoded as underscore followed by a 3 digit octal representation of the character."/> + + @@ -366,7 +379,7 @@ is listed."/> - + diff --git a/libnm/nm-property-infos-keyfile.xml b/libnm/nm-property-infos-keyfile.xml index 950a7790..0445d943 100644 --- a/libnm/nm-property-infos-keyfile.xml +++ b/libnm/nm-property-infos-keyfile.xml @@ -30,6 +30,8 @@ or semicolon separated list of 6 decimal bytes (obsolete)"/> + + @@ -61,6 +63,8 @@ route2=7.7.0.0/16" description="List of IP routes."/> + + @@ -90,6 +94,8 @@ versions of NetworkManager stored this as an integer: 69 ('E') for eve + + diff --git a/libnm/nm-property-infos-nmcli.xml b/libnm/nm-property-infos-nmcli.xml index a9b3b205..15270a79 100644 --- a/libnm/nm-property-infos-nmcli.xml +++ b/libnm/nm-property-infos-nmcli.xml @@ -27,6 +27,8 @@ + + @@ -47,6 +49,8 @@ + + @@ -73,6 +77,8 @@ + + diff --git a/libnm/nm-remote-connection-private.h b/libnm/nm-remote-connection-private.h index 18921718..3ca934bf 100644 --- a/libnm/nm-remote-connection-private.h +++ b/libnm/nm-remote-connection-private.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2009 Red Hat, Inc. */ diff --git a/libnm/nm-remote-connection.c b/libnm/nm-remote-connection.c index 63ffbf1a..b5b12bf0 100644 --- a/libnm/nm-remote-connection.c +++ b/libnm/nm-remote-connection.c @@ -1,10 +1,10 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2011 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-remote-connection.h" @@ -746,7 +746,7 @@ dispose(GObject *object) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_settings_connection = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_SETTINGS_CONNECTION, nm_remote_connection_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_S("Filename", PROP_FILENAME, diff --git a/libnm/nm-remote-connection.h b/libnm/nm-remote-connection.h index f8563514..e29bf073 100644 --- a/libnm/nm-remote-connection.h +++ b/libnm/nm-remote-connection.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2011 Red Hat, Inc. diff --git a/libnm/nm-secret-agent-old.c b/libnm/nm-secret-agent-old.c index a89ea1c5..8f826ed8 100644 --- a/libnm/nm-secret-agent-old.c +++ b/libnm/nm-secret-agent-old.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2010 - 2011 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-secret-agent-old.h" diff --git a/libnm/nm-secret-agent-old.h b/libnm/nm-secret-agent-old.h index 12455929..cc33c14a 100644 --- a/libnm/nm-secret-agent-old.h +++ b/libnm/nm-secret-agent-old.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2010 - 2011 Red Hat, Inc. */ diff --git a/libnm/nm-settings-docs-gir.xml b/libnm/nm-settings-docs-gir.xml index af3f34e7..f71d2bad 100644 --- a/libnm/nm-settings-docs-gir.xml +++ b/libnm/nm-settings-docs-gir.xml @@ -59,8 +59,8 @@ - - + + @@ -179,6 +179,12 @@ + + + + + + @@ -189,7 +195,7 @@ - + @@ -199,7 +205,7 @@ - + @@ -224,7 +230,7 @@ - + @@ -293,6 +299,9 @@ + + + @@ -394,6 +403,9 @@ + + + @@ -489,7 +501,7 @@ - + diff --git a/libnm/nm-types.h b/libnm/nm-types.h index 099002bd..81ffe790 100644 --- a/libnm/nm-types.h +++ b/libnm/nm-types.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2014 - 2018 Red Hat, Inc. */ @@ -36,6 +36,7 @@ typedef struct _NMDeviceOvsPort NMDeviceOvsPort; typedef struct _NMDevicePpp NMDevicePpp; typedef struct _NMDeviceTeam NMDeviceTeam; typedef struct _NMDeviceTun NMDeviceTun; +typedef struct _NMDeviceVeth NMDeviceVeth; typedef struct _NMDeviceVlan NMDeviceVlan; typedef struct _NMDeviceVrf NMDeviceVrf; typedef struct _NMDeviceVxlan NMDeviceVxlan; diff --git a/libnm/nm-vpn-connection.c b/libnm/nm-vpn-connection.c index d41d6749..cdbaefc0 100644 --- a/libnm/nm-vpn-connection.c +++ b/libnm/nm-vpn-connection.c @@ -1,10 +1,10 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2012 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-vpn-connection.h" @@ -159,7 +159,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_vpn_connection = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_VPN_CONNECTION, nm_vpn_connection_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_S("Banner", PROP_BANNER, NMVpnConnection, _priv.banner), NML_DBUS_META_PROPERTY_INIT_U("VpnState", diff --git a/libnm/nm-vpn-connection.h b/libnm/nm-vpn-connection.h index c2bd8f97..aac259d5 100644 --- a/libnm/nm-vpn-connection.h +++ b/libnm/nm-vpn-connection.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2010 Red Hat, Inc. diff --git a/libnm/nm-vpn-editor.c b/libnm/nm-vpn-editor.c index 5538454b..e3269588 100644 --- a/libnm/nm-vpn-editor.c +++ b/libnm/nm-vpn-editor.c @@ -1,10 +1,10 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2008 - 2010 Red Hat, Inc. * Copyright (C) 2008 Novell, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-vpn-editor.h" diff --git a/libnm/nm-vpn-editor.h b/libnm/nm-vpn-editor.h index a34968ce..8cd7805f 100644 --- a/libnm/nm-vpn-editor.h +++ b/libnm/nm-vpn-editor.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2008 Novell, Inc. * Copyright (C) 2008 - 2015 Red Hat, Inc. diff --git a/libnm/nm-vpn-plugin-old.c b/libnm/nm-vpn-plugin-old.c index 1922ebe3..f45d0c09 100644 --- a/libnm/nm-vpn-plugin-old.c +++ b/libnm/nm-vpn-plugin-old.c @@ -1,10 +1,10 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2008 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-vpn-plugin-old.h" diff --git a/libnm/nm-vpn-plugin-old.h b/libnm/nm-vpn-plugin-old.h index 2da27f4d..116b8b90 100644 --- a/libnm/nm-vpn-plugin-old.h +++ b/libnm/nm-vpn-plugin-old.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2015 Red Hat, Inc. diff --git a/libnm/nm-vpn-service-plugin.c b/libnm/nm-vpn-service-plugin.c index 25eea788..34de21b8 100644 --- a/libnm/nm-vpn-service-plugin.c +++ b/libnm/nm-vpn-service-plugin.c @@ -1,10 +1,10 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2015 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-vpn-service-plugin.h" diff --git a/libnm/nm-vpn-service-plugin.h b/libnm/nm-vpn-service-plugin.h index 3fe68f0f..e45622aa 100644 --- a/libnm/nm-vpn-service-plugin.h +++ b/libnm/nm-vpn-service-plugin.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2015 Red Hat, Inc. diff --git a/libnm/nm-wifi-p2p-peer.c b/libnm/nm-wifi-p2p-peer.c index c250342e..cab4648e 100644 --- a/libnm/nm-wifi-p2p-peer.c +++ b/libnm/nm-wifi-p2p-peer.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2018 - 2019 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-wifi-p2p-peer.h" @@ -402,7 +402,7 @@ finalize(GObject *object) const NMLDBusMetaIface _nml_dbus_meta_iface_nm_wifip2ppeer = NML_DBUS_META_IFACE_INIT_PROP( NM_DBUS_INTERFACE_WIFI_P2P_PEER, nm_wifi_p2p_peer_get_type, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, NML_DBUS_META_IFACE_DBUS_PROPERTIES( NML_DBUS_META_PROPERTY_INIT_U("Flags", PROP_FLAGS, NMWifiP2PPeer, _priv.flags), NML_DBUS_META_PROPERTY_INIT_IGNORE("Groups", "as"), diff --git a/libnm/nm-wifi-p2p-peer.h b/libnm/nm-wifi-p2p-peer.h index 5de8165f..4ab7c0e6 100644 --- a/libnm/nm-wifi-p2p-peer.h +++ b/libnm/nm-wifi-p2p-peer.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2018 - 2019 Red Hat, Inc. */ diff --git a/libnm/nm-wimax-nsp.c b/libnm/nm-wimax-nsp.c index ad77f846..421fe9e7 100644 --- a/libnm/nm-wimax-nsp.c +++ b/libnm/nm-wimax-nsp.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2011 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include "nm-wimax-nsp.h" diff --git a/libnm/nm-wimax-nsp.h b/libnm/nm-wimax-nsp.h index 6e9145e6..15b8daa0 100644 --- a/libnm/nm-wimax-nsp.h +++ b/libnm/nm-wimax-nsp.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2011 Red Hat, Inc. * Copyright (C) 2009 Novell, Inc. diff --git a/libnm/tests/meson.build b/libnm/tests/meson.build index 59fb771d..08eecfbd 100644 --- a/libnm/tests/meson.build +++ b/libnm/tests/meson.build @@ -1,35 +1,34 @@ -# SPDX-License-Identifier: LGPL-2.1+ +# SPDX-License-Identifier: LGPL-2.1-or-later test_units = [ - ['test-libnm', 30], - ['test-nm-client', 90], - ['test-remote-settings-client', 90], - ['test-secret-agent', 90], -] - -deps = [ - libnm_core_dep, - libnm_nm_default_dep, -] - -c_flags = [ - '-DNETWORKMANAGER_COMPILATION_TEST', - '-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM', + 'test-libnm', + 'test-nm-client', + 'test-remote-settings-client', + 'test-secret-agent', ] foreach test_unit: test_units exe = executable( - test_unit[0], - [test_unit[0] + '.c', nm_test_utils_impl_source, libnm_enum_sources[1]], - dependencies: deps, - c_args: c_flags, - link_with: liblibnm, + test_unit, + [ + test_unit + '.c', + nm_test_utils_impl_source, + libnm_enum_sources[1], + ], + dependencies: [ + libnm_core_dep, + libnm_nm_default_dep, + ], + c_args: [ + '-DG_LOG_DOMAIN="test"', + ], + link_with: libnm_static, ) test( - test_unit[0], + test_unit, test_script, - timeout: test_unit[1], + timeout: 90, args: test_args + [exe.full_path()], ) endforeach @@ -40,5 +39,7 @@ libnm_vpn_plugin_utils_test = static_library( sources: nm_vpn_plugin_utils_source + [libnm_enum_sources[1]], include_directories: libnm_inc, dependencies: libnm_nm_default_dep, - c_args: c_flags, + c_args: [ + '-DG_LOG_DOMAIN="test"', + ], ) diff --git a/libnm/tests/test-libnm.c b/libnm/tests/test-libnm.c index 6f89a823..a90acd9b 100644 --- a/libnm/tests/test-libnm.c +++ b/libnm/tests/test-libnm.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Copyright (C) 2017 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #if defined(HAVE_DECL_MEMFD_CREATE) && HAVE_DECL_MEMFD_CREATE #include @@ -2824,8 +2824,9 @@ test_nml_dbus_meta(void) g_assert(NM_IN_SET((NMLDBusMetaInteracePrio) mif->interface_prio, NML_DBUS_META_INTERFACE_PRIO_NMCLIENT, NML_DBUS_META_INTERFACE_PRIO_PARENT_TYPE, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_LOW, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH)); + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_10, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_20, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30)); g_assert(mif->get_type_fcn); gtype = mif->get_type_fcn(); @@ -2847,22 +2848,85 @@ test_nml_dbus_meta(void) if (klass) { if (NM_IS_OBJECT_CLASS(klass)) { - NMObjectClass * nm_object_class = NM_OBJECT_CLASS(klass); - const _NMObjectClassFieldInfo *p_prev; - const _NMObjectClassFieldInfo *p; - - p_prev = NULL; - for (p = nm_object_class->property_o_info; p; p_prev = p, p = p->parent) { - g_assert(p->num > 0); - g_assert(NM_IS_OBJECT_CLASS(p->klass)); - g_assert(g_type_is_a(gtype, G_TYPE_FROM_CLASS(p->klass))); - g_assert(p->klass->property_o_info == p); - if (p_prev) { - g_assert(g_type_is_a(G_TYPE_FROM_CLASS(p_prev->klass), - G_TYPE_FROM_CLASS(p->klass))); - g_assert(p_prev->klass != p->klass); + NMObjectClass *nm_object_class = NM_OBJECT_CLASS(klass); + + if (nm_object_class->property_o_info || nm_object_class->property_ao_info) { + int ii; + + for (ii = 0; ii < 2; ii++) { + const _NMObjectClassFieldInfo *p_prev = NULL; + const _NMObjectClassFieldInfo *p0 = ii == 0 + ? nm_object_class->property_o_info + : nm_object_class->property_ao_info; + const _NMObjectClassFieldInfo *p; + + for (p = p0; p; p = p->parent) { + GType parent_gtype; + NMObjectClass *parent_klass; + + g_assert(p->num > 0); + g_assert(NM_IS_OBJECT_CLASS(p->klass)); + g_assert(g_type_is_a(gtype, G_TYPE_FROM_CLASS(p->klass))); + if (ii == 0) + g_assert(p->klass->property_o_info == p); + else + g_assert(p->klass->property_ao_info == p); + g_assert_cmpint(p->klass->priv_ptr_offset, >, 0); + if (p_prev) { + g_assert(g_type_is_a(G_TYPE_FROM_CLASS(p_prev->klass), + G_TYPE_FROM_CLASS(p->klass))); + g_assert(p_prev->klass != p->klass); + g_assert_cmpint(p_prev->klass->priv_ptr_offset, + >, + p->klass->priv_ptr_offset); + g_assert_cmpint(p->klass->priv_ptr_indirect, ==, TRUE); + } + + parent_gtype = g_type_parent(G_TYPE_FROM_CLASS(p->klass)); + g_assert(g_type_is_a(parent_gtype, NM_TYPE_OBJECT)); + parent_klass = g_type_class_peek(parent_gtype); + g_assert(NM_IS_OBJECT_CLASS(parent_klass)); + if (parent_gtype == NM_TYPE_OBJECT) { + g_assert_cmpint(parent_klass->priv_ptr_offset, ==, 0); + g_assert_cmpint(parent_klass->priv_ptr_indirect, ==, FALSE); + g_assert(!p->parent); + } else { + if (parent_klass->priv_ptr_offset == 0) { + g_assert(!parent_klass->property_o_info); + g_assert(!parent_klass->property_ao_info); + g_assert_cmpint(parent_klass->priv_ptr_indirect, ==, FALSE); + g_assert(!p->parent); + } else if (p->klass->priv_ptr_offset + == parent_klass->priv_ptr_offset) { + g_assert(p->klass->property_o_info + == parent_klass->property_o_info); + g_assert(p->klass->property_ao_info + == parent_klass->property_ao_info); + g_assert(p->klass->priv_ptr_indirect + == parent_klass->priv_ptr_indirect); + } else { + g_assert_cmpint(parent_klass->priv_ptr_offset, >, 0); + g_assert_cmpint(parent_klass->priv_ptr_offset, + <, + p->klass->priv_ptr_offset); + g_assert_cmpint(parent_klass->priv_ptr_indirect, ==, TRUE); + g_assert(p->klass->property_o_info + != parent_klass->property_o_info + || p->klass->property_ao_info + != parent_klass->property_ao_info); + } + } + + p_prev = p; + } } + + g_assert_cmpint(nm_object_class->priv_ptr_offset, >, 0); + } else { + g_assert_cmpint(nm_object_class->priv_ptr_offset, ==, 0); + g_assert_cmpint(nm_object_class->priv_ptr_indirect, ==, FALSE); } + } else g_assert(NM_IS_CLIENT_CLASS(klass)); } @@ -3128,172 +3192,177 @@ test_dbus_meta_types(void) { NM_DBUS_INTERFACE_ACCESS_POINT, NM_TYPE_ACCESS_POINT, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_ACTIVE_CONNECTION, NM_TYPE_ACTIVE_CONNECTION, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_LOW, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_10, }, /* otherwise, NM_TYPE_VPN_CONNECTION. */ { NM_DBUS_INTERFACE_DEVICE_6LOWPAN, NM_TYPE_DEVICE_6LOWPAN, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_ADSL, NM_TYPE_DEVICE_ADSL, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_BOND, NM_TYPE_DEVICE_BOND, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_BRIDGE, NM_TYPE_DEVICE_BRIDGE, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_BLUETOOTH, NM_TYPE_DEVICE_BT, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_DUMMY, NM_TYPE_DEVICE_DUMMY, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_WIRED, NM_TYPE_DEVICE_ETHERNET, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_20, + }, + { + NM_DBUS_INTERFACE_DEVICE_VETH, + NM_TYPE_DEVICE_VETH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_GENERIC, NM_TYPE_DEVICE_GENERIC, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_INFINIBAND, NM_TYPE_DEVICE_INFINIBAND, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_IP_TUNNEL, NM_TYPE_DEVICE_IP_TUNNEL, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_MACSEC, NM_TYPE_DEVICE_MACSEC, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_MACVLAN, NM_TYPE_DEVICE_MACVLAN, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_MODEM, NM_TYPE_DEVICE_MODEM, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_OLPC_MESH, NM_TYPE_DEVICE_OLPC_MESH, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_OVS_INTERFACE, NM_TYPE_DEVICE_OVS_INTERFACE, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_OVS_PORT, NM_TYPE_DEVICE_OVS_PORT, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_OVS_BRIDGE, NM_TYPE_DEVICE_OVS_BRIDGE, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_WIFI_P2P, NM_TYPE_DEVICE_WIFI_P2P, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_PPP, NM_TYPE_DEVICE_PPP, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_TEAM, NM_TYPE_DEVICE_TEAM, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_TUN, NM_TYPE_DEVICE_TUN, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_VLAN, NM_TYPE_DEVICE_VLAN, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_WPAN, NM_TYPE_DEVICE_WPAN, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_VXLAN, NM_TYPE_DEVICE_VXLAN, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_WIRELESS, NM_TYPE_DEVICE_WIFI, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DEVICE_WIREGUARD, NM_TYPE_DEVICE_WIREGUARD, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DHCP4_CONFIG, NM_TYPE_DHCP4_CONFIG, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_DHCP6_CONFIG, NM_TYPE_DHCP6_CONFIG, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_IP4_CONFIG, NM_TYPE_IP4_CONFIG, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_IP6_CONFIG, NM_TYPE_IP6_CONFIG, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_WIFI_P2P_PEER, NM_TYPE_WIFI_P2P_PEER, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_SETTINGS_CONNECTION, NM_TYPE_REMOTE_CONNECTION, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_SETTINGS, @@ -3308,12 +3377,12 @@ test_dbus_meta_types(void) { NM_DBUS_INTERFACE_VPN_CONNECTION, NM_TYPE_VPN_CONNECTION, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, { NM_DBUS_INTERFACE_CHECKPOINT, NM_TYPE_CHECKPOINT, - NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_HIGH, + NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_30, }, }; guint i; diff --git a/libnm/tests/test-nm-client.c b/libnm/tests/test-nm-client.c index 6ffef2b0..5452c623 100644 --- a/libnm/tests/test-nm-client.c +++ b/libnm/tests/test-nm-client.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Copyright (C) 2010 - 2014 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include #include diff --git a/libnm/tests/test-remote-settings-client.c b/libnm/tests/test-remote-settings-client.c index 770f074f..0e7b744d 100644 --- a/libnm/tests/test-remote-settings-client.c +++ b/libnm/tests/test-remote-settings-client.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Copyright (C) 2010 - 2011 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include #include diff --git a/libnm/tests/test-secret-agent.c b/libnm/tests/test-secret-agent.c index 0a800788..08c77f8c 100644 --- a/libnm/tests/test-secret-agent.c +++ b/libnm/tests/test-secret-agent.c @@ -1,9 +1,9 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Copyright (C) 2010 - 2014 Red Hat, Inc. */ -#include "nm-default.h" +#include "libnm/nm-default-libnm.h" #include #include -- cgit 1.3.0-6-gf8a5