summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/dns_server/dlz_bind9.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source4/dns_server/dlz_bind9.c b/source4/dns_server/dlz_bind9.c
index 1b522632aa..83790c8da0 100644
--- a/source4/dns_server/dlz_bind9.c
+++ b/source4/dns_server/dlz_bind9.c
@@ -38,6 +38,7 @@ struct dlz_bind9_data {
struct tevent_context *ev_ctx;
struct loadparm_context *lp;
int *transaction_token;
+ uint32_t soa_serial;
/* helper functions from the dlz_dlopen driver */
void (*log)(int level, const char *fmt, ...);
@@ -162,6 +163,8 @@ static bool b9_format(struct dlz_bind9_data *state,
return false;
}
+ state->soa_serial = rec->data.soa.serial;
+
*data = talloc_asprintf(mem_ctx, "%s %s %u %u %u %u %u",
mname,
rec->data.soa.rname,
@@ -1187,6 +1190,10 @@ _PUBLIC_ isc_result_t dlz_addrdataset(const char *name, const char *rdatastr, vo
return ISC_R_NOMEMORY;
}
+ /* we're waiting on docs for this field */
+ rec->dwFlags = 0x0000f005;
+ rec->dwSerial = state->soa_serial;
+
if (!b9_parse(state, rdatastr, rec)) {
state->log(ISC_LOG_INFO, "samba_dlz: failed to parse rdataset '%s'", rdatastr);
talloc_free(rec);