|
@@ -5541,48 +5541,75 @@ test_util_max_mem(void *arg)
|
|
|
;
|
|
|
}
|
|
|
|
|
|
+static void
|
|
|
+test_util_dest_validation_edgecase(void *arg)
|
|
|
+{
|
|
|
+ (void)arg;
|
|
|
+
|
|
|
+ tt_assert(!string_is_valid_dest(NULL));
|
|
|
+ tt_assert(!string_is_valid_dest(""));
|
|
|
+
|
|
|
+ done:
|
|
|
+ return;
|
|
|
+}
|
|
|
+
|
|
|
static void
|
|
|
test_util_hostname_validation(void *arg)
|
|
|
{
|
|
|
(void)arg;
|
|
|
|
|
|
|
|
|
- tt_assert(string_is_valid_hostname("torproject.org"));
|
|
|
- tt_assert(string_is_valid_hostname("ocw.mit.edu"));
|
|
|
- tt_assert(string_is_valid_hostname("i.4cdn.org"));
|
|
|
- tt_assert(string_is_valid_hostname("stanford.edu"));
|
|
|
- tt_assert(string_is_valid_hostname("multiple-words-with-hypens.jp"));
|
|
|
+ tt_assert(string_is_valid_nonrfc_hostname("torproject.org"));
|
|
|
+ tt_assert(string_is_valid_nonrfc_hostname("ocw.mit.edu"));
|
|
|
+ tt_assert(string_is_valid_nonrfc_hostname("i.4cdn.org"));
|
|
|
+ tt_assert(string_is_valid_nonrfc_hostname("stanford.edu"));
|
|
|
+ tt_assert(string_is_valid_nonrfc_hostname("multiple-words-with-hypens.jp"));
|
|
|
|
|
|
|
|
|
- tt_assert(!string_is_valid_hostname("-torproject.org"));
|
|
|
- tt_assert(!string_is_valid_hostname("subdomain.-domain.org"));
|
|
|
- tt_assert(!string_is_valid_hostname("-subdomain.domain.org"));
|
|
|
- tt_assert(!string_is_valid_hostname("___abc.org"));
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname("-torproject.org"));
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname("subdomain.-domain.org"));
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname("-subdomain.domain.org"));
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname("___abc.org"));
|
|
|
|
|
|
|
|
|
- tt_assert(!string_is_valid_hostname("%%domain.\\org."));
|
|
|
- tt_assert(!string_is_valid_hostname("***x.net"));
|
|
|
- tt_assert(!string_is_valid_hostname("\xff\xffxyz.org"));
|
|
|
- tt_assert(!string_is_valid_hostname("word1 word2.net"));
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname("%%domain.\\org."));
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname("***x.net"));
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname("\xff\xffxyz.org"));
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname("word1 word2.net"));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- tt_assert(string_is_valid_hostname("core3_euw1.fabrik.nytimes.com"));
|
|
|
+ tt_assert(string_is_valid_nonrfc_hostname("core3_euw1.fabrik.nytimes.com"));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- tt_assert(string_is_valid_hostname("core9_euw1.fabrik.nytimes.com."));
|
|
|
- tt_assert(!string_is_valid_hostname("..washingtonpost.is.better.com"));
|
|
|
- tt_assert(!string_is_valid_hostname("so.is..ft.com"));
|
|
|
- tt_assert(!string_is_valid_hostname("..."));
|
|
|
+ tt_assert(string_is_valid_nonrfc_hostname("core9_euw1.fabrik.nytimes.com."));
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname(
|
|
|
+ "..washingtonpost.is.better.com"));
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname("so.is..ft.com"));
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname("..."));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- tt_assert(!string_is_valid_hostname("."));
|
|
|
- tt_assert(!string_is_valid_hostname(".."));
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname("."));
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname(".."));
|
|
|
+
|
|
|
+
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname("8.8.8.8"));
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname("[2a00:1450:401b:800::200e]"));
|
|
|
+ tt_assert(!string_is_valid_nonrfc_hostname("2a00:1450:401b:800::200e"));
|
|
|
+
|
|
|
+
|
|
|
+ tt_assert(string_is_valid_nonrfc_hostname("lucky.13"));
|
|
|
+ tt_assert(string_is_valid_nonrfc_hostname("luck.y13"));
|
|
|
+ tt_assert(string_is_valid_nonrfc_hostname("luck.y13."));
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ tt_assert(string_is_valid_nonrfc_hostname("example.xn--l1acc"));
|
|
|
|
|
|
done:
|
|
|
return;
|
|
@@ -6208,6 +6235,7 @@ struct testcase_t util_tests[] = {
|
|
|
&passthrough_setup, (void*)"1" },
|
|
|
UTIL_TEST(max_mem, 0),
|
|
|
UTIL_TEST(hostname_validation, 0),
|
|
|
+ UTIL_TEST(dest_validation_edgecase, 0),
|
|
|
UTIL_TEST(ipv4_validation, 0),
|
|
|
UTIL_TEST(writepid, 0),
|
|
|
UTIL_TEST(get_avail_disk_space, 0),
|