/*
lookup one record
*/
+#ifdef BIND_VERSION_9_8
+_PUBLIC_ isc_result_t dlz_lookup(const char *zone, const char *name,
+ void *dbdata, dns_sdlzlookup_t *lookup)
+#else
_PUBLIC_ isc_result_t dlz_lookup(const char *zone, const char *name,
void *dbdata, dns_sdlzlookup_t *lookup,
dns_clientinfomethods_t *methods,
dns_clientinfo_t *clientinfo)
+#endif
{
struct dlz_bind9_data *state = talloc_get_type_abort(dbdata, struct dlz_bind9_data);
return dlz_lookup_types(state, zone, name, lookup, NULL);
tree.
*/
typedef unsigned int isc_result_t;
+#ifdef BIND_VERSION_9_8
+typedef bool isc_boolean_t;
+#else
typedef int isc_boolean_t;
+#endif
typedef uint32_t dns_ttl_t;
+#ifdef BIND_VERSION_9_8
+#define DLZ_DLOPEN_VERSION 1
+#else
#define DLZ_DLOPEN_VERSION 2
+#endif
/* return this in flags to dlz_version() if thread safe */
#define DNS_SDLZFLAG_THREADSAFE 0x00000001U
/*
dlz_lookup is required for all DLZ external drivers
*/
+#ifdef BIND_VERSION_9_8
+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,
dns_clientinfomethods_t *methods,
dns_clientinfo_t *clientinfo);
+#endif
/*
dlz_allowzonexfr() is optional, and should be supplied if you want
# a bind9 dlz module giving access to the Samba DNS SAM
bld.SAMBA_LIBRARY('dlz_bind9',
source='dlz_bind9.c',
+ cflags='-DBIND_VERSION_9_8',
private_library=True,
link_name='modules/bind9/dlz_bind9.so',
realname='dlz_bind9.so',
install_path='${MODULESDIR}/bind9',
deps='samba-hostconfig samdb gensec popt')
+
+bld.SAMBA_LIBRARY('dlz_bind9_9',
+ source='dlz_bind9.c',
+ cflags='-DBIND_VERSION_9_9',
+ private_library=True,
+ link_name='modules/bind9/dlz_bind9_9.so',
+ realname='dlz_bind9.so',
+ install_path='${MODULESDIR}/bind9',
+ deps='samba-hostconfig samdb gensec popt')