Update of /cvsroot/hcoop/domtool2/src
In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv1177/src

Modified Files:
        acl.sig acl.sml main.sml 
Log Message:
Allow rmdom on subdomains of those on the user's ACL

Index: acl.sig
===================================================================
RCS file: /cvsroot/hcoop/domtool2/src/acl.sig,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** acl.sig     16 Dec 2006 18:53:44 -0000      1.5
--- acl.sig     12 May 2008 20:26:51 -0000      1.6
***************
*** 53,55 ****
--- 53,57 ----
      (* Read/write saved ACL state from/to a file *)
  
+     val queryDomain : {user : string, domain : string} -> bool
+     (* Like a call to [query] for class 'domain', but considers subdomains, 
too *)
  end

Index: main.sml
===================================================================
RCS file: /cvsroot/hcoop/domtool2/src/main.sml,v
retrieving revision 1.103
retrieving revision 1.104
diff -C2 -d -r1.103 -r1.104
*** main.sml    9 Apr 2008 14:23:57 -0000       1.103
--- main.sml    12 May 2008 20:26:51 -0000      1.104
***************
*** 1284,1288 ****
                                 doIt (fn () =>
                                          if Acl.query {user = user, class = 
"priv", value = "all"}
!                                            orelse List.all (fn dom => 
Acl.query {user = user, class = "domain", value = dom}) doms then
                                              (Domain.rmdom doms;
                                               (*app (fn dom =>
--- 1284,1289 ----
                                 doIt (fn () =>
                                          if Acl.query {user = user, class = 
"priv", value = "all"}
!                                            orelse List.all (fn dom => 
Domain.validDomain dom
!                                                                       andalso 
Acl.queryDomain {user = user, domain = dom}) doms then
                                              (Domain.rmdom doms;
                                               (*app (fn dom =>

Index: acl.sml
===================================================================
RCS file: /cvsroot/hcoop/domtool2/src/acl.sml,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** acl.sml     14 May 2007 00:02:49 -0000      1.7
--- acl.sml     12 May 2008 20:26:51 -0000      1.8
***************
*** 168,170 ****
--- 168,182 ----
      end
  
+ fun queryDomain {user, domain} =
+     let
+       fun trySuffix parts =
+           case parts of
+               [] => false
+             | first :: rest =>
+               query {user = user, class = "domain", value = String.concatWith 
"." parts}
+               orelse trySuffix rest
+     in
+       trySuffix (String.fields (fn ch => ch = #".") domain)
+     end
+ 
  end


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
hcoop-cvs mailing list
hcoop-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hcoop-cvs

Reply via email to