diff options
author | Jonas Gunz <himself@jonasgunz.de> | 2021-09-19 23:00:28 +0200 |
---|---|---|
committer | Jonas Gunz <himself@jonasgunz.de> | 2021-09-19 23:01:11 +0200 |
commit | 2909e565636dd10eb322a3b2bd3296b8292240f9 (patch) | |
tree | 6aac2a66c0512fb203d8767b9d356ba5596cc12c /tests/dns.c | |
parent | 453e83d1cf862c27a468a50e6f3cea7f803bc501 (diff) | |
download | dns-2909e565636dd10eb322a3b2bd3296b8292240f9.tar.gz |
dns.c: add character range check + test
Diffstat (limited to 'tests/dns.c')
-rw-r--r-- | tests/dns.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/tests/dns.c b/tests/dns.c index e75f209..a282b8b 100644 --- a/tests/dns.c +++ b/tests/dns.c @@ -11,12 +11,19 @@ START_TEST (dns_qname) { char in[128]; char out[128]; + char* fqdn = "sub.domain.example.com"; + char* inval_fqdn = "is!this.domain.invalid?"; - strncpy ( in, "sub.domain.example.com\0", 127); + strncpy ( in, fqdn , 127); ck_assert_int_gt( fqdn_to_qname (in,128,out,128), 0 ); - ck_assert_int_ge( qname_check(out,128), 0 ); + ck_assert_int_ge( qname_check (out,128), 0 ); ck_assert_int_gt( qname_to_fqdn (out,128,in,128), 0); + ck_assert_str_eq( in, fqdn ); + + /* Check for working invalid protection */ + ck_assert_int_gt( fqdn_to_qname (inval_fqdn,strlen(inval_fqdn),out,128), 0 ); + ck_assert_int_lt( qname_check(out,128), 0 ); } END_TEST START_TEST (dns_qname_fuzz) { |