server: Add get_sd and set_sd object operations to allow the security descriptor to be stored somewhere other than server memory, such as on disk.
diff --git a/server/handle.c b/server/handle.c
index 65b4205..763870e 100644
--- a/server/handle.c
+++ b/server/handle.c
@@ -111,6 +111,8 @@
     no_signal,                       /* signal */
     no_get_fd,                       /* get_fd */
     no_map_access,                   /* map_access */
+    default_get_sd,                  /* get_sd */
+    default_set_sd,                  /* set_sd */
     no_lookup_name,                  /* lookup_name */
     no_open_file,                    /* open_file */
     no_close_handle,                 /* close_handle */
@@ -612,7 +614,7 @@
 
     if (!(obj = get_handle_obj( current->process, req->handle, access, NULL ))) return;
 
-    set_object_sd( obj, sd, req->security_info );
+    obj->ops->set_sd( obj, sd, req->security_info );
     release_object( obj );
 }
 
@@ -631,7 +633,7 @@
 
     if (!(obj = get_handle_obj( current->process, req->handle, access, NULL ))) return;
 
-    sd = obj->sd;
+    sd = obj->ops->get_sd( obj );
     if (sd)
     {
         req_sd.control = sd->control & ~SE_SELF_RELATIVE;