diff options
author | Günther Deschner <gd@samba.org> | 2014-04-30 10:26:17 +0200 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2014-08-08 06:02:34 +0200 |
commit | feabae7417213c071e98f05995601151a29353e7 (patch) | |
tree | c27c05ffe093cfc860c29da58099aaad5efe0b6a | |
parent | f5ce0ee45a1403484bede07b6596a885246913c8 (diff) | |
download | samba-feabae7417213c071e98f05995601151a29353e7.tar.gz samba-feabae7417213c071e98f05995601151a29353e7.tar.xz samba-feabae7417213c071e98f05995601151a29353e7.zip |
s4-dsdb/samdb: use smb_krb5_principal_get_comp_string in ldb ACL module.
Guenther
Signed-off-by: Günther Deschner <gd@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/acl.c | 13 | ||||
-rwxr-xr-x | 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' ) |