]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
lbcli/security: callback object ACES fall back with no GUID
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Tue, 19 Sep 2023 23:12:42 +0000 (11:12 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 26 Sep 2023 23:45:35 +0000 (23:45 +0000)
As with other object ACEs, if there is not a GUID to refer to the ACE
becomes the corresponding non-object ACE.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
libcli/security/create_descriptor.c

index d9e1c05f31ba8da93eda57aeb63762ba1f1e07b5..4db23bede184f9d2ef68bc0a732a99e54e3e6267 100644 (file)
@@ -345,9 +345,21 @@ static struct security_acl *calculate_inherited_from_parent(TALLOC_CTX *mem_ctx,
                                case SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT:
                                        tmp_ace->type = SEC_ACE_TYPE_SYSTEM_AUDIT;
                                        break;
-                                default:
-                                        /* all the _CALLBACK types */
-                                        break;
+                               case SEC_ACE_TYPE_ACCESS_ALLOWED_CALLBACK_OBJECT:
+                                       tmp_ace->type = SEC_ACE_TYPE_ACCESS_ALLOWED_CALLBACK;
+                                       break;
+                               case SEC_ACE_TYPE_ACCESS_DENIED_CALLBACK_OBJECT:
+                                       tmp_ace->type = SEC_ACE_TYPE_ACCESS_DENIED_CALLBACK;
+                                       break;
+                               case SEC_ACE_TYPE_SYSTEM_AUDIT_CALLBACK_OBJECT:
+                                       tmp_ace->type = SEC_ACE_TYPE_SYSTEM_AUDIT_CALLBACK;
+                                       break;
+                               default:
+                                       /*
+                                        * SEC_ACE_TYPE_SYSTEM_ALARM_CALLBACK_OBJECT
+                                        * is reserved.
+                                        */
+                                       break;
                                }
                        }