summary refs log tree commit diff
path: root/src/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/Makefile.in1
-rw-r--r--src/tests/config/Makefile.in1
-rw-r--r--src/tests/config/test-config.c40
-rw-r--r--src/tests/test-general.c121
4 files changed, 143 insertions, 20 deletions
diff --git a/src/tests/Makefile.in b/src/tests/Makefile.in
index a4a135c5..2296c2b0 100644
--- a/src/tests/Makefile.in
+++ b/src/tests/Makefile.in
@@ -632,6 +632,7 @@ NEWT_LIBS = @NEWT_LIBS@
 NM = @NM@
 NMEDIT = @NMEDIT@
 NM_CONFIG_DEFAULT_AUTH_POLKIT_TEXT = @NM_CONFIG_DEFAULT_AUTH_POLKIT_TEXT@
+NM_CONFIG_DEFAULT_DNS_RC_MANAGER = @NM_CONFIG_DEFAULT_DNS_RC_MANAGER@
 NM_CONFIG_DEFAULT_LOGGING_AUDIT_TEXT = @NM_CONFIG_DEFAULT_LOGGING_AUDIT_TEXT@
 NM_CONFIG_LOGGING_BACKEND_DEFAULT_TEXT = @NM_CONFIG_LOGGING_BACKEND_DEFAULT_TEXT@
 NM_MAJOR_VERSION = @NM_MAJOR_VERSION@
diff --git a/src/tests/config/Makefile.in b/src/tests/config/Makefile.in
index 5a4bfbd1..7197ee1f 100644
--- a/src/tests/config/Makefile.in
+++ b/src/tests/config/Makefile.in
@@ -521,6 +521,7 @@ NEWT_LIBS = @NEWT_LIBS@
 NM = @NM@
 NMEDIT = @NMEDIT@
 NM_CONFIG_DEFAULT_AUTH_POLKIT_TEXT = @NM_CONFIG_DEFAULT_AUTH_POLKIT_TEXT@
+NM_CONFIG_DEFAULT_DNS_RC_MANAGER = @NM_CONFIG_DEFAULT_DNS_RC_MANAGER@
 NM_CONFIG_DEFAULT_LOGGING_AUDIT_TEXT = @NM_CONFIG_DEFAULT_LOGGING_AUDIT_TEXT@
 NM_CONFIG_LOGGING_BACKEND_DEFAULT_TEXT = @NM_CONFIG_LOGGING_BACKEND_DEFAULT_TEXT@
 NM_MAJOR_VERSION = @NM_MAJOR_VERSION@
diff --git a/src/tests/config/test-config.c b/src/tests/config/test-config.c
index d83ff4b5..b6d88edf 100644
--- a/src/tests/config/test-config.c
+++ b/src/tests/config/test-config.c
@@ -343,7 +343,7 @@ test_config_no_auto_default (void)
 	g_assert (!nm_config_get_no_auto_default_for_device (config, dev3));
 	g_assert (nm_config_get_no_auto_default_for_device (config, dev4));
 
-	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*config: update * (no-auto-default)*");
+	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*config: signal NO_AUTO_DEFAULT,no-auto-default *");
 	nm_config_set_no_auto_default_for_device (config, dev3);
 	g_test_assert_expected_messages ();
 
@@ -511,9 +511,9 @@ _set_values_config_changed_cb (NMConfig *config,
 	g_assert (config_changed_data);
 	g_assert (config_changed_data->changes == NM_CONFIG_CHANGE_NONE);
 
-	if (changes == NM_CONFIG_CHANGE_SIGHUP)
+	if (changes == NM_CONFIG_CHANGE_CAUSE_SIGHUP)
 		return;
-	changes &= ~NM_CONFIG_CHANGE_SIGHUP;
+	changes &= ~NM_CONFIG_CHANGE_CAUSE_SIGHUP;
 
 	config_changed_data->changes = changes;
 
@@ -556,11 +556,11 @@ _set_values_user (NMConfig *config,
 	config_data_before = g_object_ref (nm_config_get_data (config));
 
 	if (expected_changes != NM_CONFIG_CHANGE_NONE)
-		g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*config: update *");
+		g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*config: signal *");
 	else
 		g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*config: signal SIGHUP (no changes from disk)*");
 
-	nm_config_reload (config, SIGHUP);
+	nm_config_reload (config, NM_CONFIG_CHANGE_CAUSE_SIGHUP);
 
 	g_test_assert_expected_messages ();
 
@@ -600,7 +600,7 @@ _set_values_intern (NMConfig *config,
 	                  &config_changed_data);
 
 	if (expected_changes != NM_CONFIG_CHANGE_NONE)
-		g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*config: update *");
+		g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*config: signal *");
 
 	nm_config_set_values (config, keyfile_intern, TRUE, FALSE);
 
@@ -649,14 +649,14 @@ static void
 _set_values_intern_internal_set (NMConfig *config, gboolean set_user, GKeyFile *keyfile, NMConfigChangeFlags *out_expected_changes)
 {
 	g_key_file_set_string (keyfile, NM_CONFIG_KEYFILE_GROUPPREFIX_INTERN"section1", "key", "internal-section");
-	*out_expected_changes = NM_CONFIG_CHANGE_VALUES | NM_CONFIG_CHANGE_VALUES_INTERN;
+	*out_expected_changes = NM_CONFIG_CHANGE_CAUSE_SET_VALUES | NM_CONFIG_CHANGE_VALUES | NM_CONFIG_CHANGE_VALUES_INTERN;
 }
 
 static void
 _set_values_intern_internal_check (NMConfig *config, NMConfigData *config_data, gboolean is_change_event, NMConfigChangeFlags changes, NMConfigData *old_data)
 {
 	if (is_change_event)
-		g_assert (changes == (NM_CONFIG_CHANGE_VALUES | NM_CONFIG_CHANGE_VALUES_INTERN));
+		g_assert (changes == (NM_CONFIG_CHANGE_CAUSE_SET_VALUES | NM_CONFIG_CHANGE_VALUES | NM_CONFIG_CHANGE_VALUES_INTERN));
 	assert_config_value (config_data, NM_CONFIG_KEYFILE_GROUPPREFIX_INTERN"section1", "key", "internal-section");
 }
 
@@ -690,14 +690,14 @@ _set_values_intern_atomic_section_1_set (NMConfig *config, gboolean set_user, GK
 	g_key_file_set_string (keyfile, "atomic-prefix-1.section-a", "key3", "intern-value3");
 	g_key_file_set_string (keyfile, "non-atomic-prefix-1.section-a", "nap1-key1", "intern-value1");
 	g_key_file_set_string (keyfile, "non-atomic-prefix-1.section-a", "nap1-key3", "intern-value3");
-	*out_expected_changes = NM_CONFIG_CHANGE_VALUES | NM_CONFIG_CHANGE_VALUES_INTERN;
+	*out_expected_changes = NM_CONFIG_CHANGE_CAUSE_SET_VALUES | NM_CONFIG_CHANGE_VALUES | NM_CONFIG_CHANGE_VALUES_INTERN;
 }
 
 static void
 _set_values_intern_atomic_section_1_check (NMConfig *config, NMConfigData *config_data, gboolean is_change_event, NMConfigChangeFlags changes, NMConfigData *old_data)
 {
 	if (is_change_event)
-		g_assert (changes == (NM_CONFIG_CHANGE_VALUES | NM_CONFIG_CHANGE_VALUES_INTERN));
+		g_assert (changes == (NM_CONFIG_CHANGE_CAUSE_SET_VALUES | NM_CONFIG_CHANGE_VALUES | NM_CONFIG_CHANGE_VALUES_INTERN));
 	assert_config_value (config_data, "atomic-prefix-1.section-a", "key1", "intern-value1");
 	assert_config_value (config_data, "atomic-prefix-1.section-a", "key2", NULL);
 	assert_config_value (config_data, "atomic-prefix-1.section-a", "key3", "intern-value3");
@@ -744,14 +744,14 @@ _set_values_intern_atomic_section_2_set (NMConfig *config, gboolean set_user, GK
 	g_key_file_set_string (keyfile, "non-atomic-prefix-1.section-a", "nap1-key3", "intern-value3");
 	g_key_file_set_string (keyfile, NM_CONFIG_KEYFILE_GROUPPREFIX_INTERN"with-whitespace", "key1", " b c\\,  d  ");
 	g_key_file_set_value  (keyfile, NM_CONFIG_KEYFILE_GROUPPREFIX_INTERN"with-whitespace", "key2", " b c\\,  d  ");
-	*out_expected_changes = NM_CONFIG_CHANGE_VALUES | NM_CONFIG_CHANGE_VALUES_INTERN;
+	*out_expected_changes = NM_CONFIG_CHANGE_CAUSE_SET_VALUES | NM_CONFIG_CHANGE_VALUES | NM_CONFIG_CHANGE_VALUES_INTERN;
 }
 
 static void
 _set_values_intern_atomic_section_2_check (NMConfig *config, NMConfigData *config_data, gboolean is_change_event, NMConfigChangeFlags changes, NMConfigData *old_data)
 {
 	if (is_change_event)
-		g_assert (changes == (NM_CONFIG_CHANGE_VALUES | NM_CONFIG_CHANGE_VALUES_INTERN));
+		g_assert (changes == (NM_CONFIG_CHANGE_CAUSE_SET_VALUES | NM_CONFIG_CHANGE_VALUES | NM_CONFIG_CHANGE_VALUES_INTERN));
 	g_assert (!nm_config_data_has_group (config_data, "atomic-prefix-1.section-a"));
 	assert_config_value (config_data, "atomic-prefix-1.section-b", "key1", "user-value1");
 	assert_config_value (config_data, "non-atomic-prefix-1.section-a", "nap1-key1", NULL);
@@ -862,17 +862,17 @@ test_config_signal (void)
 	                  G_CALLBACK (_test_signal_config_changed_cb),
 	                  &expected);
 
-	expected = NM_CONFIG_CHANGE_SIGUSR1;
+	expected = NM_CONFIG_CHANGE_CAUSE_SIGUSR1;
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*config: signal SIGUSR1");
-	nm_config_reload (config, SIGUSR1);
+	nm_config_reload (config, expected);
 
-	expected = NM_CONFIG_CHANGE_SIGUSR2;
+	expected = NM_CONFIG_CHANGE_CAUSE_SIGUSR2;
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*config: signal SIGUSR2");
-	nm_config_reload (config, SIGUSR2);
+	nm_config_reload (config, expected);
 
-	expected = NM_CONFIG_CHANGE_SIGHUP;
+	expected = NM_CONFIG_CHANGE_CAUSE_SIGHUP;
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*config: signal SIGHUP (no changes from disk)*");
-	nm_config_reload (config, SIGHUP);
+	nm_config_reload (config, expected);
 
 
 	/* test with subscribing two signals...
@@ -883,9 +883,9 @@ test_config_signal (void)
 	                  NM_CONFIG_SIGNAL_CONFIG_CHANGED,
 	                  G_CALLBACK (_test_signal_config_changed_cb2),
 	                  &expected);
-	expected = NM_CONFIG_CHANGE_SIGUSR2;
+	expected = NM_CONFIG_CHANGE_CAUSE_SIGUSR2;
 	g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*config: signal SIGUSR2");
-	nm_config_reload (config, SIGUSR2);
+	nm_config_reload (config, NM_CONFIG_CHANGE_CAUSE_SIGUSR2);
 	g_signal_handlers_disconnect_by_func (config, _test_signal_config_changed_cb2, &expected);
 
 
diff --git a/src/tests/test-general.c b/src/tests/test-general.c
index a45357e8..f714deec 100644
--- a/src/tests/test-general.c
+++ b/src/tests/test-general.c
@@ -1361,6 +1361,124 @@ test_duplicate_decl_specifier (void)
 	v_result[0] = TEST_MAX (v_const[0], nmtst_get_rand_int () % 5) + v2;
 }
 
+static void
+test_reverse_dns_ip4 (void)
+{
+	guint32 addr;
+	GPtrArray *domains = g_ptr_array_new_full (8, g_free);
+
+	inet_pton (AF_INET, "7.2.3.0", &addr);
+	nm_utils_get_reverse_dns_domains_ip4 (addr, 27, domains);
+	g_assert_cmpuint (domains->len, ==, 32);
+	g_assert_cmpstr (domains->pdata[0], ==, "0.3.2.7.in-addr.arpa");
+	g_assert_cmpstr (domains->pdata[31], ==, "31.3.2.7.in-addr.arpa");
+
+	g_ptr_array_set_size (domains, 0);
+
+	inet_pton (AF_INET, "10.155.16.0", &addr);
+	nm_utils_get_reverse_dns_domains_ip4 (addr, 22, domains);
+	g_assert_cmpuint (domains->len, ==, 4);
+	g_assert_cmpstr (domains->pdata[0], ==, "16.155.10.in-addr.arpa");
+	g_assert_cmpstr (domains->pdata[1], ==, "17.155.10.in-addr.arpa");
+	g_assert_cmpstr (domains->pdata[2], ==, "18.155.10.in-addr.arpa");
+	g_assert_cmpstr (domains->pdata[3], ==, "19.155.10.in-addr.arpa");
+
+	g_ptr_array_set_size (domains, 0);
+
+	inet_pton (AF_INET, "4.5.6.7", &addr);
+	nm_utils_get_reverse_dns_domains_ip4 (addr, 32, domains);
+	g_assert_cmpuint (domains->len, ==, 1);
+	g_assert_cmpstr (domains->pdata[0], ==, "7.6.5.4.in-addr.arpa");
+
+	g_ptr_array_set_size (domains, 0);
+
+	inet_pton (AF_INET, "4.5.6.7", &addr);
+	nm_utils_get_reverse_dns_domains_ip4 (addr, 8, domains);
+	g_assert_cmpuint (domains->len, ==, 1);
+	g_assert_cmpstr (domains->pdata[0], ==, "4.in-addr.arpa");
+
+	g_ptr_array_set_size (domains, 0);
+
+	inet_pton (AF_INET, "4.180.6.7", &addr);
+	nm_utils_get_reverse_dns_domains_ip4 (addr, 9, domains);
+	g_assert_cmpuint (domains->len, ==, 128);
+	g_assert_cmpstr (domains->pdata[0], ==, "128.4.in-addr.arpa");
+	g_assert_cmpstr (domains->pdata[1], ==, "129.4.in-addr.arpa");
+	g_assert_cmpstr (domains->pdata[127], ==, "255.4.in-addr.arpa");
+
+	g_ptr_array_set_size (domains, 0);
+
+	inet_pton (AF_INET, "172.16.0.0", &addr);
+	nm_utils_get_reverse_dns_domains_ip4 (addr, 12, domains);
+	g_assert_cmpuint (domains->len, ==, 16);
+	g_assert_cmpstr (domains->pdata[0],  ==, "16.172.in-addr.arpa");
+	g_assert_cmpstr (domains->pdata[1],  ==, "17.172.in-addr.arpa");
+	g_assert_cmpstr (domains->pdata[14], ==, "30.172.in-addr.arpa");
+	g_assert_cmpstr (domains->pdata[15], ==, "31.172.in-addr.arpa");
+
+	g_ptr_array_set_size (domains, 0);
+
+	inet_pton (AF_INET, "1.2.3.4", &addr);
+	nm_utils_get_reverse_dns_domains_ip4 (addr, 0, domains);
+	g_assert_cmpuint (domains->len, ==, 0);
+
+	g_ptr_array_unref (domains);
+}
+
+static void
+test_reverse_dns_ip6 (void)
+{
+	struct in6_addr addr;
+	GPtrArray *domains = g_ptr_array_new_full (8, g_free);
+
+	inet_pton (AF_INET6, "1234::56", &addr);
+	nm_utils_get_reverse_dns_domains_ip6 (&addr, 16, domains);
+	g_assert_cmpuint (domains->len, ==, 1);
+	g_assert_cmpstr (domains->pdata[0], ==, "4.3.2.1.ip6.arpa");
+
+	g_ptr_array_set_size (domains, 0);
+
+	inet_pton (AF_INET6, "1234::56", &addr);
+	nm_utils_get_reverse_dns_domains_ip6 (&addr, 17, domains);
+	g_assert_cmpuint (domains->len, ==, 8);
+	g_assert_cmpstr (domains->pdata[0], ==, "0.4.3.2.1.ip6.arpa");
+	g_assert_cmpstr (domains->pdata[1], ==, "1.4.3.2.1.ip6.arpa");
+	g_assert_cmpstr (domains->pdata[7], ==, "7.4.3.2.1.ip6.arpa");
+
+	g_ptr_array_set_size (domains, 0);
+
+	inet_pton (AF_INET6, "2001:db8::", &addr);
+	nm_utils_get_reverse_dns_domains_ip6 (&addr, 29, domains);
+	g_assert_cmpuint (domains->len, ==, 8);
+	g_assert_cmpstr (domains->pdata[0], ==, "8.b.d.0.1.0.0.2.ip6.arpa");
+	g_assert_cmpstr (domains->pdata[1], ==, "9.b.d.0.1.0.0.2.ip6.arpa");
+	g_assert_cmpstr (domains->pdata[7], ==, "f.b.d.0.1.0.0.2.ip6.arpa");
+
+	g_ptr_array_set_size (domains, 0);
+
+	inet_pton (AF_INET6, "0123:4567:89ab:cdef::", &addr);
+	nm_utils_get_reverse_dns_domains_ip6 (&addr, 63, domains);
+	g_assert_cmpuint (domains->len, ==, 2);
+	g_assert_cmpstr (domains->pdata[0], ==, "e.e.d.c.b.a.9.8.7.6.5.4.3.2.1.0.ip6.arpa");
+	g_assert_cmpstr (domains->pdata[1], ==, "f.e.d.c.b.a.9.8.7.6.5.4.3.2.1.0.ip6.arpa");
+
+	g_ptr_array_set_size (domains, 0);
+
+	inet_pton (AF_INET6, "fec0:1234:5678:9ab0::", &addr);
+	nm_utils_get_reverse_dns_domains_ip6 (&addr, 61, domains);
+	g_assert_cmpuint (domains->len, ==, 8);
+	g_assert_cmpstr (domains->pdata[0], ==, "0.b.a.9.8.7.6.5.4.3.2.1.0.c.e.f.ip6.arpa");
+	g_assert_cmpstr (domains->pdata[7], ==, "7.b.a.9.8.7.6.5.4.3.2.1.0.c.e.f.ip6.arpa");
+
+	g_ptr_array_set_size (domains, 0);
+
+	inet_pton (AF_INET6, "0123:4567:89ab:cdee::", &addr);
+	nm_utils_get_reverse_dns_domains_ip6 (&addr, 0, domains);
+	g_assert_cmpuint (domains->len, ==, 0);
+
+	g_ptr_array_unref (domains);
+}
+
 /*****************************************************************************/
 
 NMTST_DEFINE ();
@@ -1397,6 +1515,9 @@ main (int argc, char **argv)
 	g_test_add_func ("/general/nm_match_spec_match_config", test_nm_match_spec_match_config);
 	g_test_add_func ("/general/duplicate_decl_specifier", test_duplicate_decl_specifier);
 
+	g_test_add_func ("/general/reverse_dns/ip4", test_reverse_dns_ip4);
+	g_test_add_func ("/general/reverse_dns/ip6", test_reverse_dns_ip6);
+
 	return g_test_run ();
 }