From feabae7417213c071e98f05995601151a29353e7 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 30 Apr 2014 10:26:17 +0200 Subject: s4-dsdb/samdb: use smb_krb5_principal_get_comp_string in ldb ACL module. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Guenther Signed-off-by: Günther Deschner Reviewed-by: Andrew Bartlett --- source4/dsdb/samdb/ldb_modules/acl.c | 13 ++++++++----- source4/dsdb/samdb/ldb_modules/wscript_build_server | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/source4/dsdb/samdb/ldb_modules/acl.c b/source4/dsdb/samdb/ldb_modules/acl.c index 75b871f0d2..b4f7cef138 100644 --- a/source4/dsdb/samdb/ldb_modules/acl.c +++ b/source4/dsdb/samdb/ldb_modules/acl.c @@ -552,14 +552,17 @@ static int acl_validate_spn_value(TALLOC_CTX *mem_ctx, return LDB_ERR_CONSTRAINT_VIOLATION; } - if (principal->name.name_string.len < 2) { + if (krb5_princ_size(krb_ctx, principal) < 2) { goto fail; } - instanceName = principal->name.name_string.val[1]; - serviceType = principal->name.name_string.val[0]; - if (principal->name.name_string.len == 3) { - serviceName = principal->name.name_string.val[2]; + instanceName = smb_krb5_principal_get_comp_string(mem_ctx, krb_ctx, + principal, 1); + serviceType = smb_krb5_principal_get_comp_string(mem_ctx, krb_ctx, + principal, 0); + if (krb5_princ_size(krb_ctx, principal) == 3) { + serviceName = smb_krb5_principal_get_comp_string(mem_ctx, krb_ctx, + principal, 2); } else { serviceName = NULL; } diff --git a/source4/dsdb/samdb/ldb_modules/wscript_build_server b/source4/dsdb/samdb/ldb_modules/wscript_build_server index 41eb0f34e1..0307aeaf9f 100755 --- a/source4/dsdb/samdb/ldb_modules/wscript_build_server +++ b/source4/dsdb/samdb/ldb_modules/wscript_build_server @@ -325,7 +325,7 @@ bld.SAMBA_MODULE('ldb_acl', init_function='ldb_acl_module_init', module_init_name='ldb_init_module', internal_module=False, - deps='talloc samba-security samdb DSDB_MODULE_HELPERS' + deps='talloc samba-security samdb DSDB_MODULE_HELPERS krb5samba' ) -- cgit