diff options
author | Adam Tkac <atkac@redhat.com> | 2009-02-12 17:31:43 +0100 |
---|---|---|
committer | Martin Nagy <mnagy@redhat.com> | 2009-02-12 17:34:39 +0100 |
commit | b940e76941d845baaefa7408e7c939d7d73fd277 (patch) | |
tree | da0bd07936875f13e80191c76faa6d906687ca4e /ldap_driver.c | |
parent | 1167840b16883acdc4ab47b1ef8c69d8ed7a33d8 (diff) | |
download | ldap_driver_testing-b940e76941d845baaefa7408e7c939d7d73fd277.tar.gz ldap_driver_testing-b940e76941d845baaefa7408e7c939d7d73fd277.tar.xz ldap_driver_testing-b940e76941d845baaefa7408e7c939d7d73fd277.zip |
Implemented findrdataset function.
Diffstat (limited to 'ldap_driver.c')
-rw-r--r-- | ldap_driver.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/ldap_driver.c b/ldap_driver.c index b032bf0..25a98fc 100644 --- a/ldap_driver.c +++ b/ldap_driver.c @@ -454,16 +454,28 @@ findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, dns_rdatatype_t type, dns_rdatatype_t covers, isc_stdtime_t now, dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset) { + ldapdbnode_t *ldapdbnode = (ldapdbnode_t *) node; + dns_rdatalist_t *rdlist = NULL; + isc_result_t result; + UNUSED(db); - UNUSED(node); - UNUSED(version); - UNUSED(type); - UNUSED(covers); UNUSED(now); - UNUSED(rdataset); UNUSED(sigrdataset); - return ISC_R_NOTIMPLEMENTED; + REQUIRE(covers == 0); /* Only meaningful with DNSSEC capable DB*/ + REQUIRE(VALID_LDAPDBNODE(ldapdbnode)); + + if (version != NULL) { + REQUIRE(version == ldapdb_version); + } + + result = ldapdb_rdatalist_findrdatatype(&ldapdbnode->rdatalist, type, + &rdlist); + if (result != ISC_R_SUCCESS) + return result; + + dns_rdatalist_tordataset(rdlist, rdataset); + return ISC_R_SUCCESS; } static isc_result_t |