s4-dsdb/samdb: use smb_krb5_principal_get_comp_string in ldb ACL module.
authorGünther Deschner <gd@samba.org>
Wed, 30 Apr 2014 08:26:17 +0000 (10:26 +0200)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 8 Aug 2014 04:02:34 +0000 (06:02 +0200)
Guenther

Signed-off-by: Günther Deschner <gd@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/dsdb/samdb/ldb_modules/acl.c
source4/dsdb/samdb/ldb_modules/wscript_build_server

index 75b871f0d24bb25b290cd41db83469f0ed8278dc..b4f7cef13819bf47f711f1bae370f01c38bffcf6 100644 (file)
@@ -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;
        }
index 41eb0f34e1638e17eee8dd677e48d0cff81d3705..0307aeaf9f88d030062b5e7fa1c94b3558d1de63 100755 (executable)
@@ -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'
        )