2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-22 18:19:42 +00:00
This commit is contained in:
Michael Graff 1999-10-12 02:06:08 +00:00
parent 6c04ef76d6
commit a9ece9973c
2 changed files with 48 additions and 14 deletions

View File

@ -64,9 +64,10 @@ main(int argc, char **argv)
isc_sockaddr_t sockaddr; isc_sockaddr_t sockaddr;
struct in_addr ina; struct in_addr ina;
isc_result_t result; isc_result_t result;
dns_name_t name; dns_name_t name1, name2;
isc_buffer_t t, namebuf; isc_buffer_t t, namebuf;
unsigned char namestorage[512]; unsigned char namestorage1[512];
unsigned char namestorage2[512];
dns_view_t *view; dns_view_t *view;
dns_adb_t *adb; dns_adb_t *adb;
@ -110,50 +111,70 @@ main(int argc, char **argv)
check_result(result, "dns_adb_create"); check_result(result, "dns_adb_create");
#define NAME1 "nonexistant.flame.org." #define NAME1 "nonexistant.flame.org."
#define NAME2 "badname.isc.org."
isc_buffer_init(&t, NAME1, sizeof NAME1 - 1, ISC_BUFFERTYPE_TEXT); isc_buffer_init(&t, NAME1, sizeof NAME1 - 1, ISC_BUFFERTYPE_TEXT);
isc_buffer_add(&t, strlen(NAME1)); isc_buffer_add(&t, strlen(NAME1));
isc_buffer_init(&namebuf, namestorage, sizeof namestorage, isc_buffer_init(&namebuf, namestorage1, sizeof namestorage1,
ISC_BUFFERTYPE_BINARY); ISC_BUFFERTYPE_BINARY);
dns_name_init(&name, NULL); dns_name_init(&name1, NULL);
result = dns_name_fromtext(&name, &t, dns_rootname, ISC_FALSE, result = dns_name_fromtext(&name1, &t, dns_rootname, ISC_FALSE,
&namebuf); &namebuf);
check_result(result, "dns_name_fromtext"); check_result(result, "dns_name_fromtext NAME1");
isc_buffer_init(&t, NAME2, sizeof NAME2 - 1, ISC_BUFFERTYPE_TEXT);
isc_buffer_add(&t, strlen(NAME2));
isc_buffer_init(&namebuf, namestorage2, sizeof namestorage2,
ISC_BUFFERTYPE_BINARY);
dns_name_init(&name2, NULL);
result = dns_name_fromtext(&name2, &t, dns_rootname, ISC_FALSE,
&namebuf);
check_result(result, "dns_name_fromtext NAME2");
/* /*
* Store this address for this name. * Store this address for this name.
*/ */
ina.s_addr = inet_addr("1.2.3.4"); ina.s_addr = inet_addr("1.2.3.4");
isc_sockaddr_fromin(&sockaddr, &ina, 53); isc_sockaddr_fromin(&sockaddr, &ina, 53);
result = dns_adb_insert(adb, &name, &sockaddr); result = dns_adb_insert(adb, &name1, &sockaddr);
check_result(result, "dns_adb_insert 1.2.3.4"); check_result(result, "dns_adb_insert 1.2.3.4");
printf("Added 1.2.3.4\n"); printf("Added 1.2.3.4\n");
ina.s_addr = inet_addr("1.2.3.5"); ina.s_addr = inet_addr("1.2.3.5");
isc_sockaddr_fromin(&sockaddr, &ina, 53); isc_sockaddr_fromin(&sockaddr, &ina, 53);
result = dns_adb_insert(adb, &name, &sockaddr); result = dns_adb_insert(adb, &name1, &sockaddr);
check_result(result, "dns_adb_insert 1.2.3.5"); check_result(result, "dns_adb_insert 1.2.3.5");
printf("Added 1.2.3.5\n"); printf("Added 1.2.3.5\n");
ina.s_addr = inet_addr("1.2.3.6"); ina.s_addr = inet_addr("1.2.3.6");
isc_sockaddr_fromin(&sockaddr, &ina, 53); isc_sockaddr_fromin(&sockaddr, &ina, 53);
result = dns_adb_insert(adb, &name, &sockaddr); result = dns_adb_insert(adb, &name1, &sockaddr);
check_result(result, "dns_adb_insert 1.2.3.6"); check_result(result, "dns_adb_insert 1.2.3.6");
printf("Added 1.2.3.6\n"); printf("Added 1.2.3.6\n");
ina.s_addr = inet_addr("1.2.3.5");
isc_sockaddr_fromin(&sockaddr, &ina, 53);
result = dns_adb_insert(adb, &name2, &sockaddr);
check_result(result, "dns_adb_insert 1.2.3.5");
printf("Added 1.2.3.5\n");
isc_task_detach(&t1); isc_task_detach(&t1);
isc_task_detach(&t2); isc_task_detach(&t2);
dns_adb_dump(adb, stderr); dns_adb_dump(adb, stderr);
result = dns_adb_deletename(adb, &name); result = dns_adb_deletename(adb, &name1);
check_result(result, "dns_adb_deletename"); check_result(result, "dns_adb_deletename name1");
result = dns_adb_deletename(adb, &name2);
check_result(result, "dns_adb_deletename name2");
dns_adb_dump(adb, stderr); dns_adb_dump(adb, stderr);
isc_mem_stats(mctx, stdout); isc_mem_stats(mctx, stdout);
dns_adb_destroy(&adb); dns_adb_destroy(&adb);
dns_view_detach(&view);
fprintf(stderr, "Destroying task manager\n"); fprintf(stderr, "Destroying task manager\n");
isc_taskmgr_destroy(&manager); isc_taskmgr_destroy(&manager);

View File

@ -1197,13 +1197,26 @@ dns_adb_dump(dns_adb_t *adb, FILE *f)
entry->lock_bucket); entry->lock_bucket);
sa = &entry->sockaddr; sa = &entry->sockaddr;
tmpp = inet_ntop(sa->type.sa.sa_family, &sa->type.sa, switch (sa->type.sa.sa_family) {
case AF_INET:
tmpp = inet_ntop(AF_INET,
&sa->type.sin.sin_addr,
tmp, sizeof tmp); tmp, sizeof tmp);
break;
case AF_INET6:
tmpp = inet_ntop(AF_INET6,
&sa->type.sin6.sin6_addr,
tmp, sizeof tmp);
break;
default:
tmpp = "UnkFamily";
}
if (tmpp == NULL) if (tmpp == NULL)
tmpp = "CANNOT TRANSLATE ADDRESS!"; tmpp = "CANNOT TRANSLATE ADDRESS!";
fprintf(f, "\trefcnt %u flags %08x goodness %d" fprintf(f, "\trefcnt %u flags %08x goodness %d"
" srtt %u host %s\n", " srtt %u addr %s\n",
entry->refcnt, entry->flags, entry->goodness, entry->refcnt, entry->flags, entry->goodness,
entry->srtt, tmpp); entry->srtt, tmpp);