diff options
| author | Michael Biebl <biebl@debian.org> | 2023-03-09 20:01:53 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2023-03-09 20:01:53 +0100 |
| commit | cffb548b401e2cd3fad166aa92e0f634bbb1d4d6 (patch) | |
| tree | 6d803d8f7d0d92a1c5e5705974fff8975472af95 /src/nm-cloud-setup | |
| parent | 647d6b95d5475e0a1bf3d6f299d1cb8c9041a7a4 (diff) | |
| parent | 12e1ee797bbf0b10d1fd5afd4b947484769f2b9f (diff) | |
Merge tag 'debian/1.42.4-1' into debian/bullseye-backports
network-manager Debian release 1.42.4-1
Diffstat (limited to 'src/nm-cloud-setup')
| -rw-r--r-- | src/nm-cloud-setup/main.c | 34 | ||||
| -rw-r--r-- | src/nm-cloud-setup/nm-cloud-setup-utils.c | 4 | ||||
| -rw-r--r-- | src/nm-cloud-setup/nm-http-client.h | 3 | ||||
| -rw-r--r-- | src/nm-cloud-setup/nmcs-provider-aliyun.c | 26 | ||||
| -rw-r--r-- | src/nm-cloud-setup/nmcs-provider-aliyun.h | 2 | ||||
| -rw-r--r-- | src/nm-cloud-setup/nmcs-provider-azure.c | 6 | ||||
| -rw-r--r-- | src/nm-cloud-setup/nmcs-provider-azure.h | 2 | ||||
| -rw-r--r-- | src/nm-cloud-setup/nmcs-provider-ec2.c | 12 | ||||
| -rw-r--r-- | src/nm-cloud-setup/nmcs-provider-ec2.h | 2 | ||||
| -rw-r--r-- | src/nm-cloud-setup/nmcs-provider-gcp.h | 2 | ||||
| -rw-r--r-- | src/nm-cloud-setup/nmcs-provider.h | 2 |
11 files changed, 44 insertions, 51 deletions
diff --git a/src/nm-cloud-setup/main.c b/src/nm-cloud-setup/main.c index e1cbd1d4..d6802634 100644 --- a/src/nm-cloud-setup/main.c +++ b/src/nm-cloud-setup/main.c @@ -347,13 +347,12 @@ _nmc_mangle_connection(NMDevice *device, * We don't need to configure policy routing in this case. */ NM_SET_OUT(out_skipped_single_addr, TRUE); } else if (config_data->has_ipv4s && config_data->has_cidr) { - gs_unref_hashtable GHashTable *unique_subnets = - g_hash_table_new(nm_direct_hash, g_direct_equal); - NMIPAddress *addr_entry; - NMIPRoute *route_entry; - NMIPRoutingRule *rule_entry; - in_addr_t gateway; - char sbuf[NM_UTILS_INET_ADDRSTRLEN]; + gs_unref_hashtable GHashTable *unique_subnets = g_hash_table_new(nm_direct_hash, NULL); + NMIPAddress *addr_entry; + NMIPRoute *route_entry; + NMIPRoutingRule *rule_entry; + in_addr_t gateway; + char sbuf[NM_INET_ADDRSTRLEN]; for (i = 0; i < config_data->ipv4s_len; i++) { addr_entry = nm_ip_address_new_binary(AF_INET, @@ -367,8 +366,8 @@ _nmc_mangle_connection(NMDevice *device, if (config_data->has_gateway && config_data->gateway) { gateway = config_data->gateway; } else { - gateway = nm_utils_ip4_address_clear_host_address(config_data->cidr_addr, - config_data->cidr_prefix); + gateway = + nm_ip4_addr_clear_host_address(config_data->cidr_addr, config_data->cidr_prefix); if (config_data->cidr_prefix < 32) ((guint8 *) &gateway)[3] += 1; } @@ -376,7 +375,7 @@ _nmc_mangle_connection(NMDevice *device, for (i = 0; i < config_data->ipv4s_len; i++) { in_addr_t a = config_data->ipv4s_arr[i]; - a = nm_utils_ip4_address_clear_host_address(a, config_data->cidr_prefix); + a = nm_ip4_addr_clear_host_address(a, config_data->cidr_prefix); G_STATIC_ASSERT_EXPR(sizeof(gsize) >= sizeof(in_addr_t)); if (g_hash_table_add(unique_subnets, GSIZE_TO_POINTER(a))) { @@ -391,7 +390,7 @@ _nmc_mangle_connection(NMDevice *device, rule_entry = nm_ip_routing_rule_new(AF_INET); nm_ip_routing_rule_set_priority(rule_entry, 30200 + config_data->iface_idx); nm_ip_routing_rule_set_from(rule_entry, - _nm_utils_inet4_ntop(config_data->ipv4s_arr[i], sbuf), + nm_inet4_ntop(config_data->ipv4s_arr[i], sbuf), 32); nm_ip_routing_rule_set_table(rule_entry, 30200 + config_data->iface_idx); nm_assert(nm_ip_routing_rule_validate(rule_entry, NULL)); @@ -415,7 +414,7 @@ _nmc_mangle_connection(NMDevice *device, rule_entry = nm_ip_routing_rule_new(AF_INET); nm_ip_routing_rule_set_priority(rule_entry, 30400 + config_data->iface_idx); nm_ip_routing_rule_set_from(rule_entry, - _nm_utils_inet4_ntop(config_data->ipv4s_arr[i], sbuf), + nm_inet4_ntop(config_data->ipv4s_arr[i], sbuf), 32); nm_ip_routing_rule_set_table(rule_entry, 30400 + config_data->iface_idx); nm_assert(nm_ip_routing_rule_validate(rule_entry, NULL)); @@ -553,12 +552,11 @@ try_again: /* we are about to call Reapply(). Even if that fails, it counts as if we changed something. */ any_changes = TRUE; - /* "preserve-external-ip" flag was only introduced in 1.41.6 and 1.40.9. - * We have no convenient way to check the daemon version (short of parsing the "Version" - * string). Hence, we don't know it. Take into account, that the daemon that we - * talk to might not support the flag yet. This is to support backward compatibility - * during package upgrade. */ - maybe_no_preserved_external_ip = TRUE; + /* "preserve-external-ip" flag was only introduced in 1.41.6 (but maybe backported!). + * If we run 1.41.6+, we are sure that it's gonna work. Otherwise, we take into account + * that the call might fail due to the invalid flag and we retry. */ + maybe_no_preserved_external_ip = + (nmc_client_has_version_info_v(nmc) < NM_ENCODE_VERSION(1, 41, 6)); if (!nmcs_device_reapply(device, sigterm_cancellable, diff --git a/src/nm-cloud-setup/nm-cloud-setup-utils.c b/src/nm-cloud-setup/nm-cloud-setup-utils.c index 7cf79592..cb8e9f55 100644 --- a/src/nm-cloud-setup/nm-cloud-setup-utils.c +++ b/src/nm-cloud-setup/nm-cloud-setup-utils.c @@ -507,7 +507,7 @@ nmcs_utils_ipaddr_normalize_bin(int addr_family, g_strstrip(ad); - return nm_utils_parse_inaddr_bin(addr_family, ad, out_addr_family, out_addr_bin); + return nm_inet_parse_bin(addr_family, ad, out_addr_family, out_addr_bin); } char * @@ -518,7 +518,7 @@ nmcs_utils_ipaddr_normalize(int addr_family, const char *addr, gssize len) if (!nmcs_utils_ipaddr_normalize_bin(addr_family, addr, len, &addr_family, &ipaddr)) return NULL; - return nm_utils_inet_ntop_dup(addr_family, &ipaddr); + return nm_inet_ntop_dup(addr_family, &ipaddr); } /*****************************************************************************/ diff --git a/src/nm-cloud-setup/nm-http-client.h b/src/nm-cloud-setup/nm-http-client.h index 0a7052ae..b041e99f 100644 --- a/src/nm-cloud-setup/nm-http-client.h +++ b/src/nm-cloud-setup/nm-http-client.h @@ -9,7 +9,8 @@ typedef struct _NMHttpClient NMHttpClient; typedef struct _NMHttpClientClass NMHttpClientClass; #define NM_TYPE_HTTP_CLIENT (nm_http_client_get_type()) -#define NM_HTTP_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_HTTP_CLIENT, NMHttpClient)) +#define NM_HTTP_CLIENT(obj) \ + (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_HTTP_CLIENT, NMHttpClient)) #define NM_HTTP_CLIENT_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_HTTP_CLIENT, NMHttpClientClass)) #define NM_IS_HTTP_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_HTTP_CLIENT)) diff --git a/src/nm-cloud-setup/nmcs-provider-aliyun.c b/src/nm-cloud-setup/nmcs-provider-aliyun.c index 34ab5ecc..4b109609 100644 --- a/src/nm-cloud-setup/nmcs-provider-aliyun.c +++ b/src/nm-cloud-setup/nmcs-provider-aliyun.c @@ -167,7 +167,7 @@ _get_config_fetch_done_cb(NMHttpClient *http_client, config_iface_data->ipv4s_arr = g_new(in_addr_t, len); for (i = 0; i < len; i++) { filter_chars((char *) s_addrs[i], "[]\""); - if (nm_utils_parse_inaddr_bin(AF_INET, s_addrs[i], NULL, &tmp_addr)) { + if (nm_inet_parse_bin(AF_INET, s_addrs[i], NULL, &tmp_addr)) { config_iface_data->ipv4s_arr[config_iface_data->ipv4s_len++] = tmp_addr; } } @@ -176,7 +176,7 @@ _get_config_fetch_done_cb(NMHttpClient *http_client, case GET_CONFIG_FETCH_DONE_TYPE_PRIMARY_IP_ADDRESS: - if (nm_utils_parse_inaddr_bin(AF_INET, g_bytes_get_data(response, NULL), NULL, &tmp_addr)) { + if (nm_inet_parse_bin(AF_INET, g_bytes_get_data(response, NULL), NULL, &tmp_addr)) { nm_assert(config_iface_data->priv.aliyun.primary_ip_address == 0); nm_assert(!config_iface_data->priv.aliyun.has_primary_ip_address); config_iface_data->priv.aliyun.primary_ip_address = tmp_addr; @@ -186,11 +186,11 @@ _get_config_fetch_done_cb(NMHttpClient *http_client, case GET_CONFIG_FETCH_DONE_TYPE_SUBNET_VPC_CIDR_BLOCK: - if (nm_utils_parse_inaddr_prefix_bin(AF_INET, - g_bytes_get_data(response, NULL), - NULL, - &tmp_addr, - &tmp_prefix)) { + if (nm_inet_parse_with_prefix_bin(AF_INET, + g_bytes_get_data(response, NULL), + NULL, + &tmp_addr, + &tmp_prefix)) { nm_assert(!config_iface_data->has_cidr); config_iface_data->has_cidr = TRUE; config_iface_data->cidr_addr = tmp_addr; @@ -199,20 +199,14 @@ _get_config_fetch_done_cb(NMHttpClient *http_client, case GET_CONFIG_FETCH_DONE_TYPE_NETMASK: - if (nm_utils_parse_inaddr_bin(AF_INET, - g_bytes_get_data(response, NULL), - NULL, - &netmask_bin)) { - config_iface_data->cidr_prefix = _nm_utils_ip4_netmask_to_prefix(netmask_bin); + if (nm_inet_parse_bin(AF_INET, g_bytes_get_data(response, NULL), NULL, &netmask_bin)) { + config_iface_data->cidr_prefix = nm_ip4_addr_netmask_to_prefix(netmask_bin); }; break; case GET_CONFIG_FETCH_DONE_TYPE_GATEWAY: - if (nm_utils_parse_inaddr_bin(AF_INET, - g_bytes_get_data(response, NULL), - NULL, - &gateway_bin)) { + if (nm_inet_parse_bin(AF_INET, g_bytes_get_data(response, NULL), NULL, &gateway_bin)) { config_iface_data->has_gateway = TRUE; config_iface_data->gateway = gateway_bin; }; diff --git a/src/nm-cloud-setup/nmcs-provider-aliyun.h b/src/nm-cloud-setup/nmcs-provider-aliyun.h index 6e733a11..3e8ab454 100644 --- a/src/nm-cloud-setup/nmcs-provider-aliyun.h +++ b/src/nm-cloud-setup/nmcs-provider-aliyun.h @@ -12,7 +12,7 @@ typedef struct _NMCSProviderAliyunClass NMCSProviderAliyunClass; #define NMCS_TYPE_PROVIDER_ALIYUN (nmcs_provider_aliyun_get_type()) #define NMCS_PROVIDER_ALIYUN(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj), NMCS_TYPE_PROVIDER_ALIYUN, NMCSProviderAliyun)) + (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMCS_TYPE_PROVIDER_ALIYUN, NMCSProviderAliyun)) #define NMCS_PROVIDER_ALIYUN_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST((klass), NMCS_TYPE_PROVIDER_ALIYUN, NMCSProviderAliyunClass)) #define NMCS_IS_PROVIDER_ALIYUN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMCS_TYPE_PROVIDER_ALIYUN)) diff --git a/src/nm-cloud-setup/nmcs-provider-azure.c b/src/nm-cloud-setup/nmcs-provider-azure.c index 9b27af28..b59235bf 100644 --- a/src/nm-cloud-setup/nmcs-provider-azure.c +++ b/src/nm-cloud-setup/nmcs-provider-azure.c @@ -117,7 +117,7 @@ _get_config_fetch_done_cb(NMHttpClient *http_client, gs_free_error GError *error = NULL; const char *resp_str = NULL; gsize resp_len; - char tmp_addr_str[NM_UTILS_INET_ADDRSTRLEN]; + char tmp_addr_str[NM_INET_ADDRSTRLEN]; in_addr_t tmp_addr; int tmp_prefix = -1; @@ -145,7 +145,7 @@ _get_config_fetch_done_cb(NMHttpClient *http_client, } _LOGD("interface[%" G_GSSIZE_FORMAT "]: received address %s", iface_data->intern_iface_idx, - _nm_utils_inet4_ntop(tmp_addr, tmp_addr_str)); + nm_inet4_ntop(tmp_addr, tmp_addr_str)); iface_get_config->ipv4s_arr[iface_get_config->ipv4s_len] = tmp_addr; iface_get_config->has_ipv4s = TRUE; iface_get_config->ipv4s_len++; @@ -159,7 +159,7 @@ _get_config_fetch_done_cb(NMHttpClient *http_client, } _LOGD("interface[%" G_GSSIZE_FORMAT "]: received subnet address %s", iface_data->intern_iface_idx, - _nm_utils_inet4_ntop(tmp_addr, tmp_addr_str)); + nm_inet4_ntop(tmp_addr, tmp_addr_str)); iface_get_config->cidr_addr = tmp_addr; break; diff --git a/src/nm-cloud-setup/nmcs-provider-azure.h b/src/nm-cloud-setup/nmcs-provider-azure.h index be78768f..913dd0e8 100644 --- a/src/nm-cloud-setup/nmcs-provider-azure.h +++ b/src/nm-cloud-setup/nmcs-provider-azure.h @@ -12,7 +12,7 @@ typedef struct _NMCSProviderAzureClass NMCSProviderAzureClass; #define NMCS_TYPE_PROVIDER_AZURE (nmcs_provider_azure_get_type()) #define NMCS_PROVIDER_AZURE(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj), NMCS_TYPE_PROVIDER_AZURE, NMCSProviderAzure)) + (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMCS_TYPE_PROVIDER_AZURE, NMCSProviderAzure)) #define NMCS_PROVIDER_AZURE_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST((klass), NMCS_TYPE_PROVIDER_AZURE, NMCSProviderAzureClass)) #define NMCS_IS_PROVIDER_AZURE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMCS_TYPE_PROVIDER_AZURE)) diff --git a/src/nm-cloud-setup/nmcs-provider-ec2.c b/src/nm-cloud-setup/nmcs-provider-ec2.c index d6fa0311..58d691c7 100644 --- a/src/nm-cloud-setup/nmcs-provider-ec2.c +++ b/src/nm-cloud-setup/nmcs-provider-ec2.c @@ -151,16 +151,16 @@ _get_config_fetch_done_cb(NMHttpClient *http_client, config_iface_data->ipv4s_arr = g_new(in_addr_t, len); for (i = 0; i < len; i++) { - if (nm_utils_parse_inaddr_bin(AF_INET, s_addrs[i], NULL, &tmp_addr)) + if (nm_inet_parse_bin(AF_INET, s_addrs[i], NULL, &tmp_addr)) config_iface_data->ipv4s_arr[config_iface_data->ipv4s_len++] = tmp_addr; } } } else { - if (nm_utils_parse_inaddr_prefix_bin(AF_INET, - g_bytes_get_data(response, NULL), - NULL, - &tmp_addr, - &tmp_prefix)) { + if (nm_inet_parse_with_prefix_bin(AF_INET, + g_bytes_get_data(response, NULL), + NULL, + &tmp_addr, + &tmp_prefix)) { nm_assert(!config_iface_data->has_cidr); config_iface_data->has_cidr = TRUE; config_iface_data->cidr_prefix = tmp_prefix; diff --git a/src/nm-cloud-setup/nmcs-provider-ec2.h b/src/nm-cloud-setup/nmcs-provider-ec2.h index 8f8b6400..e44f0a0f 100644 --- a/src/nm-cloud-setup/nmcs-provider-ec2.h +++ b/src/nm-cloud-setup/nmcs-provider-ec2.h @@ -12,7 +12,7 @@ typedef struct _NMCSProviderEC2Class NMCSProviderEC2Class; #define NMCS_TYPE_PROVIDER_EC2 (nmcs_provider_ec2_get_type()) #define NMCS_PROVIDER_EC2(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj), NMCS_TYPE_PROVIDER_EC2, NMCSProviderEC2)) + (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMCS_TYPE_PROVIDER_EC2, NMCSProviderEC2)) #define NMCS_PROVIDER_EC2_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST((klass), NMCS_TYPE_PROVIDER_EC2, NMCSProviderEC2Class)) #define NMCS_IS_PROVIDER_EC2(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMCS_TYPE_PROVIDER_EC2)) diff --git a/src/nm-cloud-setup/nmcs-provider-gcp.h b/src/nm-cloud-setup/nmcs-provider-gcp.h index b0329935..80e4ec41 100644 --- a/src/nm-cloud-setup/nmcs-provider-gcp.h +++ b/src/nm-cloud-setup/nmcs-provider-gcp.h @@ -12,7 +12,7 @@ typedef struct _NMCSProviderGCPClass NMCSProviderGCPClass; #define NMCS_TYPE_PROVIDER_GCP (nmcs_provider_gcp_get_type()) #define NMCS_PROVIDER_GCP(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj), NMCS_TYPE_PROVIDER_GCP, NMCSProviderGCP)) + (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMCS_TYPE_PROVIDER_GCP, NMCSProviderGCP)) #define NMCS_PROVIDER_GCP_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST((klass), NMCS_TYPE_PROVIDER_GCP, NMCSProviderGCPClass)) #define NMCS_IS_PROVIDER_GCP(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMCS_TYPE_PROVIDER_GCP)) diff --git a/src/nm-cloud-setup/nmcs-provider.h b/src/nm-cloud-setup/nmcs-provider.h index 502f1d03..994b1e24 100644 --- a/src/nm-cloud-setup/nmcs-provider.h +++ b/src/nm-cloud-setup/nmcs-provider.h @@ -130,7 +130,7 @@ nmcs_provider_get_config_iface_data_create(NMCSProviderGetConfigTaskData *get_co /*****************************************************************************/ #define NMCS_TYPE_PROVIDER (nmcs_provider_get_type()) -#define NMCS_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), NMCS_TYPE_PROVIDER, NMCSProvider)) +#define NMCS_PROVIDER(obj) (_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NMCS_TYPE_PROVIDER, NMCSProvider)) #define NMCS_PROVIDER_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST((klass), NMCS_TYPE_PROVIDER, NMCSProviderClass)) #define NMCS_IS_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMCS_TYPE_PROVIDER)) |