HCoop
/
hcoop
/
zz_old
/
domtool2-proto.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6645f04
)
IP address ACLs
author
adamch
<adamch>
Sun, 18 Nov 2007 17:41:06 +0000
(17:41 +0000)
committer
adamch
<adamch>
Sun, 18 Nov 2007 17:41:06 +0000
(17:41 +0000)
src/domain.sml
patch
|
blob
|
blame
|
history
diff --git
a/src/domain.sml
b/src/domain.sml
index
5a43f3c
..
6d7f2ac
100644
(file)
--- a/
src/domain.sml
+++ b/
src/domain.sml
@@
-48,6
+48,9
@@
fun your_groups () = !your_grps
val your_pths = ref SS.empty
fun your_paths () = !your_pths
val your_pths = ref SS.empty
fun your_paths () = !your_pths
+val your_ipss = ref SS.empty
+fun your_ips () = !your_ipss
+
val world_readable = SS.addList (SS.empty, Config.worldReadable)
val readable_pths = ref world_readable
fun readable_paths () = !readable_pths
val world_readable = SS.addList (SS.empty, Config.worldReadable)
val readable_pths = ref world_readable
fun readable_paths () = !readable_pths
@@
-66,7
+69,9
@@
fun setUser user =
your_grps := Acl.class {user = getUser (),
class = "group"};
your_pths := your_paths;
your_grps := Acl.class {user = getUser (),
class = "group"};
your_pths := your_paths;
- readable_pths := SS.union (your_paths, world_readable)
+ readable_pths := SS.union (your_paths, world_readable);
+ your_ipss := Acl.class {user = getUser (),
+ class = "ip"}
end
fun validIp s =
end
fun validIp s =
@@
-97,6
+102,7
@@
fun checkPath paths path =
andalso SS.exists (fn s' => path = s' orelse String.isPrefix (s' ^ "/") path) (paths ())
val yourPath = checkPath your_paths
val readablePath = checkPath readable_paths
andalso SS.exists (fn s' => path = s' orelse String.isPrefix (s' ^ "/") path) (paths ())
val yourPath = checkPath your_paths
val readablePath = checkPath readable_paths
+fun yourIp s = SS.member (your_ips (), s)
fun yourDomainHost s =
yourDomain s
fun yourDomainHost s =
yourDomain s
@@
-177,6
+183,10
@@
val _ = Env.type_one "readable_path"
Env.string
readablePath
Env.string
readablePath
+val _ = Env.type_one "your_ip"
+ Env.string
+ yourIp
+
val _ = Env.type_one "node"
Env.string
validNode
val _ = Env.type_one "node"
Env.string
validNode