shared: introduce dnssd_srv_type_is_valid() function

This commit is contained in:
Dmitry Rozhkov
2017-12-08 14:29:27 +02:00
parent 9c5e7b73f7
commit 154ae08781
3 changed files with 32 additions and 0 deletions
+25
View File
@@ -427,6 +427,30 @@ static void test_dns_srv_type_is_valid(void) {
assert_se(!dns_srv_type_is_valid("_piep._foo._udp"));
}
static void test_dnssd_srv_type_is_valid(void) {
assert_se(dnssd_srv_type_is_valid("_http._tcp"));
assert_se(dnssd_srv_type_is_valid("_foo-bar._tcp"));
assert_se(dnssd_srv_type_is_valid("_w._udp"));
assert_se(dnssd_srv_type_is_valid("_a800._tcp"));
assert_se(dnssd_srv_type_is_valid("_a-800._tcp"));
assert_se(!dnssd_srv_type_is_valid(NULL));
assert_se(!dnssd_srv_type_is_valid(""));
assert_se(!dnssd_srv_type_is_valid("x"));
assert_se(!dnssd_srv_type_is_valid("_foo"));
assert_se(!dnssd_srv_type_is_valid("_tcp"));
assert_se(!dnssd_srv_type_is_valid("_"));
assert_se(!dnssd_srv_type_is_valid("_foo."));
assert_se(!dnssd_srv_type_is_valid("_föo._tcp"));
assert_se(!dnssd_srv_type_is_valid("_f\no._tcp"));
assert_se(!dnssd_srv_type_is_valid("_800._tcp"));
assert_se(!dnssd_srv_type_is_valid("_-800._tcp"));
assert_se(!dnssd_srv_type_is_valid("_-foo._tcp"));
assert_se(!dnssd_srv_type_is_valid("_piep._foo._udp"));
assert_se(!dnssd_srv_type_is_valid("_foo._unknown"));
}
static void test_dns_service_join_one(const char *a, const char *b, const char *c, int r, const char *d) {
_cleanup_free_ char *x = NULL, *y = NULL, *z = NULL, *t = NULL;
@@ -699,6 +723,7 @@ int main(int argc, char *argv[]) {
test_dns_name_to_wire_format();
test_dns_service_name_is_valid();
test_dns_srv_type_is_valid();
test_dnssd_srv_type_is_valid();
test_dns_service_join();
test_dns_service_split();
test_dns_name_change_suffix();