X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/73b9542320e82ad398689b66bc1938c78cc53be0..2fc0447302029424d758fdc48e38e4492187f61f:/src/plugins/firewall.sig diff --git a/src/plugins/firewall.sig b/src/plugins/firewall.sig index 0bb8611..8a9b6ca 100644 --- a/src/plugins/firewall.sig +++ b/src/plugins/firewall.sig @@ -1,6 +1,6 @@ (* HCoop Domtool (http://hcoop.sourceforge.net/) * Copyright (c) 2006-2007, Adam Chlipala - * Copyright (c) 2011, Clinton Ebadi + * Copyright (c) 2011,2013,2014 Clinton Ebadi * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -21,10 +21,18 @@ signature FIREWALL = sig - type firewall_rules = { server_rules : (string list DataStructures.StringMap.map), - client_rules : (string list DataStructures.StringMap.map)} + datatype user = User of string - val query : string -> string list + 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