diff options
Diffstat (limited to '')
-rw-r--r-- | src/shrpx_tls_test.cc | 96 |
1 files changed, 44 insertions, 52 deletions
diff --git a/src/shrpx_tls_test.cc b/src/shrpx_tls_test.cc index 04d16da..013c347 100644 --- a/src/shrpx_tls_test.cc +++ b/src/shrpx_tls_test.cc @@ -54,16 +54,16 @@ void test_shrpx_tls_create_lookup_tree(void) { auto tree = std::make_unique<tls::CertLookupTree>(); constexpr StringRef hostnames[] = { - StringRef::from_lit("example.com"), // 0 - StringRef::from_lit("www.example.org"), // 1 - StringRef::from_lit("*www.example.org"), // 2 - StringRef::from_lit("xy*.host.domain"), // 3 - StringRef::from_lit("*yy.host.domain"), // 4 - StringRef::from_lit("nghttp2.sourceforge.net"), // 5 - StringRef::from_lit("sourceforge.net"), // 6 - StringRef::from_lit("sourceforge.net"), // 7, duplicate - StringRef::from_lit("*.foo.bar"), // 8, oo.bar is suffix of *.foo.bar - StringRef::from_lit("oo.bar") // 9 + "example.com"_sr, // 0 + "www.example.org"_sr, // 1 + "*www.example.org"_sr, // 2 + "xy*.host.domain"_sr, // 3 + "*yy.host.domain"_sr, // 4 + "nghttp2.sourceforge.net"_sr, // 5 + "sourceforge.net"_sr, // 6 + "sourceforge.net"_sr, // 7, duplicate + "*.foo.bar"_sr, // 8, oo.bar is suffix of *.foo.bar + "oo.bar"_sr // 9 }; auto num = array_size(hostnames); @@ -75,13 +75,13 @@ void test_shrpx_tls_create_lookup_tree(void) { assert_ssize(0, ==, tree->lookup(hostnames[0])); assert_ssize(1, ==, tree->lookup(hostnames[1])); - assert_ssize(2, ==, tree->lookup(StringRef::from_lit("2www.example.org"))); - assert_ssize(-1, ==, tree->lookup(StringRef::from_lit("www2.example.org"))); - assert_ssize(3, ==, tree->lookup(StringRef::from_lit("xy1.host.domain"))); + assert_ssize(2, ==, tree->lookup("2www.example.org"_sr)); + assert_ssize(-1, ==, tree->lookup("www2.example.org"_sr)); + assert_ssize(3, ==, tree->lookup("xy1.host.domain"_sr)); // Does not match *yy.host.domain, because * must match at least 1 // character. - assert_ssize(-1, ==, tree->lookup(StringRef::from_lit("yy.host.domain"))); - assert_ssize(4, ==, tree->lookup(StringRef::from_lit("xyy.host.domain"))); + assert_ssize(-1, ==, tree->lookup("yy.host.domain"_sr)); + assert_ssize(4, ==, tree->lookup("xyy.host.domain"_sr)); assert_ssize(-1, ==, tree->lookup(StringRef{})); assert_ssize(5, ==, tree->lookup(hostnames[5])); assert_ssize(6, ==, tree->lookup(hostnames[6])); @@ -89,14 +89,14 @@ void test_shrpx_tls_create_lookup_tree(void) { for (int i = 0; i < 7; ++i) { assert_ssize(-1, ==, tree->lookup(StringRef{h6 + i, str_size(h6) - i})); } - assert_ssize(8, ==, tree->lookup(StringRef::from_lit("x.foo.bar"))); + assert_ssize(8, ==, tree->lookup("x.foo.bar"_sr)); assert_ssize(9, ==, tree->lookup(hostnames[9])); constexpr StringRef names[] = { - StringRef::from_lit("rab"), // 1 - StringRef::from_lit("zab"), // 2 - StringRef::from_lit("zzub"), // 3 - StringRef::from_lit("ab") // 4 + "rab"_sr, // 1 + "zab"_sr, // 2 + "zzub"_sr, // 3 + "ab"_sr // 4 }; num = array_size(names); @@ -169,12 +169,11 @@ void test_shrpx_tls_cert_lookup_tree_add_ssl_ctx(void) { assert_int(0, ==, rv); - assert_ssize(-1, ==, - tree.lookup(StringRef::from_lit("not-used.nghttp2.org"))); - assert_ssize(0, ==, tree.lookup(StringRef::from_lit("test.nghttp2.org"))); - assert_ssize(1, ==, tree.lookup(StringRef::from_lit("w.test.nghttp2.org"))); - assert_ssize(2, ==, tree.lookup(StringRef::from_lit("www.test.nghttp2.org"))); - assert_ssize(3, ==, tree.lookup(StringRef::from_lit("test.example.com"))); + assert_ssize(-1, ==, tree.lookup("not-used.nghttp2.org"_sr)); + assert_ssize(0, ==, tree.lookup("test.nghttp2.org"_sr)); + assert_ssize(1, ==, tree.lookup("w.test.nghttp2.org"_sr)); + assert_ssize(2, ==, tree.lookup("www.test.nghttp2.org"_sr)); + assert_ssize(3, ==, tree.lookup("test.example.com"_sr)); } template <size_t N, size_t M> @@ -249,11 +248,10 @@ static Address parse_addr(const char *ipaddr) { void test_shrpx_tls_verify_numeric_hostname(void) { { // Successful IPv4 address match in SAN - static constexpr char ipaddr[] = "127.0.0.1"; + static constexpr auto ipaddr = "127.0.0.1"_sr; auto cert = load_cert(NGHTTP2_SRC_DIR "/testdata/verify_hostname.crt"); - auto addr = parse_addr(ipaddr); - auto rv = - tls::verify_numeric_hostname(cert, StringRef::from_lit(ipaddr), &addr); + auto addr = parse_addr(ipaddr.data()); + auto rv = tls::verify_numeric_hostname(cert, ipaddr, &addr); assert_int(0, ==, rv); @@ -262,11 +260,10 @@ void test_shrpx_tls_verify_numeric_hostname(void) { { // Successful IPv6 address match in SAN - static constexpr char ipaddr[] = "::1"; + static constexpr auto ipaddr = "::1"_sr; auto cert = load_cert(NGHTTP2_SRC_DIR "/testdata/verify_hostname.crt"); - auto addr = parse_addr(ipaddr); - auto rv = - tls::verify_numeric_hostname(cert, StringRef::from_lit(ipaddr), &addr); + auto addr = parse_addr(ipaddr.data()); + auto rv = tls::verify_numeric_hostname(cert, ipaddr, &addr); assert_int(0, ==, rv); @@ -275,11 +272,10 @@ void test_shrpx_tls_verify_numeric_hostname(void) { { // Unsuccessful IPv4 address match in SAN - static constexpr char ipaddr[] = "192.168.0.127"; + static constexpr auto ipaddr = "192.168.0.127"_sr; auto cert = load_cert(NGHTTP2_SRC_DIR "/testdata/verify_hostname.crt"); - auto addr = parse_addr(ipaddr); - auto rv = - tls::verify_numeric_hostname(cert, StringRef::from_lit(ipaddr), &addr); + auto addr = parse_addr(ipaddr.data()); + auto rv = tls::verify_numeric_hostname(cert, ipaddr, &addr); assert_int(-1, ==, rv); @@ -288,11 +284,10 @@ void test_shrpx_tls_verify_numeric_hostname(void) { { // CommonName is not used if SAN is available - static constexpr char ipaddr[] = "192.168.0.1"; + static constexpr auto ipaddr = "192.168.0.1"_sr; auto cert = load_cert(NGHTTP2_SRC_DIR "/testdata/ipaddr.crt"); - auto addr = parse_addr(ipaddr); - auto rv = - tls::verify_numeric_hostname(cert, StringRef::from_lit(ipaddr), &addr); + auto addr = parse_addr(ipaddr.data()); + auto rv = tls::verify_numeric_hostname(cert, ipaddr, &addr); assert_int(-1, ==, rv); @@ -301,11 +296,10 @@ void test_shrpx_tls_verify_numeric_hostname(void) { { // Successful IPv4 address match in CommonName - static constexpr char ipaddr[] = "127.0.0.1"; + static constexpr auto ipaddr = "127.0.0.1"_sr; auto cert = load_cert(NGHTTP2_SRC_DIR "/testdata/nosan_ip.crt"); - auto addr = parse_addr(ipaddr); - auto rv = - tls::verify_numeric_hostname(cert, StringRef::from_lit(ipaddr), &addr); + auto addr = parse_addr(ipaddr.data()); + auto rv = tls::verify_numeric_hostname(cert, ipaddr, &addr); assert_int(0, ==, rv); @@ -317,8 +311,7 @@ void test_shrpx_tls_verify_dns_hostname(void) { { // Successful exact DNS name match in SAN auto cert = load_cert(NGHTTP2_SRC_DIR "/testdata/verify_hostname.crt"); - auto rv = tls::verify_dns_hostname( - cert, StringRef::from_lit("nghttp2.example.com")); + auto rv = tls::verify_dns_hostname(cert, "nghttp2.example.com"_sr); assert_int(0, ==, rv); @@ -328,8 +321,7 @@ void test_shrpx_tls_verify_dns_hostname(void) { { // Successful wildcard DNS name match in SAN auto cert = load_cert(NGHTTP2_SRC_DIR "/testdata/verify_hostname.crt"); - auto rv = tls::verify_dns_hostname( - cert, StringRef::from_lit("www.nghttp2.example.com")); + auto rv = tls::verify_dns_hostname(cert, "www.nghttp2.example.com"_sr); assert_int(0, ==, rv); @@ -339,7 +331,7 @@ void test_shrpx_tls_verify_dns_hostname(void) { { // CommonName is not used if SAN is available. auto cert = load_cert(NGHTTP2_SRC_DIR "/testdata/verify_hostname.crt"); - auto rv = tls::verify_dns_hostname(cert, StringRef::from_lit("localhost")); + auto rv = tls::verify_dns_hostname(cert, "localhost"_sr); assert_int(-1, ==, rv); @@ -349,7 +341,7 @@ void test_shrpx_tls_verify_dns_hostname(void) { { // Successful DNS name match in CommonName auto cert = load_cert(NGHTTP2_SRC_DIR "/testdata/nosan.crt"); - auto rv = tls::verify_dns_hostname(cert, StringRef::from_lit("localhost")); + auto rv = tls::verify_dns_hostname(cert, "localhost"_sr); assert_int(0, ==, rv); |