From d3fbc089f4161ae71b21077d50130fdabd8b2d77 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Tue, 6 Feb 2007 05:41:04 +0000 Subject: [PATCH] r21175: Fix the kerberos keytab update code to handle deletes. Fix the join code to know that the ldb layer handles the keytab update. Andrew Bartlett --- source/auth/kerberos/kerberos_util.c | 5 ++--- source/libnet/libnet_join.c | 28 ---------------------------- 2 files changed, 2 insertions(+), 31 deletions(-) diff --git a/source/auth/kerberos/kerberos_util.c b/source/auth/kerberos/kerberos_util.c index a68268e6978..78fc95b6493 100644 --- a/source/auth/kerberos/kerberos_util.c +++ b/source/auth/kerberos/kerberos_util.c @@ -417,10 +417,9 @@ static int create_keytab(TALLOC_CTX *parent_ctx, const struct samr_Password *mach_pwd; mach_pwd = cli_credentials_get_nt_hash(machine_account, mem_ctx); if (!mach_pwd) { - DEBUG(1, ("create_keytab: Domain trust informaton for account %s not available\n", - cli_credentials_get_principal(machine_account, mem_ctx))); + /* OK, nothing to do here */ talloc_free(mem_ctx); - return EINVAL; + return 0; } ret = krb5_keyblock_init(smb_krb5_context->krb5_context, ETYPE_ARCFOUR_HMAC_MD5, diff --git a/source/libnet/libnet_join.c b/source/libnet/libnet_join.c index f47ea410aeb..44e2dfe5f0e 100644 --- a/source/libnet/libnet_join.c +++ b/source/libnet/libnet_join.c @@ -860,7 +860,6 @@ static NTSTATUS libnet_Join_primary_domain(struct libnet_context *ctx, uint32_t acct_type = 0; const char *account_name; const char *netbios_name; - char *filter; r->out.error_string = NULL; @@ -1143,33 +1142,6 @@ static NTSTATUS libnet_Join_primary_domain(struct libnet_context *ctx, return NT_STATUS_INTERNAL_DB_CORRUPTION; } - if (r2->out.realm) { - struct cli_credentials *creds; - /* Make a credentials structure from it */ - creds = cli_credentials_init(mem_ctx); - if (!creds) { - r->out.error_string = NULL; - talloc_free(tmp_mem); - return NT_STATUS_NO_MEMORY; - } - cli_credentials_set_conf(creds); - filter = talloc_asprintf(mem_ctx, "dn=%s", ldb_dn_get_linearized(msg->dn)); - status = cli_credentials_set_secrets(creds, NULL, NULL, filter); - if (!NT_STATUS_IS_OK(status)) { - r->out.error_string = talloc_asprintf(mem_ctx, "Failed to read secrets for keytab update for %s", - filter); - talloc_free(tmp_mem); - return status; - } - ret = cli_credentials_update_keytab(creds); - if (ret != 0) { - r->out.error_string = talloc_asprintf(mem_ctx, "Failed to update keytab for %s", - filter); - talloc_free(tmp_mem); - return NT_STATUS_UNSUCCESSFUL; - } - } - /* move all out parameter to the callers TALLOC_CTX */ r->out.error_string = NULL; r->out.join_password = r2->out.join_password;