2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 22:45:39 +00:00

[master] make LDAP DLZ module work with older DLZ

This commit is contained in:
Evan Hunt
2013-07-03 13:57:58 -07:00
parent 1da46be572
commit f469d5d440

View File

@@ -112,10 +112,15 @@ typedef struct {
/* forward references */ /* forward references */
#if DLZ_DLOPEN_VERSION < 3
isc_result_t
dlz_findzonedb(void *dbdata, const char *name);
#else
isc_result_t isc_result_t
dlz_findzonedb(void *dbdata, const char *name, dlz_findzonedb(void *dbdata, const char *name,
dns_clientinfomethods_t *methods, dns_clientinfomethods_t *methods,
dns_clientinfo_t *clientinfo); dns_clientinfo_t *clientinfo);
#endif
void void
dlz_destroy(void *dbdata); dlz_destroy(void *dbdata);
@@ -814,7 +819,11 @@ dlz_allowzonexfr(void *dbdata, const char *name, const char *client) {
isc_result_t result; isc_result_t result;
/* check to see if we are authoritative for the zone first */ /* check to see if we are authoritative for the zone first */
#if DLZ_DLOPEN_VERSION < 3
result = dlz_findzonedb(dbdata, name);
#else
result = dlz_findzonedb(dbdata, name, NULL, NULL); result = dlz_findzonedb(dbdata, name, NULL, NULL);
#endif
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
return (result); return (result);
} }
@@ -835,26 +844,39 @@ dlz_authority(const char *zone, void *dbdata, dns_sdlzlookup_t *lookup) {
return (ldap_get_results(zone, NULL, NULL, AUTHORITY, dbdata, lookup)); return (ldap_get_results(zone, NULL, NULL, AUTHORITY, dbdata, lookup));
} }
#if DLZ_DLOPEN_VERSION < 3
isc_result_t
dlz_findzonedb(void *dbdata, const char *name)
#else
isc_result_t isc_result_t
dlz_findzonedb(void *dbdata, const char *name, dlz_findzonedb(void *dbdata, const char *name,
dns_clientinfomethods_t *methods, dns_clientinfomethods_t *methods,
dns_clientinfo_t *clientinfo) dns_clientinfo_t *clientinfo)
#endif
{ {
#if DLZ_DLOPEN_VERSION >= 3
UNUSED(methods); UNUSED(methods);
UNUSED(clientinfo); UNUSED(clientinfo);
#endif
return (ldap_get_results(name, NULL, NULL, FINDZONE, dbdata, NULL)); return (ldap_get_results(name, NULL, NULL, FINDZONE, dbdata, NULL));
} }
isc_result_t #if DLZ_DLOPEN_VERSION == 1
dlz_lookup(const char *zone, const char *name, isc_result_t dlz_lookup(const char *zone, const char *name,
void *dbdata, dns_sdlzlookup_t *lookup)
#else
isc_result_t dlz_lookup(const char *zone, const char *name,
void *dbdata, dns_sdlzlookup_t *lookup, void *dbdata, dns_sdlzlookup_t *lookup,
dns_clientinfomethods_t *methods, dns_clientinfomethods_t *methods,
dns_clientinfo_t *clientinfo) dns_clientinfo_t *clientinfo)
#endif
{ {
isc_result_t result; isc_result_t result;
#if DLZ_DLOPEN_VERSION >= 2
UNUSED(methods); UNUSED(methods);
UNUSED(clientinfo); UNUSED(clientinfo);
#endif
if (strcmp(name, "*") == 0) if (strcmp(name, "*") == 0)
result = ldap_get_results(zone, "~", NULL, LOOKUP, result = ldap_get_results(zone, "~", NULL, LOOKUP,