structure Firewall :> FIREWALL = struct
+type firewall_rules = { server_rules : (string list DataStructures.StringMap.map),
+ client_rules : (string list DataStructures.StringMap.map)}
+
structure StringMap = DataStructures.StringMap
fun parseRules _ =
end
-fun generateFirewallConfig _ =
+fun generateFirewallConfig {server_rules, client_rules} =
(* rule generation must happen on the node (not really, but I'd rather
avoid codifying that uids must be consistent between hosts) *)
let
- val {server_rules, client_rules} = parseRules ()
val users_tcp_out_conf = TextIO.openOut (Config.Firewall.firewallDir ^ "/users_tcp_out.conf")
val users_tcp_in_conf = TextIO.openOut (Config.Firewall.firewallDir ^ "/users_tcp_in.conf")
val users_conf = TextIO.openOut (Config.Firewall.firewallDir ^ "/users.conf")
TextIO.closeOut users_conf;
TextIO.closeOut users_tcp_out_conf;
- TextIO.closeOut users_tcp_in_conf
+ TextIO.closeOut users_tcp_in_conf;
+
+ true
end
-
+
+fun publishConfig _ =
+ Slave.shell [Config.Firewall.reload]
end