s3:registry avoid updating keys which are going to be deleted in
[metze/samba/wip.git] / source3 / registry / reg_dispatcher.c
index 966935392fd711903931f3632013d2f93f3b769d..5b52e98e08cd5653baf4e9a215db9a050f901ac7 100644 (file)
@@ -25,6 +25,8 @@
 
 #include "includes.h"
 #include "registry.h"
+#include "reg_dispatcher.h"
+#include "../libcli/security/security.h"
 
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_REGISTRY
@@ -65,7 +67,7 @@ static WERROR construct_registry_sd(TALLOC_CTX *ctx, struct security_descriptor
                return WERR_NOMEM;
        }
 
-       sd = make_sec_desc(ctx, SEC_DESC_REVISION, SEC_DESC_SELF_RELATIVE,
+       sd = make_sec_desc(ctx, SD_REVISION, SEC_DESC_SELF_RELATIVE,
                           &global_sid_Builtin_Administrators,
                           &global_sid_System, NULL, theacl,
                           &sd_size);
@@ -111,10 +113,10 @@ WERROR create_reg_subkey(struct registry_key_handle *key, const char *subkey)
        return WERR_NOT_SUPPORTED;
 }
 
-WERROR delete_reg_subkey(struct registry_key_handle *key, const char *subkey)
+WERROR delete_reg_subkey(struct registry_key_handle *key, const char *subkey, bool lazy)
 {
        if (key->ops && key->ops->delete_subkey) {
-               return key->ops->delete_subkey(key->name, subkey);
+               return key->ops->delete_subkey(key->name, subkey, lazy);
        }
 
        return WERR_NOT_SUPPORTED;
@@ -160,7 +162,7 @@ int fetch_reg_values(struct registry_key_handle *key, struct regval_ctr *val)
 
 bool regkey_access_check(struct registry_key_handle *key, uint32 requested,
                         uint32 *granted,
-                        const struct nt_user_token *token )
+                        const struct security_token *token )
 {
        struct security_descriptor *sec_desc;
        NTSTATUS status;