From db4b95827e4e6d13577513946bff4f956c849756 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sun, 23 Oct 2005 22:20:42 +0000 Subject: r11270: Move the core CrackNames code from rpc_server/drsuapi to dsdb/samdb. I'm sure this will not be the final resting place, but it will do for now. Use the cracknames code in auth/ for creating a server_info given a principal name only (should avoid assumtions about spliting a user@realm principal). Andrew Bartlett (This used to be commit c9d5d8e45dd7b7c99b6cf35b087bc18012f31222) --- source4/kdc/pac-glue.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'source4/kdc/pac-glue.c') diff --git a/source4/kdc/pac-glue.c b/source4/kdc/pac-glue.c index 20578a786e..47cd31583e 100644 --- a/source4/kdc/pac-glue.c +++ b/source4/kdc/pac-glue.c @@ -36,15 +36,14 @@ krb5_error_code ret; NTSTATUS nt_status; struct auth_serversupplied_info *server_info; - char *username; - const char *realm; DATA_BLOB tmp_blob; + char *principal_string; TALLOC_CTX *mem_ctx = talloc_named(config, 0, "samba_get_pac context"); if (!mem_ctx) { return ENOMEM; } - ret = krb5_unparse_name_norealm(context, client, &username); + ret = krb5_unparse_name(context, client, &principal_string); if (ret != 0) { krb5_set_error_string(context, "get pac: could not parse principal"); @@ -53,12 +52,9 @@ return ret; } - /* parse the principal name */ - realm = krb5_principal_get_realm(context, client); - - nt_status = sam_get_server_info(mem_ctx, username, realm, - data_blob(NULL, 0), data_blob(NULL, 0), - &server_info); + nt_status = sam_get_server_info_principal(mem_ctx, principal_string, + &server_info); + free(principal_string); if (!NT_STATUS_IS_OK(nt_status)) { DEBUG(0, ("Getting user info for PAC failed: %s\n", nt_errstr(nt_status))); -- cgit