(* HCoop Domtool (http://hcoop.sourceforge.net/)
* Copyright (c) 2006-2007, Adam Chlipala
+ * Copyright (c) 2011,2013 Clinton Ebadi <clinton@unknownlamer.org>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*)
-(* Firewall rule querying *)
+(* Firewall rule querying/generation *)
signature FIREWALL = sig
- val query : string -> string list
+ datatype user = User of string
+
+ datatype fwnode = FirewallNode of string
+
+ datatype fwrule = Client of int list * string list
+ | Server of int list * string list
+ | ProxiedServer of int list
+ | LocalServer of int list
+
+ type firewall_rules = (user * fwnode * fwrule) list
+
+ val query : string * string -> string list
(* List a user's local firewall rules. *)
+ val parseRules : unit -> firewall_rules
+ val generateFirewallConfig : firewall_rules -> bool
+
+ val publishConfig : unit -> bool
+
end