let check_permission pid password for_what =
match password, Helm_registry.get_bool (permission_key for_what pid) with
let check_permission pid password for_what =
match password, Helm_registry.get_bool (permission_key for_what pid) with
| Some pwd, false when Some pwd = Helm_registry.get_opt Helm_registry.get (password_key pid) -> ()
| _ -> raise (Access_denied (string_of_permission for_what, pid))
| Some pwd, false when Some pwd = Helm_registry.get_opt Helm_registry.get (password_key pid) -> ()
| _ -> raise (Access_denied (string_of_permission for_what, pid))
Helm_registry.set_bool (read_permission_key pid) read_perm ;
Helm_registry.set_bool (write_permission_key pid) write_perm ;
Helm_registry.set_bool (admin_permission_key pid) admin_perm ;
Helm_registry.set_bool (read_permission_key pid) read_perm ;
Helm_registry.set_bool (write_permission_key pid) write_perm ;
Helm_registry.set_bool (admin_permission_key pid) admin_perm ;