summary refs log tree commit diff
path: root/src/libnm-core-public
diff options
context:
space:
mode:
Diffstat (limited to 'src/libnm-core-public')
-rw-r--r--src/libnm-core-public/nm-dbus-interface.h14
-rw-r--r--src/libnm-core-public/nm-errors.h7
-rw-r--r--src/libnm-core-public/nm-setting-connection.h22
-rw-r--r--src/libnm-core-public/nm-setting-gsm.h3
-rw-r--r--src/libnm-core-public/nm-setting-hsr.h6
-rw-r--r--src/libnm-core-public/nm-setting-ip-config.h3
-rw-r--r--src/libnm-core-public/nm-utils.h2
-rw-r--r--src/libnm-core-public/nm-version-macros.h.in9
-rw-r--r--src/libnm-core-public/nm-version.h24
-rw-r--r--src/libnm-core-public/nm-vpn-plugin-info.h2
10 files changed, 71 insertions, 21 deletions
diff --git a/src/libnm-core-public/nm-dbus-interface.h b/src/libnm-core-public/nm-dbus-interface.h
index e62d64e1..42bff04a 100644
--- a/src/libnm-core-public/nm-dbus-interface.h
+++ b/src/libnm-core-public/nm-dbus-interface.h
@@ -648,6 +648,8 @@ typedef enum {
  *   Since: 1.48
  * @NM_DEVICE_STATE_REASON_UNMANAGED_USER_UDEV: The device is unmanaged via udev rule. Since: 1.48
  * @NM_DEVICE_STATE_REASON_NETWORKING_OFF: NetworkManager was disabled (networking off). Since: 1.56
+ * @NM_DEVICE_STATE_REASON_MODEM_NO_OPERATOR_CODE: The modem's operator code wasn't available,
+ *   and auto-configuration was requested. Since: 1.56
  *
  * Device state change reason codes
  */
@@ -732,6 +734,7 @@ typedef enum {
     NM_DEVICE_STATE_REASON_UNMANAGED_USER_SETTINGS        = 76,
     NM_DEVICE_STATE_REASON_UNMANAGED_USER_UDEV            = 77,
     NM_DEVICE_STATE_REASON_NETWORKING_OFF                 = 78,
+    NM_DEVICE_STATE_REASON_MODEM_NO_OPERATOR_CODE         = 79,
 } NMDeviceStateReason;
 
 /**
@@ -1457,6 +1460,16 @@ typedef enum /*< flags >*/ {
  *   any additional addresses using the MPTCP ADD_ADDR sub-option, this will behave the same
  *   as a plain subflow endpoint. When the peer does announce addresses, each received ADD_ADDR
  *   sub-option will trigger creation of an additional subflow to generate a full mesh topology.
+ * @NM_MPTCP_FLAGS_LAMINAR: Flag for the MPTCP endpoint. The endpoint will be
+ *   used to create new subflows from the associated address to additional
+ *   addresses announced by the other peer. This will be done if allowed by the
+ *   MPTCP limits, and if the associated address is not already being used by
+ *   another subflow from the same MPTCP connection. Note that the 'fullmesh'
+ *   flag takes precedence over the 'laminar' one. Without any of these two
+ *   flags, the path-manager will create new subflows to additional addresses
+ *   announced by the other peer by selecting the source address from the
+ *   routing tables, which is harder to configure if the announced address is
+ *   not known in advance. Since: 1.56
  *
  * Since: 1.40
  */
@@ -1473,6 +1486,7 @@ typedef enum /*< flags >*/ {
     NM_MPTCP_FLAGS_SUBFLOW  = 0x20,
     NM_MPTCP_FLAGS_BACKUP   = 0x40,
     NM_MPTCP_FLAGS_FULLMESH = 0x80,
+    NM_MPTCP_FLAGS_LAMINAR  = 0x100,
 } NMMptcpFlags;
 
 /* For secrets requests, hints starting with "x-vpn-message:" are a message to show, not
diff --git a/src/libnm-core-public/nm-errors.h b/src/libnm-core-public/nm-errors.h
index 11ce25f1..1cf238c0 100644
--- a/src/libnm-core-public/nm-errors.h
+++ b/src/libnm-core-public/nm-errors.h
@@ -256,6 +256,11 @@ GQuark nm_secret_agent_error_quark(void);
  * @NM_SETTINGS_ERROR_NOT_SUPPORTED_BY_PLUGIN: the requested operation is not
  *   supported by the settings plugin currently in use for the specified object.
  *   Since: 1.44.
+ * @NM_SETTINGS_ERROR_FEATURE_DISABLED: the requested operation failed because it
+ *   requires a feature that is disabled in this build of NetworkManager.
+ *   Since: 1.56
+ * @NM_SETTINGS_ERROR_FEATURE_REMOVED: the requested operation failed because it
+ *   requires a feature that is no longer supported. Since: 1.56
  *
  * Errors related to the settings/persistent configuration interface of
  * NetworkManager.
@@ -275,6 +280,8 @@ typedef enum {
     NM_SETTINGS_ERROR_INVALID_ARGUMENTS,       /*< nick=InvalidArguments >*/
     NM_SETTINGS_ERROR_VERSION_ID_MISMATCH,     /*< nick=VersionIdMismatch >*/
     NM_SETTINGS_ERROR_NOT_SUPPORTED_BY_PLUGIN, /*< nick=NotSupportedByPlugin >*/
+    NM_SETTINGS_ERROR_FEATURE_DISABLED,        /*< nick=FeatureDisabled >*/
+    NM_SETTINGS_ERROR_FEATURE_REMOVED,         /*< nick=FeatureRemoved >*/
 } NMSettingsError;
 
 GQuark nm_settings_error_quark(void);
diff --git a/src/libnm-core-public/nm-setting-connection.h b/src/libnm-core-public/nm-setting-connection.h
index 6547c5be..51cf99fb 100644
--- a/src/libnm-core-public/nm-setting-connection.h
+++ b/src/libnm-core-public/nm-setting-connection.h
@@ -60,6 +60,7 @@ G_BEGIN_DECLS
 #define NM_SETTING_CONNECTION_MDNS                          "mdns"
 #define NM_SETTING_CONNECTION_LLMNR                         "llmnr"
 #define NM_SETTING_CONNECTION_DNS_OVER_TLS                  "dns-over-tls"
+#define NM_SETTING_CONNECTION_DNSSEC                        "dnssec"
 #define NM_SETTING_CONNECTION_MPTCP_FLAGS                   "mptcp-flags"
 #define NM_SETTING_CONNECTION_WAIT_DEVICE_TIMEOUT           "wait-device-timeout"
 #define NM_SETTING_CONNECTION_MUD_URL                       "mud-url"
@@ -163,6 +164,24 @@ typedef enum {
 } NMSettingConnectionDnsOverTls;
 
 /**
+ * NMSettingConnectionDnssec:
+ * @NM_SETTING_CONNECTION_DNSSEC_DEFAULT: default value
+ * @NM_SETTING_CONNECTION_DNSSEC_NO: disable DNSSEC
+ * @NM_SETTING_CONNECTION_DNSSEC_ALLOW_DOWNGRADE: enable DNSSEC but allow fallback to non-DNSSEC mode
+ * @NM_SETTING_CONNECTION_DNSSEC_YES: force enable DNSSEC
+ *
+ * #NMSettingConnectionDnssec values indicate whether DNSSEC should be enabled.
+ *
+ * Since: 1.56
+ */
+typedef enum {
+    NM_SETTING_CONNECTION_DNSSEC_DEFAULT         = -1,
+    NM_SETTING_CONNECTION_DNSSEC_NO              = 0,
+    NM_SETTING_CONNECTION_DNSSEC_ALLOW_DOWNGRADE = 1,
+    NM_SETTING_CONNECTION_DNSSEC_YES             = 2,
+} NMSettingConnectionDnssec;
+
+/**
  * NMSettingConnectionDownOnPoweroff:
  * @NM_SETTING_CONNECTION_DOWN_ON_POWEROFF_DEFAULT: default value
  * @NM_SETTING_CONNECTION_DOWN_ON_POWEROFF_NO: disable down-on-poweroff
@@ -304,6 +323,9 @@ void nm_setting_connection_clear_ip_ping_addresses(NMSettingConnection *setting)
 NM_AVAILABLE_IN_1_52
 NMTernary nm_setting_connection_get_ip_ping_addresses_require_all(NMSettingConnection *setting);
 
+NM_AVAILABLE_IN_1_56
+NMSettingConnectionDnssec nm_setting_connection_get_dnssec(NMSettingConnection *setting);
+
 G_END_DECLS
 
 #endif /* __NM_SETTING_CONNECTION_H__ */
diff --git a/src/libnm-core-public/nm-setting-gsm.h b/src/libnm-core-public/nm-setting-gsm.h
index c8663502..4f71f70e 100644
--- a/src/libnm-core-public/nm-setting-gsm.h
+++ b/src/libnm-core-public/nm-setting-gsm.h
@@ -50,6 +50,7 @@ G_BEGIN_DECLS
 #define NM_SETTING_GSM_INITIAL_EPS_BEARER_REFUSE_CHAP     "initial-eps-bearer-refuse-chap"
 #define NM_SETTING_GSM_INITIAL_EPS_BEARER_REFUSE_MSCHAP   "initial-eps-bearer-refuse-mschap"
 #define NM_SETTING_GSM_INITIAL_EPS_BEARER_REFUSE_MSCHAPV2 "initial-eps-bearer-refuse-mschapv2"
+#define NM_SETTING_GSM_DEVICE_UID                         "device-uid"
 
 /* Deprecated */
 #define NM_SETTING_GSM_NUMBER "number"
@@ -99,6 +100,8 @@ gboolean nm_setting_gsm_get_initial_eps_refuse_mschap(NMSettingGsm *setting);
 NM_AVAILABLE_IN_1_52
 gboolean nm_setting_gsm_get_initial_eps_refuse_mschapv2(NMSettingGsm *setting);
 
+const char *nm_setting_gsm_get_device_uid(NMSettingGsm *setting);
+
 NM_DEPRECATED_IN_1_16
 const char *nm_setting_gsm_get_number(NMSettingGsm *setting);
 
diff --git a/src/libnm-core-public/nm-setting-hsr.h b/src/libnm-core-public/nm-setting-hsr.h
index 414f2b34..3110bd9a 100644
--- a/src/libnm-core-public/nm-setting-hsr.h
+++ b/src/libnm-core-public/nm-setting-hsr.h
@@ -38,7 +38,7 @@ G_BEGIN_DECLS
  *
  * #NMSettingHsrProtocolVersion values indicate the HSR protocol version.
  *
- * Since: 1.56, 1.54.2
+ * Since: 1.56
  */
 typedef enum {
     NM_SETTING_HSR_PROTOCOL_VERSION_DEFAULT  = -1,
@@ -61,9 +61,9 @@ NM_AVAILABLE_IN_1_46
 guint32 nm_setting_hsr_get_multicast_spec(NMSettingHsr *setting);
 NM_AVAILABLE_IN_1_46
 gboolean nm_setting_hsr_get_prp(NMSettingHsr *setting);
-NM_AVAILABLE_IN_1_54_2
+NM_AVAILABLE_IN_1_56
 NMSettingHsrProtocolVersion nm_setting_hsr_get_protocol_version(NMSettingHsr *setting);
-NM_AVAILABLE_IN_1_54_2
+NM_AVAILABLE_IN_1_56
 const char *nm_setting_hsr_get_interlink(NMSettingHsr *setting);
 
 G_END_DECLS
diff --git a/src/libnm-core-public/nm-setting-ip-config.h b/src/libnm-core-public/nm-setting-ip-config.h
index 625b941f..de05325f 100644
--- a/src/libnm-core-public/nm-setting-ip-config.h
+++ b/src/libnm-core-public/nm-setting-ip-config.h
@@ -567,6 +567,9 @@ int nm_setting_ip_config_get_shared_dhcp_lease_time(NMSettingIPConfig *setting);
 NM_AVAILABLE_IN_1_54
 NMSettingIPConfigForwarding nm_setting_ip_config_get_forwarding(NMSettingIPConfig *setting);
 
+NM_AVAILABLE_IN_1_56
+gboolean nm_dns_server_validate(const char *str, int family, GError **error);
+
 G_END_DECLS
 
 #endif /* NM_SETTING_IP_CONFIG_H */
diff --git a/src/libnm-core-public/nm-utils.h b/src/libnm-core-public/nm-utils.h
index dd7977a1..e46bf472 100644
--- a/src/libnm-core-public/nm-utils.h
+++ b/src/libnm-core-public/nm-utils.h
@@ -261,7 +261,7 @@ nm_utils_base64secret_decode(const char *base64_key, gsize required_key_len, gui
 NM_AVAILABLE_IN_1_42
 void nm_utils_ensure_gtypes(void);
 
-NM_AVAILABLE_IN_1_54_3
+NM_AVAILABLE_IN_1_56
 char *nm_utils_copy_cert_as_user(const char *filename, const char *user, GError **error);
 
 G_END_DECLS
diff --git a/src/libnm-core-public/nm-version-macros.h.in b/src/libnm-core-public/nm-version-macros.h.in
index 9771944d..b8b89a44 100644
--- a/src/libnm-core-public/nm-version-macros.h.in
+++ b/src/libnm-core-public/nm-version-macros.h.in
@@ -78,20 +78,19 @@
 #define NM_VERSION_1_50   (NM_ENCODE_VERSION(1, 50, 0))
 #define NM_VERSION_1_52   (NM_ENCODE_VERSION(1, 52, 0))
 #define NM_VERSION_1_54   (NM_ENCODE_VERSION(1, 54, 0))
-#define NM_VERSION_1_54_2 (NM_ENCODE_VERSION(1, 54, 2))
-#define NM_VERSION_1_54_3 (NM_ENCODE_VERSION(1, 54, 3))
+#define NM_VERSION_1_56   (NM_ENCODE_VERSION(1, 56, 0))
 
 /* For releases, NM_API_VERSION is equal to NM_VERSION.
  *
- * For development builds, NM_API_VERSION is the next
- * stable API after NM_VERSION. When you run a development
+ * For development and RC builds, NM_API_VERSION is the next
+ * stable API after NM_VERSION. When you run a devel or RC
  * version, you are already using the future API, even if
  * it is not yet released. Hence, the currently used API
  * version is the future one.  */
 #define NM_API_VERSION                                                  \
     (((NM_MINOR_VERSION % 2) == 1)                                      \
          ? NM_ENCODE_VERSION(NM_MAJOR_VERSION, NM_MINOR_VERSION + 1, 0) \
-         : NM_ENCODE_VERSION(NM_MAJOR_VERSION, NM_MINOR_VERSION, NM_MICRO_VERSION + 1))
+         : NM_VERSION)
 
 /* deprecated. */
 #define NM_VERSION_CUR_STABLE NM_API_VERSION
diff --git a/src/libnm-core-public/nm-version.h b/src/libnm-core-public/nm-version.h
index 26ede654..af45b679 100644
--- a/src/libnm-core-public/nm-version.h
+++ b/src/libnm-core-public/nm-version.h
@@ -12,16 +12,16 @@
 
 /* Deprecation / Availability macros */
 
-#if !defined(NM_VERSION_MIN_REQUIRED) || (NM_VERSION_MIN_REQUIRED == 0)
-#undef NM_VERSION_MIN_REQUIRED
-#define NM_VERSION_MIN_REQUIRED (NM_API_VERSION)
-#endif
-
 #if !defined(NM_VERSION_MAX_ALLOWED) || (NM_VERSION_MAX_ALLOWED == 0)
 #undef NM_VERSION_MAX_ALLOWED
 #define NM_VERSION_MAX_ALLOWED (NM_API_VERSION)
 #endif
 
+#if !defined(NM_VERSION_MIN_REQUIRED) || (NM_VERSION_MIN_REQUIRED == 0)
+#undef NM_VERSION_MIN_REQUIRED
+#define NM_VERSION_MIN_REQUIRED (NM_VERSION_MAX_ALLOWED)
+#endif
+
 /* sanity checks */
 #if NM_VERSION_MIN_REQUIRED > NM_API_VERSION
 #error "NM_VERSION_MIN_REQUIRED must be <= NM_API_VERSION"
@@ -439,16 +439,18 @@
 #define NM_AVAILABLE_IN_1_54
 #endif
 
-#if NM_VERSION_MAX_ALLOWED < NM_VERSION_1_54_2
-#define NM_AVAILABLE_IN_1_54_2 G_UNAVAILABLE(1, 54.2)
+#if NM_VERSION_MIN_REQUIRED >= NM_VERSION_1_56
+#define NM_DEPRECATED_IN_1_56        G_DEPRECATED
+#define NM_DEPRECATED_IN_1_56_FOR(f) G_DEPRECATED_FOR(f)
 #else
-#define NM_AVAILABLE_IN_1_54_2
+#define NM_DEPRECATED_IN_1_56
+#define NM_DEPRECATED_IN_1_56_FOR(f)
 #endif
 
-#if NM_VERSION_MAX_ALLOWED < NM_VERSION_1_54_3
-#define NM_AVAILABLE_IN_1_54_3 G_UNAVAILABLE(1, 54.3)
+#if NM_VERSION_MAX_ALLOWED < NM_VERSION_1_56
+#define NM_AVAILABLE_IN_1_56 G_UNAVAILABLE(1, 56)
 #else
-#define NM_AVAILABLE_IN_1_54_3
+#define NM_AVAILABLE_IN_1_56
 #endif
 
 /*
diff --git a/src/libnm-core-public/nm-vpn-plugin-info.h b/src/libnm-core-public/nm-vpn-plugin-info.h
index a6396862..0f2618ac 100644
--- a/src/libnm-core-public/nm-vpn-plugin-info.h
+++ b/src/libnm-core-public/nm-vpn-plugin-info.h
@@ -64,7 +64,7 @@ NM_AVAILABLE_IN_1_4
 gboolean nm_vpn_plugin_info_supports_hints(NMVpnPluginInfo *self);
 NM_AVAILABLE_IN_1_42
 gboolean nm_vpn_plugin_info_supports_multiple(NMVpnPluginInfo *self);
-NM_AVAILABLE_IN_1_54_3
+NM_AVAILABLE_IN_1_56
 gboolean nm_vpn_plugin_info_supports_safe_private_file_access(NMVpnPluginInfo *self);
 NM_AVAILABLE_IN_1_4
 const char *const *nm_vpn_plugin_info_get_aliases(NMVpnPluginInfo *self);