summaryrefslogtreecommitdiff
path: root/source4/dsdb/samdb/ldb_modules/update_keytab.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2010-02-20 11:44:41 +1100
committerAndrew Bartlett <abartlet@samba.org>2010-02-20 17:58:07 +1100
commita9d9447d5a448e13d4373c3c4b48f0edd49dc38a (patch)
tree3b7b54d9bae10efa5481672b081660e3f7c0ef0a /source4/dsdb/samdb/ldb_modules/update_keytab.c
parentda1970c0ff4cd3556102e9357b2e0cf65728c8d6 (diff)
downloadsamba-a9d9447d5a448e13d4373c3c4b48f0edd49dc38a.tar.gz
samba-a9d9447d5a448e13d4373c3c4b48f0edd49dc38a.tar.bz2
samba-a9d9447d5a448e13d4373c3c4b48f0edd49dc38a.zip
s4:credentials Add hooks to extract a named Kerberos credentials cache
This allows the integration of external tools that can't be linked into C or python, but need to authenticate as the local machine account. The machineaccountccache script demonstrates this, and debugging has been improved in cli_credentials_set_secrets() by passing back and error string. Andrew Bartlett
Diffstat (limited to 'source4/dsdb/samdb/ldb_modules/update_keytab.c')
-rw-r--r--source4/dsdb/samdb/ldb_modules/update_keytab.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/update_keytab.c b/source4/dsdb/samdb/ldb_modules/update_keytab.c
index f08600ea32..620c047cd1 100644
--- a/source4/dsdb/samdb/ldb_modules/update_keytab.c
+++ b/source4/dsdb/samdb/ldb_modules/update_keytab.c
@@ -81,6 +81,7 @@ static int add_modified(struct ldb_module *module, struct ldb_dn *dn, bool do_de
struct update_kt_private *data = talloc_get_type(ldb_module_get_private(module), struct update_kt_private);
struct dn_list *item;
char *filter;
+ char *errstring;
struct ldb_result *res;
const char *attrs[] = { NULL };
int ret;
@@ -124,7 +125,7 @@ static int add_modified(struct ldb_module *module, struct ldb_dn *dn, bool do_de
}
cli_credentials_set_conf(item->creds, ldb_get_opaque(ldb, "loadparm"));
- status = cli_credentials_set_secrets(item->creds, ldb_get_event_context(ldb), ldb_get_opaque(ldb, "loadparm"), ldb, NULL, filter);
+ status = cli_credentials_set_secrets(item->creds, ldb_get_event_context(ldb), ldb_get_opaque(ldb, "loadparm"), ldb, NULL, filter, &errstring);
talloc_free(filter);
if (NT_STATUS_IS_OK(status)) {
if (do_delete) {