diff options
Diffstat (limited to 'clients/common/nm-meta-setting-desc.c')
| -rw-r--r-- | clients/common/nm-meta-setting-desc.c | 695 |
1 files changed, 386 insertions, 309 deletions
diff --git a/clients/common/nm-meta-setting-desc.c b/clients/common/nm-meta-setting-desc.c index d13ee4ce..6e35228a 100644 --- a/clients/common/nm-meta-setting-desc.c +++ b/clients/common/nm-meta-setting-desc.c @@ -117,7 +117,6 @@ _parse_ip_route (int family, { const int MAX_PREFIX = (family == AF_INET) ? 32 : 128; const char *next_hop = NULL; - const char *canon_dest; int prefix; NMIPRoute *route = NULL; GError *local = NULL; @@ -229,18 +228,6 @@ _parse_ip_route (int family, return NULL; } - /* We don't accept default routes as NetworkManager handles it - * itself. But we have to check this after @route has normalized the - * dest string. - */ - canon_dest = nm_ip_route_get_dest (route); - if (!strcmp (canon_dest, "0.0.0.0") || !strcmp (canon_dest, "::")) { - g_set_error_literal (error, NM_UTILS_ERROR, NM_UTILS_ERROR_INVALID_ARGUMENT, - _("default route cannot be added (NetworkManager handles it by itself)")); - g_clear_pointer (&route, nm_ip_route_unref); - return NULL; - } - if (attrs) { GHashTableIter iter; char *name; @@ -285,13 +272,14 @@ _dump_team_link_watcher (NMTeamLinkWatcher *watcher) DUMP_WATCHER_INT (w_dump, watcher, "init-wait", init_wait); DUMP_WATCHER_INT (w_dump, watcher, "interval", interval); DUMP_WATCHER_INT (w_dump, watcher, "missed-max", missed_max); -#undef DUMP_WATCHER_INT g_string_append_printf (w_dump, " target-host=%s", nm_team_link_watcher_get_target_host (watcher)); if (nm_streq (name, NM_TEAM_LINK_WATCHER_NSNA_PING)) return g_string_free (w_dump, FALSE); + DUMP_WATCHER_INT (w_dump, watcher, "vlanid", vlanid); +#undef DUMP_WATCHER_INT g_string_append_printf (w_dump, " source-host=%s", nm_team_link_watcher_get_source_host (watcher)); flags = nm_team_link_watcher_get_flags (watcher); @@ -313,7 +301,7 @@ _parse_team_link_watcher (const char *str, gs_free char *str_clean = NULL; guint i; gs_free const char *name = NULL; - int val1 = 0, val2 = 0, val3 = 3; + int val1 = 0, val2 = 0, val3 = 3, val4 = -1; gs_free const char *target_host = NULL; gs_free const char *source_host = NULL; NMTeamLinkWatcherArpPingFlags flags = 0; @@ -358,6 +346,8 @@ _parse_team_link_watcher (const char *str, val2 = _nm_utils_ascii_str_to_int64 (pair[1], 10, 0, G_MAXINT32, -1); else if (nm_streq (pair[0], "missed-max")) val3 = _nm_utils_ascii_str_to_int64 (pair[1], 10, 0, G_MAXINT32, -1); + else if (nm_streq (pair[0], "vlanid")) + val4 = _nm_utils_ascii_str_to_int64 (pair[1], 10, -1, 4094, -2); else if (nm_streq (pair[0], "target-host")) target_host = g_strdup (pair[1]); else if (nm_streq (pair[0], "source-host")) @@ -382,6 +372,11 @@ _parse_team_link_watcher (const char *str, "value is not a valid number [0, MAXINT]"); return NULL; } + if (val4 < -1) { + g_set_error (error, 1, 0, "'%s' is not valid: %s", watcherv[i], + "value is not a valid number [-1, 4094]"); + return NULL; + } } if (nm_streq0 (name, NM_TEAM_LINK_WATCHER_ETHTOOL)) @@ -389,7 +384,7 @@ _parse_team_link_watcher (const char *str, else if (nm_streq0 (name, NM_TEAM_LINK_WATCHER_NSNA_PING)) return nm_team_link_watcher_new_nsna_ping (val1, val2, val3, target_host, error); else if (nm_streq0 (name, NM_TEAM_LINK_WATCHER_ARP_PING)) - return nm_team_link_watcher_new_arp_ping (val1, val2, val3, target_host, source_host, flags, error); + return nm_team_link_watcher_new_arp_ping2 (val1, val2, val3, val4, target_host, source_host, flags, error); if (!name) g_set_error (error, 1, 0, "link watcher name missing"); @@ -1518,18 +1513,16 @@ bytes_to_string (GBytes *bytes) { const guint8 *data; gsize len; - GString *cert = NULL; - int i; if (!bytes) return NULL; - data = g_bytes_get_data (bytes, &len); - cert = g_string_new (NULL); - for (i = 0; i < len; i++) - g_string_append_printf (cert, "%02X", data[i]); - - return g_string_free (cert, FALSE); + data = g_bytes_get_data (bytes, &len); + return nm_utils_bin2hexstr_full (data, + len, + '\0', + TRUE, + NULL); } static char * @@ -1948,26 +1941,36 @@ nmc_util_is_domain (const char *domain) } static gboolean -nmc_property_set_bytes (NMSetting *setting, const char *prop, const char *value, GError **error) +_set_fcn_gobject_bytes (ARGS_SET_FCN) { - gs_free char *val_strip = NULL; + gs_free char *val_strip_free = NULL; gs_free const char **strv = NULL; + const char *val_strip; const char **iter; - GBytes *bytes; - GByteArray *array = NULL; - gboolean success = TRUE; + gs_unref_bytes GBytes *bytes = NULL; + GByteArray *array; nm_assert (!error || !*error); - val_strip = g_strstrip (g_strdup (value)); + val_strip = nm_strstrip_avoid_copy (value, &val_strip_free); /* First try hex string in the format of AAbbCCDd */ bytes = nm_utils_hexstr2bin (val_strip); if (bytes) goto done; + if ( !property_info->property_typ_data + || !property_info->property_typ_data->subtype.gobject_bytes.legacy_format) { + if (value && value[0]) { + g_set_error_literal (error, 1, 0, _("not a valid hex-string")); + return FALSE; + } + /* accept the empty word to reset the property to %NULL. */ + goto done; + } + /* Otherwise, consider the following format: AA b 0xCc D */ - strv = nm_utils_strsplit_set (val_strip, " \t", FALSE); + strv = nm_utils_strsplit_set (value, " \t", FALSE); array = g_byte_array_sized_new (NM_PTRARRAY_LEN (strv)); for (iter = strv; iter && *iter; iter++) { int v; @@ -1977,8 +1980,7 @@ nmc_property_set_bytes (NMSetting *setting, const char *prop, const char *value, if (v == -1) { g_set_error (error, 1, 0, _("'%s' is not a valid hex character"), *iter); g_byte_array_free (array, TRUE); - success = FALSE; - goto done; + return FALSE; } v8 = v; g_byte_array_append (array, &v8, 1); @@ -1986,13 +1988,8 @@ nmc_property_set_bytes (NMSetting *setting, const char *prop, const char *value, bytes = g_byte_array_free_to_bytes (array); done: - if (success) - g_object_set (setting, prop, bytes, NULL); - - if (bytes) - g_bytes_unref (bytes); - - return success; + g_object_set (setting, property_info->property_name, bytes, NULL); + return TRUE; } /*****************************************************************************/ @@ -2108,14 +2105,16 @@ _get_fcn_802_1x_phase2_client_cert (ARGS_GET_FCN) } static gconstpointer -_get_fcn_802_1x_password_raw (ARGS_GET_FCN) +_get_fcn_gobject_bytes (ARGS_GET_FCN) { - NMSetting8021x *s_8021X = NM_SETTING_802_1X (setting); + gs_unref_bytes GBytes *bytes = NULL; char *str; RETURN_UNSUPPORTED_GET_TYPE (); - str = bytes_to_string (nm_setting_802_1x_get_password_raw (s_8021X)); + g_object_get (setting, property_info->property_name, &bytes, NULL); + + str = bytes_to_string (bytes); NM_SET_OUT (out_is_default, !str || !str[0]); RETURN_STR_TO_FREE (str); } @@ -2333,12 +2332,6 @@ DEFINE_SETTER_PRIV_KEY (_set_fcn_802_1x_phase2_private_key, nm_setting_802_1x_get_phase2_private_key_password, nm_setting_802_1x_set_phase2_private_key) -static gboolean -_set_fcn_802_1x_password_raw (ARGS_SET_FCN) -{ - return nmc_property_set_bytes (setting, property_info->property_name, value, error); -} - static gconstpointer _get_fcn_bond_options (ARGS_GET_FCN) { @@ -4847,16 +4840,6 @@ _gobject_enum_pre_set_notify_fcn_wireless_security_wep_key_type (const NMMetaPro } } -static const char * -_validate_fcn_wireless_security_psk (const char *value, char **out_to_free, GError **error) -{ - if (!nm_utils_wpa_psk_valid (value)) { - g_set_error (error, 1, 0, _("'%s' is not a valid PSK"), value); - return NULL; - } - return value; -} - /*****************************************************************************/ static gconstpointer @@ -5071,6 +5054,11 @@ static const NMMetaPropertyType _pt_gobject_mtu = { .set_fcn = _set_fcn_gobject_mtu, }; +static const NMMetaPropertyType _pt_gobject_bytes = { + .get_fcn = _get_fcn_gobject_bytes, + .set_fcn = _set_fcn_gobject_bytes, +}; + static const NMMetaPropertyType _pt_gobject_mac = { .get_fcn = _get_fcn_gobject, .set_fcn = _set_fcn_gobject_mac, @@ -5121,10 +5109,8 @@ static const NMMetaPropertyType _pt_ethtool = { #define PROPERTY_INFO_WITH_DESC(name, ...) \ PROPERTY_INFO (name, DESCRIBE_DOC_##name, ##__VA_ARGS__) -#define VALUES_STATIC(...) (((const char *[]) { __VA_ARGS__, NULL })) - -#define ENUM_VALUE_INFOS(...) (((const NMUtilsEnumValueInfo []) { __VA_ARGS__, { 0 } })) -#define INT_VALUE_INFOS(...) (((const NMMetaUtilsIntValueInfo []) { __VA_ARGS__, { 0 } })) +#define ENUM_VALUE_INFOS(...) (((const NMUtilsEnumValueInfo []) { __VA_ARGS__ { .nick = NULL, }, })) +#define INT_VALUE_INFOS(...) (((const NMMetaUtilsIntValueInfo []) { __VA_ARGS__ { .nick = NULL, }, })) #define GET_FCN_WITH_DEFAULT(type, func) \ /* macro that returns @func as const (gboolean(*)(NMSetting*)) type, but checks @@ -5166,12 +5152,25 @@ static const NMMetaPropertyType _pt_ethtool = { .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, \ .value_infos = INT_VALUE_INFOS ( \ { \ - .value = -1, \ + .value.i64 = -1, \ .nick = "unset", \ - } \ + }, \ ), \ ), +#define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_6LOWPAN +static const NMMetaPropertyInfo *const property_infos_6LOWPAN[] = { + PROPERTY_INFO_WITH_DESC (NM_SETTING_6LOWPAN_PARENT, + .is_cli_option = TRUE, + .property_alias = "dev", + .inf_flags = NM_META_PROPERTY_INF_FLAG_REQD, + .prompt = N_("IEEE 802.15.4 (WPAN) parent device or connection UUID"), + .property_type = &_pt_gobject_string, + ), + NULL +}; + +#undef _CURRENT_NM_META_SETTING_TYPE #define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_802_1X static const NMMetaPropertyInfo *const property_infos_802_1X[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_802_1X_EAP, @@ -5181,7 +5180,7 @@ static const NMMetaPropertyInfo *const property_infos_802_1X[] = { .remove_fcn = _remove_fcn_802_1x_eap, ), .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("leap", "md5", "tls", "peap", "ttls", "sim", "fast", "pwd"), + .values_static = NM_MAKE_STRV ("leap", "md5", "tls", "peap", "ttls", "sim", "fast", "pwd"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_802_1X_IDENTITY, @@ -5248,19 +5247,19 @@ static const NMMetaPropertyInfo *const property_infos_802_1X[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_802_1X_PHASE1_PEAPVER, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("0", "1"), + .values_static = NM_MAKE_STRV ("0", "1"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_802_1X_PHASE1_PEAPLABEL, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("0", "1"), + .values_static = NM_MAKE_STRV ("0", "1"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_802_1X_PHASE1_FAST_PROVISIONING, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("0", "1", "2", "3"), + .values_static = NM_MAKE_STRV ("0", "1", "2", "3"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_802_1X_PHASE1_AUTH_FLAGS, @@ -5275,13 +5274,13 @@ static const NMMetaPropertyInfo *const property_infos_802_1X[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_802_1X_PHASE2_AUTH, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("pap", "chap", "mschap", "mschapv2", "gtc", "otp", "md5", "tls"), + .values_static = NM_MAKE_STRV ("pap", "chap", "mschap", "mschapv2", "gtc", "otp", "md5", "tls"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_802_1X_PHASE2_AUTHEAP, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("md5", "mschapv2", "otp", "gtc", "tls"), + .values_static = NM_MAKE_STRV ("md5", "mschapv2", "otp", "gtc", "tls"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_802_1X_PHASE2_CA_CERT, @@ -5355,9 +5354,9 @@ static const NMMetaPropertyInfo *const property_infos_802_1X[] = { "(with optional 0x/0X prefix, and optional leading 0).\n\n" "Examples: ab0455a6ea3a74C2\n" " ab 4 55 0xa6 ea 3a 74 C2\n"), - .property_type = DEFINE_PROPERTY_TYPE ( - .get_fcn = _get_fcn_802_1x_password_raw, - .set_fcn = _set_fcn_802_1x_password_raw, + .property_type = &_pt_gobject_bytes, + .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_bytes, + .legacy_format = TRUE, ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_802_1X_PASSWORD_RAW_FLAGS, @@ -5443,9 +5442,9 @@ static const NMMetaPropertyInfo *const property_infos_ADSL[] = { .def_hint = NM_META_TEXT_PROMPT_ADSL_PROTO_CHOICES, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC (NM_SETTING_ADSL_PROTOCOL_PPPOA, - NM_SETTING_ADSL_PROTOCOL_PPPOE, - NM_SETTING_ADSL_PROTOCOL_IPOATM), + .values_static = NM_MAKE_STRV (NM_SETTING_ADSL_PROTOCOL_PPPOA, + NM_SETTING_ADSL_PROTOCOL_PPPOE, + NM_SETTING_ADSL_PROTOCOL_IPOATM), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_ADSL_ENCAPSULATION, @@ -5455,8 +5454,8 @@ static const NMMetaPropertyInfo *const property_infos_ADSL[] = { .def_hint = NM_META_TEXT_PROMPT_ADSL_ENCAP_CHOICES, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC (NM_SETTING_ADSL_ENCAPSULATION_VCMUX, - NM_SETTING_ADSL_ENCAPSULATION_LLC), + .values_static = NM_MAKE_STRV (NM_SETTING_ADSL_ENCAPSULATION_VCMUX, + NM_SETTING_ADSL_ENCAPSULATION_LLC), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_ADSL_VPI, @@ -5484,9 +5483,9 @@ static const NMMetaPropertyInfo *const property_infos_BLUETOOTH[] = { .def_hint = NM_META_TEXT_PROMPT_BT_TYPE_CHOICES, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC (NM_SETTING_BLUETOOTH_TYPE_DUN, - NM_SETTING_BLUETOOTH_TYPE_PANU, - NM_SETTING_BLUETOOTH_TYPE_NAP), + .values_static = NM_MAKE_STRV (NM_SETTING_BLUETOOTH_TYPE_DUN, + NM_SETTING_BLUETOOTH_TYPE_PANU, + NM_SETTING_BLUETOOTH_TYPE_NAP), ), ), NULL @@ -5680,13 +5679,13 @@ static const NMMetaPropertyInfo *const property_infos_CONNECTION[] = { .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, .value_infos = INT_VALUE_INFOS ( { - .value = -1, + .value.i64 = -1, .nick = "default", }, { - .value = 0, + .value.i64 = 0, .nick = "forever", - } + }, ), ), ), @@ -5739,11 +5738,11 @@ static const NMMetaPropertyInfo *const property_infos_CONNECTION[] = { .inf_flags = NM_META_PROPERTY_INF_FLAG_DONT_ASK, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC (NM_SETTING_BOND_SETTING_NAME, - NM_SETTING_BRIDGE_SETTING_NAME, - NM_SETTING_OVS_BRIDGE_SETTING_NAME, - NM_SETTING_OVS_PORT_SETTING_NAME, - NM_SETTING_TEAM_SETTING_NAME), + .values_static = NM_MAKE_STRV (NM_SETTING_BOND_SETTING_NAME, + NM_SETTING_BRIDGE_SETTING_NAME, + NM_SETTING_OVS_BRIDGE_SETTING_NAME, + NM_SETTING_OVS_PORT_SETTING_NAME, + NM_SETTING_TEAM_SETTING_NAME), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES, @@ -5778,7 +5777,7 @@ static const NMMetaPropertyInfo *const property_infos_CONNECTION[] = { .set_fcn = _set_fcn_connection_metered, ), .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("yes", "no", "unknown"), + .values_static = NM_MAKE_STRV ("yes", "no", "unknown"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_CONNECTION_LLDP, @@ -5790,7 +5789,7 @@ static const NMMetaPropertyInfo *const property_infos_CONNECTION[] = { { .value = NM_SETTING_CONNECTION_LLDP_ENABLE_RX, .nick = "enable", - } + }, ), ), .typ_flags = NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PARSABLE_TEXT @@ -5831,7 +5830,7 @@ static const NMMetaPropertyInfo *const property_infos_DCB[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_DCB_APP_FCOE_MODE, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC (NM_SETTING_DCB_FCOE_MODE_FABRIC, + .values_static = NM_MAKE_STRV (NM_SETTING_DCB_FCOE_MODE_FABRIC, NM_SETTING_DCB_FCOE_MODE_VN2VN), ), ), @@ -6061,7 +6060,7 @@ static const NMMetaPropertyInfo *const property_infos_INFINIBAND[] = { .def_hint = NM_META_TEXT_PROMPT_IB_MODE_CHOICES, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("datagram", "connected"), + .values_static = NM_MAKE_STRV ("datagram", "connected"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_INFINIBAND_P_KEY, @@ -6173,15 +6172,15 @@ static const NMMetaPropertyInfo *const property_infos_IP4_CONFIG[] = { PROPERTY_INFO (NM_SETTING_IP_CONFIG_ROUTE_TABLE, DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_ROUTE_TABLE, .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, - .value_infos = INT_VALUE_INFOS ( + .value_infos = INT_VALUE_INFOS ( { - .value = 0, + .value.i64 = 0, .nick = "unspec", }, { - .value = 254, + .value.i64 = 254, .nick = "main", - } + }, ), ), ), @@ -6197,15 +6196,15 @@ static const NMMetaPropertyInfo *const property_infos_IP4_CONFIG[] = { PROPERTY_INFO (NM_SETTING_IP_CONFIG_DHCP_TIMEOUT, DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_TIMEOUT, .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, - .value_infos = INT_VALUE_INFOS ( + .value_infos = INT_VALUE_INFOS ( { - .value = 0, + .value.i64 = 0, .nick = "default", }, { - .value = G_MAXINT32, + .value.i64 = G_MAXINT32, .nick = "infinity", - } + }, ), ), ), @@ -6229,13 +6228,13 @@ static const NMMetaPropertyInfo *const property_infos_IP4_CONFIG[] = { .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, .value_infos = INT_VALUE_INFOS ( { - .value = -1, + .value.i64 = -1, .nick = "default", }, { - .value = 0, + .value.i64 = 0, .nick = "off", - } + }, ), ), ), @@ -6336,15 +6335,15 @@ static const NMMetaPropertyInfo *const property_infos_IP6_CONFIG[] = { PROPERTY_INFO (NM_SETTING_IP_CONFIG_ROUTE_TABLE, DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_ROUTE_TABLE, .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, - .value_infos = INT_VALUE_INFOS ( + .value_infos = INT_VALUE_INFOS ( { - .value = 0, + .value.i64 = 0, .nick = "unspec", }, { - .value = 254, + .value.i64 = 254, .nick = "main", - } + }, ), ), ), @@ -6371,7 +6370,7 @@ static const NMMetaPropertyInfo *const property_infos_IP6_CONFIG[] = { { .value = NM_SETTING_IP6_CONFIG_PRIVACY_PREFER_TEMP_ADDR, .nick = "enabled, prefer temporary IP", - } + }, ), ), ), @@ -6621,47 +6620,12 @@ static const NMMetaPropertyInfo *const property_infos_OLPC_MESH[] = { }; #undef _CURRENT_NM_META_SETTING_TYPE -#define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_PPPOE -static const NMMetaPropertyInfo *const property_infos_PPPOE[] = { - PROPERTY_INFO_WITH_DESC (NM_SETTING_PPPOE_PARENT, - .is_cli_option = TRUE, - .property_alias = "parent", - .prompt = N_("PPPoE parent device"), - .property_type = &_pt_gobject_string, - ), - PROPERTY_INFO_WITH_DESC (NM_SETTING_PPPOE_SERVICE, - .is_cli_option = TRUE, - .property_alias = "service", - .prompt = N_("Service [none]"), - .property_type = &_pt_gobject_string, - ), - PROPERTY_INFO_WITH_DESC (NM_SETTING_PPPOE_USERNAME, - .is_cli_option = TRUE, - .property_alias = "username", - .inf_flags = NM_META_PROPERTY_INF_FLAG_REQD, - .prompt = N_("PPPoE username"), - .property_type = &_pt_gobject_string, - ), - PROPERTY_INFO_WITH_DESC (NM_SETTING_PPPOE_PASSWORD, - .is_cli_option = TRUE, - .property_alias = "password", - .prompt = N_("Password [none]"), - .is_secret = TRUE, - .property_type = &_pt_gobject_string, - ), - PROPERTY_INFO_WITH_DESC (NM_SETTING_PPPOE_PASSWORD_FLAGS, - .property_type = &_pt_gobject_secret_flags, - ), - NULL -}; - -#undef _CURRENT_NM_META_SETTING_TYPE #define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_OVS_BRIDGE static const NMMetaPropertyInfo *const property_infos_OVS_BRIDGE[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_OVS_BRIDGE_FAIL_MODE, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("secure", "standalone"), + .values_static = NM_MAKE_STRV ("secure", "standalone"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_OVS_BRIDGE_MCAST_SNOOPING_ENABLE, @@ -6682,7 +6646,7 @@ static const NMMetaPropertyInfo *const property_infos_OVS_INTERFACE[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_OVS_INTERFACE_TYPE, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("internal", "patch"), + .values_static = NM_MAKE_STRV ("internal", "patch"), ), ), NULL @@ -6703,7 +6667,7 @@ static const NMMetaPropertyInfo *const property_infos_OVS_PORT[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_OVS_PORT_VLAN_MODE, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("access", "native-tagged", "native-untagged", "trunk"), + .values_static = NM_MAKE_STRV ("access", "native-tagged", "native-untagged", "trunk"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_OVS_PORT_TAG, @@ -6712,13 +6676,13 @@ static const NMMetaPropertyInfo *const property_infos_OVS_PORT[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_OVS_PORT_LACP, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("active", "off", "passive"), + .values_static = NM_MAKE_STRV ("active", "off", "passive"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_OVS_PORT_BOND_MODE, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("active-backup", "balance-slb", "balance-tcp"), + .values_static = NM_MAKE_STRV ("active-backup", "balance-slb", "balance-tcp"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_OVS_PORT_BOND_UPDELAY, @@ -6794,6 +6758,41 @@ static const NMMetaPropertyInfo *const property_infos_PPP[] = { }; #undef _CURRENT_NM_META_SETTING_TYPE +#define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_PPPOE +static const NMMetaPropertyInfo *const property_infos_PPPOE[] = { + PROPERTY_INFO_WITH_DESC (NM_SETTING_PPPOE_PARENT, + .is_cli_option = TRUE, + .property_alias = "parent", + .prompt = N_("PPPoE parent device"), + .property_type = &_pt_gobject_string, + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_PPPOE_SERVICE, + .is_cli_option = TRUE, + .property_alias = "service", + .prompt = N_("Service [none]"), + .property_type = &_pt_gobject_string, + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_PPPOE_USERNAME, + .is_cli_option = TRUE, + .property_alias = "username", + .inf_flags = NM_META_PROPERTY_INF_FLAG_REQD, + .prompt = N_("PPPoE username"), + .property_type = &_pt_gobject_string, + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_PPPOE_PASSWORD, + .is_cli_option = TRUE, + .property_alias = "password", + .prompt = N_("Password [none]"), + .is_secret = TRUE, + .property_type = &_pt_gobject_string, + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_PPPOE_PASSWORD_FLAGS, + .property_type = &_pt_gobject_secret_flags, + ), + NULL +}; + +#undef _CURRENT_NM_META_SETTING_TYPE #define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_PROXY static const NMMetaPropertyInfo *const property_infos_PROXY[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_PROXY_METHOD, @@ -6835,6 +6834,78 @@ static const NMMetaPropertyInfo *const property_infos_PROXY[] = { }; #undef _CURRENT_NM_META_SETTING_TYPE +#define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_SERIAL +static const NMMetaPropertyInfo *const property_infos_SERIAL[] = { + PROPERTY_INFO_WITH_DESC (NM_SETTING_SERIAL_BAUD, + .property_type = &_pt_gobject_int, + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_SERIAL_BITS, + .property_type = &_pt_gobject_int, + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_SERIAL_PARITY, + .property_type = &_pt_gobject_enum, + .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( + PROPERTY_TYP_DATA_SUBTYPE (gobject_enum, + .value_infos = ENUM_VALUE_INFOS ( + { + .value = NM_SETTING_SERIAL_PARITY_EVEN, + .nick = "E", + }, + { + .value = NM_SETTING_SERIAL_PARITY_EVEN, + .nick = "e", + }, + { + .value = NM_SETTING_SERIAL_PARITY_ODD, + .nick = "O", + }, + { + .value = NM_SETTING_SERIAL_PARITY_ODD, + .nick = "o", + }, + { + .value = NM_SETTING_SERIAL_PARITY_NONE, + .nick = "N", + }, + { + .value = NM_SETTING_SERIAL_PARITY_NONE, + .nick = "n", + }, + ), + ), + .typ_flags = NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PARSABLE_TEXT + | NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_TEXT, + ), + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_SERIAL_STOPBITS, + .property_type = &_pt_gobject_int, + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_SERIAL_SEND_DELAY, + .property_type = &_pt_gobject_int, + ), + NULL +}; + +#undef _CURRENT_NM_META_SETTING_TYPE +#define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_SRIOV +static const NMMetaPropertyInfo *const property_infos_SRIOV[] = { + PROPERTY_INFO_WITH_DESC (NM_SETTING_SRIOV_TOTAL_VFS, + .property_type = &_pt_gobject_int, + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_SRIOV_VFS, + .property_type = DEFINE_PROPERTY_TYPE ( + .get_fcn = _get_fcn_sriov_vfs, + .set_fcn = _set_fcn_sriov_vfs, + .remove_fcn = _remove_fcn_sriov_vfs, + ), + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_SRIOV_AUTOPROBE_DRIVERS, + .property_type = &_pt_gobject_enum, + ), + NULL +}; + +#undef _CURRENT_NM_META_SETTING_TYPE #define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_TC_CONFIG static const NMMetaPropertyInfo *const property_infos_TC_CONFIG[] = { PROPERTY_INFO (NM_SETTING_TC_CONFIG_QDISCS, DESCRIBE_DOC_NM_SETTING_TC_CONFIG_QDISCS, @@ -6870,64 +6941,64 @@ static const NMMetaPropertyInfo *const property_infos_TEAM[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_NOTIFY_PEERS_COUNT, .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, - .value_infos = INT_VALUE_INFOS ( + .value_infos = INT_VALUE_INFOS ( { - .value = 0, + .value.i64 = 0, .nick = "disabled", - } + }, ), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_NOTIFY_PEERS_INTERVAL, .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, - .value_infos = INT_VALUE_INFOS ( + .value_infos = INT_VALUE_INFOS ( { - .value = 0, + .value.i64 = 0, .nick = "default", - } + }, ), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_MCAST_REJOIN_COUNT, .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, - .value_infos = INT_VALUE_INFOS ( + .value_infos = INT_VALUE_INFOS ( { - .value = 0, + .value.i64 = 0, .nick = "disabled", - } + }, ), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_MCAST_REJOIN_INTERVAL, .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, - .value_infos = INT_VALUE_INFOS ( + .value_infos = INT_VALUE_INFOS ( { - .value = 0, + .value.i64 = 0, .nick = "default", - } + }, ), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_RUNNER, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC (NM_SETTING_TEAM_RUNNER_BROADCAST, - NM_SETTING_TEAM_RUNNER_ROUNDROBIN, - NM_SETTING_TEAM_RUNNER_RANDOM, - NM_SETTING_TEAM_RUNNER_ACTIVEBACKUP, - NM_SETTING_TEAM_RUNNER_LOADBALANCE, - NM_SETTING_TEAM_RUNNER_LACP), + .values_static = NM_MAKE_STRV (NM_SETTING_TEAM_RUNNER_BROADCAST, + NM_SETTING_TEAM_RUNNER_ROUNDROBIN, + NM_SETTING_TEAM_RUNNER_RANDOM, + NM_SETTING_TEAM_RUNNER_ACTIVEBACKUP, + NM_SETTING_TEAM_RUNNER_LOADBALANCE, + NM_SETTING_TEAM_RUNNER_LACP), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_RUNNER_HWADDR_POLICY, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC (NM_SETTING_TEAM_RUNNER_HWADDR_POLICY_SAME_ALL, - NM_SETTING_TEAM_RUNNER_HWADDR_POLICY_BY_ACTIVE, - NM_SETTING_TEAM_RUNNER_HWADDR_POLICY_ONLY_ACTIVE), + .values_static = NM_MAKE_STRV (NM_SETTING_TEAM_RUNNER_HWADDR_POLICY_SAME_ALL, + NM_SETTING_TEAM_RUNNER_HWADDR_POLICY_BY_ACTIVE, + NM_SETTING_TEAM_RUNNER_HWADDR_POLICY_ONLY_ACTIVE), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_RUNNER_TX_HASH, @@ -6940,17 +7011,17 @@ static const NMMetaPropertyInfo *const property_infos_TEAM[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_RUNNER_TX_BALANCER, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("basic"), + .values_static = NM_MAKE_STRV ("basic"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_RUNNER_TX_BALANCER_INTERVAL, .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, - .value_infos = INT_VALUE_INFOS ( + .value_infos = INT_VALUE_INFOS ( { - .value = NM_SETTING_TEAM_RUNNER_TX_BALANCER_INTERVAL_DEFAULT, + .value.i64 = NM_SETTING_TEAM_RUNNER_TX_BALANCER_INTERVAL_DEFAULT, .nick = "default", - } + }, ), ), ), @@ -6963,33 +7034,33 @@ static const NMMetaPropertyInfo *const property_infos_TEAM[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_RUNNER_SYS_PRIO, .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, - .value_infos = INT_VALUE_INFOS ( + .value_infos = INT_VALUE_INFOS ( { - .value = NM_SETTING_TEAM_RUNNER_SYS_PRIO_DEFAULT, + .value.i64 = NM_SETTING_TEAM_RUNNER_SYS_PRIO_DEFAULT, .nick = "default", - } + }, ), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_RUNNER_MIN_PORTS, .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, - .value_infos = INT_VALUE_INFOS ( + .value_infos = INT_VALUE_INFOS ( { - .value = 0, + .value.i64 = 0, .nick = "default", - } + }, ), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC (NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_LACP_PRIO, - NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_LACP_PRIO_STABLE, - NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_BANDWIDTH, - NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_COUNT, - NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_PORT_CONFIG), + .values_static = NM_MAKE_STRV (NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_LACP_PRIO, + NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_LACP_PRIO_STABLE, + NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_BANDWIDTH, + NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_COUNT, + NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_PORT_CONFIG), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_LINK_WATCHERS, @@ -7019,22 +7090,22 @@ static const NMMetaPropertyInfo *const property_infos_TEAM_PORT[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_PORT_QUEUE_ID, .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, - .value_infos = INT_VALUE_INFOS ( + .value_infos = INT_VALUE_INFOS ( { - .value = NM_SETTING_TEAM_PORT_QUEUE_ID_DEFAULT, + .value.i64 = NM_SETTING_TEAM_PORT_QUEUE_ID_DEFAULT, .nick = "default", - } + }, ), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_PORT_PRIO, .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, - .value_infos = INT_VALUE_INFOS ( + .value_infos = INT_VALUE_INFOS ( { - .value = 0, + .value.i64 = 0, .nick = "default", - } + }, ), ), ), @@ -7044,22 +7115,22 @@ static const NMMetaPropertyInfo *const property_infos_TEAM_PORT[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_PORT_LACP_PRIO, .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, - .value_infos = INT_VALUE_INFOS ( + .value_infos = INT_VALUE_INFOS ( { - .value = NM_SETTING_TEAM_PORT_LACP_PRIO_DEFAULT, + .value.i64 = NM_SETTING_TEAM_PORT_LACP_PRIO_DEFAULT, .nick = "default", - } + }, ), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_TEAM_PORT_LACP_KEY, .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, - .value_infos = INT_VALUE_INFOS ( + .value_infos = INT_VALUE_INFOS ( { - .value = 0, + .value.i64 = 0, .nick = "default", - } + }, ), ), ), @@ -7075,78 +7146,6 @@ static const NMMetaPropertyInfo *const property_infos_TEAM_PORT[] = { }; #undef _CURRENT_NM_META_SETTING_TYPE -#define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_SERIAL -static const NMMetaPropertyInfo *const property_infos_SERIAL[] = { - PROPERTY_INFO_WITH_DESC (NM_SETTING_SERIAL_BAUD, - .property_type = &_pt_gobject_int, - ), - PROPERTY_INFO_WITH_DESC (NM_SETTING_SERIAL_BITS, - .property_type = &_pt_gobject_int, - ), - PROPERTY_INFO_WITH_DESC (NM_SETTING_SERIAL_PARITY, - .property_type = &_pt_gobject_enum, - .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - PROPERTY_TYP_DATA_SUBTYPE (gobject_enum, - .value_infos = ENUM_VALUE_INFOS ( - { - .value = NM_SETTING_SERIAL_PARITY_EVEN, - .nick = "E", - }, - { - .value = NM_SETTING_SERIAL_PARITY_EVEN, - .nick = "e", - }, - { - .value = NM_SETTING_SERIAL_PARITY_ODD, - .nick = "O", - }, - { - .value = NM_SETTING_SERIAL_PARITY_ODD, - .nick = "o", - }, - { - .value = NM_SETTING_SERIAL_PARITY_NONE, - .nick = "N", - }, - { - .value = NM_SETTING_SERIAL_PARITY_NONE, - .nick = "n", - } - ), - ), - .typ_flags = NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PARSABLE_TEXT - | NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_TEXT, - ), - ), - PROPERTY_INFO_WITH_DESC (NM_SETTING_SERIAL_STOPBITS, - .property_type = &_pt_gobject_int, - ), - PROPERTY_INFO_WITH_DESC (NM_SETTING_SERIAL_SEND_DELAY, - .property_type = &_pt_gobject_int, - ), - NULL -}; - -#undef _CURRENT_NM_META_SETTING_TYPE -#define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_SRIOV -static const NMMetaPropertyInfo *const property_infos_SRIOV[] = { - PROPERTY_INFO_WITH_DESC (NM_SETTING_SRIOV_TOTAL_VFS, - .property_type = &_pt_gobject_int, - ), - PROPERTY_INFO_WITH_DESC (NM_SETTING_SRIOV_VFS, - .property_type = DEFINE_PROPERTY_TYPE ( - .get_fcn = _get_fcn_sriov_vfs, - .set_fcn = _set_fcn_sriov_vfs, - .remove_fcn = _remove_fcn_sriov_vfs, - ), - ), - PROPERTY_INFO_WITH_DESC (NM_SETTING_SRIOV_AUTOPROBE_DRIVERS, - .property_type = &_pt_gobject_enum, - ), - NULL -}; - -#undef _CURRENT_NM_META_SETTING_TYPE #define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_TUN static const NMMetaPropertyInfo *const property_infos_TUN[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_TUN_MODE, @@ -7366,6 +7365,30 @@ static const NMMetaPropertyInfo *const property_infos_VXLAN[] = { }; #undef _CURRENT_NM_META_SETTING_TYPE +#define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_WIFI_P2P +static const NMMetaPropertyInfo *const property_infos_WIFI_P2P[] = { + PROPERTY_INFO_WITH_DESC (NM_SETTING_WIFI_P2P_PEER, + .is_cli_option = TRUE, + .property_alias = "peer", + .inf_flags = NM_META_PROPERTY_INF_FLAG_REQD, + .prompt = N_("Peer"), + .property_type = &_pt_gobject_mac, + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_WIFI_P2P_WPS_METHOD, + .property_type = &_pt_gobject_enum, + .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( + PROPERTY_TYP_DATA_SUBTYPE (gobject_enum, + .get_gtype = nm_setting_wireless_security_wps_method_get_type, + ), + ), + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_WIFI_P2P_WFD_IES, + .property_type = &_pt_gobject_bytes, + ), + NULL +}; + +#undef _CURRENT_NM_META_SETTING_TYPE #define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_WIMAX static const NMMetaPropertyInfo *const property_infos_WIMAX[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_WIMAX_MAC_ADDRESS, @@ -7400,7 +7423,7 @@ static const NMMetaPropertyInfo *const property_infos_WIRED[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_WIRED_DUPLEX, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("half", "full"), + .values_static = NM_MAKE_STRV ("half", "full"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_WIRED_AUTO_NEGOTIATE, @@ -7452,7 +7475,7 @@ static const NMMetaPropertyInfo *const property_infos_WIRED[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_WIRED_S390_NETTYPE, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("qeth", "lcs", "ctc"), + .values_static = NM_MAKE_STRV ("qeth", "lcs", "ctc"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_WIRED_S390_OPTIONS, @@ -7481,7 +7504,7 @@ static const NMMetaPropertyInfo *const property_infos_WIRED[] = { { .value = NM_SETTING_WIRED_WAKE_ON_LAN_NONE, .nick = "disabled", - } + }, ), ), .typ_flags = NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PARSABLE_TEXT @@ -7495,6 +7518,34 @@ static const NMMetaPropertyInfo *const property_infos_WIRED[] = { }; #undef _CURRENT_NM_META_SETTING_TYPE +#define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_WIREGUARD +static const NMMetaPropertyInfo *const property_infos_WIREGUARD[] = { + PROPERTY_INFO_WITH_DESC (NM_SETTING_WIREGUARD_PRIVATE_KEY, + .is_secret = TRUE, + .property_type = &_pt_gobject_string, + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_WIREGUARD_PRIVATE_KEY_FLAGS, + .property_type = &_pt_gobject_secret_flags, + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_WIREGUARD_LISTEN_PORT, + .property_type = &_pt_gobject_int, + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_WIREGUARD_FWMARK, + .property_type = &_pt_gobject_int, + .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, \ + .base = 16, + ), + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_WIREGUARD_PEER_ROUTES, + .property_type = &_pt_gobject_bool, + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_WIREGUARD_MTU, + .property_type = &_pt_gobject_mtu, + ), + NULL +}; + +#undef _CURRENT_NM_META_SETTING_TYPE #define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_WIRELESS static const NMMetaPropertyInfo *const property_infos_WIRELESS[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_WIRELESS_SSID, @@ -7514,15 +7565,15 @@ static const NMMetaPropertyInfo *const property_infos_WIRELESS[] = { .def_hint = NM_META_TEXT_PROMPT_WIFI_MODE_CHOICES, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC (NM_SETTING_WIRELESS_MODE_INFRA, - NM_SETTING_WIRELESS_MODE_ADHOC, - NM_SETTING_WIRELESS_MODE_AP), + .values_static = NM_MAKE_STRV (NM_SETTING_WIRELESS_MODE_INFRA, + NM_SETTING_WIRELESS_MODE_ADHOC, + NM_SETTING_WIRELESS_MODE_AP), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_WIRELESS_BAND, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("a", "bg"), + .values_static = NM_MAKE_STRV ("a", "bg"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_WIRELESS_CHANNEL, @@ -7610,7 +7661,7 @@ static const NMMetaPropertyInfo *const property_infos_WIRELESS[] = { { .value = NM_SETTING_WIRELESS_WAKE_ON_WLAN_NONE, .nick = "disabled", - } + }, ), ), ), @@ -7624,7 +7675,7 @@ static const NMMetaPropertyInfo *const property_infos_WIRELESS_SECURITY[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("none", "ieee8021x", "wpa-none", "wpa-psk", "wpa-eap"), + .values_static = NM_MAKE_STRV ("none", "ieee8021x", "wpa-none", "wpa-psk", "wpa-eap", "sae"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_WIRELESS_SECURITY_WEP_TX_KEYIDX, @@ -7633,7 +7684,7 @@ static const NMMetaPropertyInfo *const property_infos_WIRELESS_SECURITY[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_WIRELESS_SECURITY_AUTH_ALG, .property_type = &_pt_gobject_string, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( - .values_static = VALUES_STATIC ("open", "shared", "leap"), + .values_static = NM_MAKE_STRV ("open", "shared", "leap"), ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_WIRELESS_SECURITY_PROTO, @@ -7724,9 +7775,6 @@ static const NMMetaPropertyInfo *const property_infos_WIRELESS_SECURITY[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_WIRELESS_SECURITY_PSK, .is_secret = TRUE, .property_type = &_pt_gobject_string, - .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_string, - .validate_fcn = _validate_fcn_wireless_security_psk, - ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_WIRELESS_SECURITY_PSK_FLAGS, .property_type = &_pt_gobject_secret_flags, @@ -7775,12 +7823,12 @@ static const NMMetaPropertyInfo *const property_infos_WPAN[] = { .prompt = N_("Short address (<0x0000-0xffff>)"), .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, \ - .base = 16, - .value_infos = INT_VALUE_INFOS ( + .base = 16, + .value_infos = INT_VALUE_INFOS ( { - .value = G_MAXUINT16, + .value.i64 = G_MAXUINT16, .nick = "unset", - } + }, ), ), ), @@ -7791,27 +7839,42 @@ static const NMMetaPropertyInfo *const property_infos_WPAN[] = { .prompt = N_("PAN Identifier (<0x0000-0xffff>)"), .property_type = &_pt_gobject_int, .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, \ - .base = 16, - .value_infos = INT_VALUE_INFOS ( + .base = 16, + .value_infos = INT_VALUE_INFOS ( { - .value = G_MAXUINT16, + .value.i64 = G_MAXUINT16, .nick = "unset", - } + }, ), ), ), - NULL -}; - -#undef _CURRENT_NM_META_SETTING_TYPE -#define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_6LOWPAN -static const NMMetaPropertyInfo *const property_infos_6LOWPAN[] = { - PROPERTY_INFO_WITH_DESC (NM_SETTING_6LOWPAN_PARENT, + PROPERTY_INFO_WITH_DESC (NM_SETTING_WPAN_PAGE, .is_cli_option = TRUE, - .property_alias = "dev", - .inf_flags = NM_META_PROPERTY_INF_FLAG_REQD, - .prompt = N_("IEEE 802.15.4 (WPAN) parent device or connection UUID"), - .property_type = &_pt_gobject_string, + .property_alias = "page", + .prompt = N_("Page (<default|0-31>)"), + .property_type = &_pt_gobject_int, + .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, \ + .value_infos = INT_VALUE_INFOS ( + { + .value.i64 = NM_SETTING_WPAN_PAGE_DEFAULT, + .nick = "default", + }, + ), + ), + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_WPAN_CHANNEL, + .is_cli_option = TRUE, + .property_alias = "channel", + .prompt = N_("Channel (<default|0-26>)"), + .property_type = &_pt_gobject_int, + .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int, \ + .value_infos = INT_VALUE_INFOS ( + { + .value.i64 = NM_SETTING_WPAN_CHANNEL_DEFAULT, + .nick = "default", + }, + ), + ), ), NULL }; @@ -7844,9 +7907,9 @@ static void _setting_init_fcn_gsm (ARGS_SETTING_INIT_FCN) { if (init_type == NM_META_ACCESSOR_SETTING_INIT_TYPE_CLI) { - /* Initialize 'number' so that 'gsm' is valid */ + /* Initialize 'apn' so that 'gsm' is valid */ g_object_set (NM_SETTING_GSM (setting), - NM_SETTING_GSM_NUMBER, "*99#", + NM_SETTING_GSM_APN, "internet", NULL); } } @@ -7937,6 +8000,7 @@ _setting_init_fcn_wireless (ARGS_SETTING_INIT_FCN) /*****************************************************************************/ +#define SETTING_PRETTY_NAME_6LOWPAN N_("6LOWPAN settings") #define SETTING_PRETTY_NAME_802_1X N_("802-1x settings") #define SETTING_PRETTY_NAME_ADSL N_("ADSL connection") #define SETTING_PRETTY_NAME_BLUETOOTH N_("bluetooth connection") @@ -7958,10 +8022,10 @@ _setting_init_fcn_wireless (ARGS_SETTING_INIT_FCN) #define SETTING_PRETTY_NAME_MACVLAN N_("macvlan connection") #define SETTING_PRETTY_NAME_MATCH N_("Match") #define SETTING_PRETTY_NAME_OLPC_MESH N_("OLPC Mesh connection") -#define SETTING_PRETTY_NAME_OVS_BRIDGE N_("OpenVSwitch bridge settings") -#define SETTING_PRETTY_NAME_OVS_INTERFACE N_("OpenVSwitch interface settings") -#define SETTING_PRETTY_NAME_OVS_PATCH N_("OpenVSwitch patch interface settings") -#define SETTING_PRETTY_NAME_OVS_PORT N_("OpenVSwitch port settings") +#define SETTING_PRETTY_NAME_OVS_BRIDGE N_("Open vSwitch bridge settings") +#define SETTING_PRETTY_NAME_OVS_INTERFACE N_("Open vSwitch interface settings") +#define SETTING_PRETTY_NAME_OVS_PATCH N_("Open vSwitch patch interface settings") +#define SETTING_PRETTY_NAME_OVS_PORT N_("Open vSwitch port settings") #define SETTING_PRETTY_NAME_PPP N_("PPP settings") #define SETTING_PRETTY_NAME_PPPOE N_("PPPoE") #define SETTING_PRETTY_NAME_PROXY N_("Proxy") @@ -7975,12 +8039,13 @@ _setting_init_fcn_wireless (ARGS_SETTING_INIT_FCN) #define SETTING_PRETTY_NAME_VLAN N_("VLAN connection") #define SETTING_PRETTY_NAME_VPN N_("VPN connection") #define SETTING_PRETTY_NAME_VXLAN N_("VXLAN connection") +#define SETTING_PRETTY_NAME_WIFI_P2P N_("Wi-Fi P2P connection") #define SETTING_PRETTY_NAME_WIMAX N_("WiMAX connection") #define SETTING_PRETTY_NAME_WIRED N_("Wired Ethernet") +#define SETTING_PRETTY_NAME_WIREGUARD N_("WireGuard VPN settings") #define SETTING_PRETTY_NAME_WIRELESS N_("Wi-Fi connection") #define SETTING_PRETTY_NAME_WIRELESS_SECURITY N_("Wi-Fi security settings") #define SETTING_PRETTY_NAME_WPAN N_("WPAN settings") -#define SETTING_PRETTY_NAME_6LOWPAN N_("6LOWPAN settings") #define NM_META_SETTING_VALID_PARTS(...) \ ((const NMMetaSettingValidPartItem *const[]) { __VA_ARGS__ NULL }) @@ -8218,6 +8283,12 @@ const NMMetaSettingInfoEditor nm_meta_setting_infos_editor[] = { NM_META_SETTING_VALID_PART_ITEM (ETHTOOL, FALSE), ), ), + SETTING_INFO (WIFI_P2P, + .valid_parts = NM_META_SETTING_VALID_PARTS ( + NM_META_SETTING_VALID_PART_ITEM (CONNECTION, TRUE), + NM_META_SETTING_VALID_PART_ITEM (WIFI_P2P, TRUE), + ), + ), SETTING_INFO (WIMAX, .valid_parts = NM_META_SETTING_VALID_PARTS ( NM_META_SETTING_VALID_PART_ITEM (CONNECTION, TRUE), @@ -8235,6 +8306,12 @@ const NMMetaSettingInfoEditor nm_meta_setting_infos_editor[] = { NM_META_SETTING_VALID_PART_ITEM (ETHTOOL, FALSE), ), ), + SETTING_INFO (WIREGUARD, + .valid_parts = NM_META_SETTING_VALID_PARTS ( + NM_META_SETTING_VALID_PART_ITEM (CONNECTION, TRUE), + NM_META_SETTING_VALID_PART_ITEM (WIREGUARD, TRUE), + ), + ), SETTING_INFO (WIRELESS, .alias = "wifi", .valid_parts = NM_META_SETTING_VALID_PARTS ( |