1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

dssync keytab: remove old UpToDateNess vectors from keytab before storing new one.

Michael
This commit is contained in:
Michael Adam 2008-07-29 14:13:37 +02:00
parent a6f61c05b2
commit 717bd6f6c3

View File

@ -113,6 +113,7 @@ static NTSTATUS keytab_finish(struct dssync_context *ctx, TALLOC_CTX *mem_ctx,
if (new_utdv) {
enum ndr_err_code ndr_err;
DATA_BLOB blob;
char *principal;
if (DEBUGLEVEL >= 10) {
NDR_PRINT_DEBUG(replUpToDateVectorBlob, new_utdv);
@ -135,6 +136,24 @@ static NTSTATUS keytab_finish(struct dssync_context *ctx, TALLOC_CTX *mem_ctx,
if (!NT_STATUS_IS_OK(status)) {
goto done;
}
principal = talloc_asprintf(mem_ctx, "UTDV/%s@%s",
ctx->nc_dn, ctx->dns_domain_name);
if (!principal) {
status = NT_STATUS_NO_MEMORY;
goto done;
}
ret = libnet_keytab_remove_entries(keytab_ctx, principal,
0, ENCTYPE_ARCFOUR_HMAC);
if (ret) {
status = krb5_to_nt_status(ret);
ctx->error_message = talloc_asprintf(mem_ctx,
"Failed to remove old UTDV entries from "
"keytab %s: %s", keytab_ctx->keytab_name,
error_message(ret));
goto done;
}
}
ret = libnet_keytab_add(keytab_ctx);