int main(int argc, char *argv[]) { int ret; #ifdef USE_ISC_MEM isc_mem_t *mem; isc_result_t result; #endif (void)argc; (void)argv; #ifdef USE_ISC_MEM mem = NULL; result = isc_mem_create(0, 0, &mem); INSIST(result == ISC_R_SUCCESS); #endif ctx = NULL; #ifdef USE_ISC_MEM ret = lwres_context_create(&ctx, mem, mem_alloc, mem_free, 0); #else ret = lwres_context_create(&ctx, NULL, NULL, NULL, 0); #endif CHECK(ret, "lwres_context_create"); ret = lwres_conf_parse(ctx, "/etc/resolv.conf"); CHECK(ret, "lwres_conf_parse"); lwres_conf_print(ctx, stdout); test_noop(); /* * The following comments about tests all assume your search path is * nominum.com isc.org flame.org * and ndots is the default of 1. */ test_gabn("alias-05.test"); /* exact, then search. */ test_gabn("f.root-servers.net."); test_gabn("poofball.flame.org."); test_gabn("foo.ip6.int."); test_gabn("notthereatall.flame.org"); /* exact, then search (!found)*/ test_gabn("shell"); /* search (found in nominum.com), then exact */ test_gabn("kechara"); /* search (found in flame.org), then exact */ test_gabn("lkasdjlaksjdlkasjdlkasjdlkasjd"); /* search, exact(!found)*/ test_gnba("198.133.199.1", LWRES_ADDRTYPE_V4); test_gnba("204.152.184.79", LWRES_ADDRTYPE_V4); test_gnba("3ffe:8050:201:1860:42::1", LWRES_ADDRTYPE_V6); lwres_conf_clear(ctx); lwres_context_destroy(&ctx); #ifdef USE_ISC_MEM isc_mem_stats(mem, stdout); isc_mem_destroy(&mem); #endif return (0); }
int main(void) { lwres_result_t ret; lwres_udp_port = 9210; lwres_resolv_conf = "resolv.conf"; ret = lwres_context_create(&ctx, NULL, NULL, NULL, 0); CHECK(ret, "lwres_context_create"); ret = lwres_conf_parse(ctx, "resolv.conf"); CHECK(ret, "lwres_conf_parse"); test_noop(); test_gabn("a.example1", LWRES_R_SUCCESS, "10.0.1.1", LWRES_ADDRTYPE_V4); test_gabn("a.example1.", LWRES_R_SUCCESS, "10.0.1.1", LWRES_ADDRTYPE_V4); test_gabn("a.example2", LWRES_R_SUCCESS, "10.0.2.1", LWRES_ADDRTYPE_V4); test_gabn("a.example2.", LWRES_R_SUCCESS, "10.0.2.1", LWRES_ADDRTYPE_V4); test_gabn("a.example3", LWRES_R_NOTFOUND, NULL, LWRES_ADDRTYPE_V4); test_gabn("a.example3.", LWRES_R_NOTFOUND, NULL, LWRES_ADDRTYPE_V4); test_gabn("a", LWRES_R_SUCCESS, "10.0.1.1", LWRES_ADDRTYPE_V4); test_gabn("a.", LWRES_R_NOTFOUND, NULL, LWRES_ADDRTYPE_V4); test_gabn("a2", LWRES_R_SUCCESS, "10.0.1.1", LWRES_ADDRTYPE_V4); test_gabn("a3", LWRES_R_NOTFOUND, NULL, LWRES_ADDRTYPE_V4); test_gabn("b.example1", LWRES_R_SUCCESS, "eeee:eeee:eeee:eeee:ffff:ffff:ffff:ffff", LWRES_ADDRTYPE_V6); test_gabn("b.example1.", LWRES_R_SUCCESS, "eeee:eeee:eeee:eeee:ffff:ffff:ffff:ffff", LWRES_ADDRTYPE_V6); test_gabn("b.example2", LWRES_R_SUCCESS, "eeee:eeee:eeee:eeee:ffff:ffff:ffff:ffff", LWRES_ADDRTYPE_V6); test_gabn("b.example2.", LWRES_R_SUCCESS, "eeee:eeee:eeee:eeee:ffff:ffff:ffff:ffff", LWRES_ADDRTYPE_V6); test_gabn("b.example3", LWRES_R_NOTFOUND, NULL, LWRES_ADDRTYPE_V6); test_gabn("b.example3.", LWRES_R_NOTFOUND, NULL, LWRES_ADDRTYPE_V6); test_gabn("b", LWRES_R_SUCCESS, "eeee:eeee:eeee:eeee:ffff:ffff:ffff:ffff", LWRES_ADDRTYPE_V6); test_gabn("b.", LWRES_R_NOTFOUND, NULL, LWRES_ADDRTYPE_V6); test_gabn("d.example1", LWRES_R_NOTFOUND, NULL, LWRES_ADDRTYPE_V6); test_gabn("x", LWRES_R_SUCCESS, "10.1.10.1", LWRES_ADDRTYPE_V4); test_gabn("x.", LWRES_R_SUCCESS, "10.1.10.1", LWRES_ADDRTYPE_V4); test_gnba("10.10.10.1", LWRES_ADDRTYPE_V4, LWRES_R_SUCCESS, "ipv4.example"); test_gnba("10.10.10.17", LWRES_ADDRTYPE_V4, LWRES_R_NOTFOUND, NULL); test_gnba("0123:4567:89ab:cdef:0123:4567:89ab:cdef", LWRES_ADDRTYPE_V6, LWRES_R_SUCCESS, "ip6.int.example"); test_gnba("0123:4567:89ab:cdef:0123:4567:89ab:cde0", LWRES_ADDRTYPE_V6, LWRES_R_NOTFOUND, NULL); test_gnba("1123:4567:89ab:cdef:0123:4567:89ab:cdef", LWRES_ADDRTYPE_V6, LWRES_R_SUCCESS, "ip6.arpa.example"); test_gnba("1123:4567:89ab:cdef:0123:4567:89ab:cde0", LWRES_ADDRTYPE_V6, LWRES_R_NOTFOUND, NULL); test_gethostbyname("a.example1.", "10.0.1.1"); test_gethostbyname("q.example1.", NULL); test_gethostbyname2("a.example1.", "10.0.1.1", AF_INET); test_gethostbyname2("b.example1.", "eeee:eeee:eeee:eeee:ffff:ffff:ffff:ffff", AF_INET6); test_gethostbyname2("q.example1.", NULL, AF_INET); test_getipnodebyname("a.example1.", "10.0.1.1", AF_INET, 0, 0); test_getipnodebyname("b.example1.", "eeee:eeee:eeee:eeee:ffff:ffff:ffff:ffff", AF_INET6, 0, 0); test_getipnodebyname("a.example1.", "::ffff:10.0.1.1", AF_INET6, 1, 0); test_getipnodebyname("a.example1.", "::ffff:10.0.1.1", AF_INET6, 1, 1); test_getipnodebyname("b.example1.", "eeee:eeee:eeee:eeee:ffff:ffff:ffff:ffff", AF_INET6, 1, 1); test_getipnodebyname("q.example1.", NULL, AF_INET, 0, 0); test_gethostbyaddr("10.10.10.1", AF_INET, "ipv4.example"); test_gethostbyaddr("10.10.10.17", AF_INET, NULL); test_gethostbyaddr("0123:4567:89ab:cdef:0123:4567:89ab:cdef", AF_INET6, "ip6.int.example"); test_gethostbyaddr("1123:4567:89ab:cdef:0123:4567:89ab:cdef", AF_INET6, "ip6.arpa.example"); test_getipnodebyaddr("10.10.10.1", AF_INET, "ipv4.example"); test_getipnodebyaddr("10.10.10.17", AF_INET, NULL); test_getipnodebyaddr("0123:4567:89ab:cdef:0123:4567:89ab:cdef", AF_INET6, "ip6.int.example"); test_getipnodebyaddr("1123:4567:89ab:cdef:0123:4567:89ab:cdef", AF_INET6, "ip6.arpa.example"); test_getaddrinfo("a.example1.", AF_INET, 1, 1, "10.0.1.1"); test_getaddrinfo("a.example1.", AF_INET, 1, 0, "10.0.1.1"); test_getaddrinfo("a.example1.", AF_INET, 0, 1, NULL); test_getaddrinfo("b.example1.", AF_INET6, 1, 1, "eeee:eeee:eeee:eeee:ffff:ffff:ffff:ffff"); test_getaddrinfo("b.example1.", AF_INET6, 1, 0, NULL); test_getaddrinfo("b.example1.", AF_INET6, 0, 1, "eeee:eeee:eeee:eeee:ffff:ffff:ffff:ffff"); test_getnameinfo("10.10.10.1", AF_INET, "ipv4.example"); test_getnameinfo("10.10.10.17", AF_INET, NULL); test_getnameinfo("0123:4567:89ab:cdef:0123:4567:89ab:cdef", AF_INET6, "ip6.int.example"); test_getnameinfo("1123:4567:89ab:cdef:0123:4567:89ab:cdef", AF_INET6, "ip6.arpa.example"); test_getnameinfo("1122:3344:5566:7788:99aa:bbcc:ddee:ff00", AF_INET6, "dname.example1"); test_getrrsetbyname("a", 1, 1, 1, 0, 1); test_getrrsetbyname("a.example1.", 1, 1, 1, 0, 1); test_getrrsetbyname("e.example1.", 1, 1, 1, 1, 1); test_getrrsetbyname("e.example1.", 1, 255, 1, 1, 0); test_getrrsetbyname("e.example1.", 1, 46, 2, 0, 1); test_getrrsetbyname("", 1, 1, 0, 0, 0); if (fails == 0) printf("I:ok\n"); return (fails); }