WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-api

[Xen-API] [PATCH] CA-37980: report error in audit-log for asynchronous t

To: xen-api <xen-api@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-API] [PATCH] CA-37980: report error in audit-log for asynchronous tasks
From: Marcus Granado <marcus.granado@xxxxxxxxxx>
Date: Fri, 19 Feb 2010 13:46:42 +0000
Delivery-date: Fri, 19 Feb 2010 05:46:27 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-api-request@lists.xensource.com?subject=help>
List-id: Discussion of API issues surrounding Xen <xen-api.lists.xensource.com>
List-post: <mailto:xen-api@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-api>, <mailto:xen-api-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-api>, <mailto:xen-api-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-api-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Marcus Granado <marcus.granado@xxxxxxxxxx>
# Date 1266586966 0
# Node ID c6a7cf573eb3b28e3a93569effaf736acca28744
# Parent  6927aee64f889d7f616f8bf77a9e68eb8cd88a94
CA-37980: report error in audit-log for asynchronous tasks

Signed-off-by: Marcus Granado <marcus.granado@xxxxxxxxxxxxx>

diff -r 6927aee64f88 -r c6a7cf573eb3 ocaml/idl/ocaml_backend/gen_server.ml
--- a/ocaml/idl/ocaml_backend/gen_server.ml     Wed Feb 17 17:47:30 2010 +0000
+++ b/ocaml/idl/ocaml_backend/gen_server.ml     Fri Feb 19 13:42:46 2010 +0000
@@ -159,10 +159,12 @@
     then [
                        "let arg_names = "^(List.fold_right (fun arg args -> 
"\""^arg^"\"::"^args) string_args (if is_non_constructor_with_defaults then 
"\"default_args\"::[]" else "[]"))^" in";
                        "let key_names = "^(List.fold_right (fun arg args -> 
"\""^arg^"\"::"^args) (List.map (fun (k,_)->k) x.msg_map_keys_roles) "[]")^" 
in";
-                       "Rbac.check session_id __call 
~args:(arg_names,__params) ~keys:key_names ~__context ~fn:(fun ()-> 
(*RBAC-BEGIN*)"]
-    else []
+                       "let rbac __context fn = Rbac.check session_id __call 
~args:(arg_names,__params) ~keys:key_names ~__context ~fn in"]
+    else [
+    "let rbac __context fn = fn() in"
+    ]
   in
-  let rbac_check_end = if has_session_arg then [") (*RBAC-END*)"] else [] in
+  let rbac_check_end = if has_session_arg then [] else [] in
   let unmarshall_code =
     (
       (* If we're a constructor then unmarshall all the fields from the 
constructor record, passed as a struct *)
@@ -211,13 +213,13 @@
                let common_let_decs =
                        [
                                "let marshaller = "^result_marshaller^" in";
-                               "let local_op = fun ~__context 
->("^module_prefix^"."^impl_fn^") in";
+                               "let local_op = fun ~__context ->(rbac 
__context (fun()->("^module_prefix^"."^impl_fn^"))) in";
                                "let supports_async = "^(if has_async then 
"true" else "false")^" in";
                                "let generate_task_for = "^(string_of_bool (not 
(List.mem obj.name DM.no_task_id_for)))^" in" ] in
                let side_effect_let_decs =
                        if Gen_empty_custom.operation_requires_side_effect x 
then
                                [
-                                       Printf.sprintf "let forward_op = fun 
~local_fn ~__context -> (%s.%s) in" _forward impl_fn
+                                       Printf.sprintf "let forward_op = fun 
~local_fn ~__context -> (rbac __context (fun()-> (%s.%s) )) in" _forward impl_fn
                                ]
                        else 
                                [
1 file changed, 7 insertions(+), 5 deletions(-)
ocaml/idl/ocaml_backend/gen_server.ml |   12 +++++++-----


Attachment: xen-api.hg.patch
Description: Text Data

_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-API] [PATCH] CA-37980: report error in audit-log for asynchronous tasks, Marcus Granado <=