|
|
@ -20,7 +20,7 @@ module Zone = struct
|
|
|
|
&> (str |> name)
|
|
|
|
&> (str |> name)
|
|
|
|
| `Assoc [ ("not", json) ] -> Not (of_json json)
|
|
|
|
| `Assoc [ ("not", json) ] -> Not (of_json json)
|
|
|
|
| `List list -> List (List.map of_json list)
|
|
|
|
| `List list -> List (List.map of_json list)
|
|
|
|
| _ -> assert false
|
|
|
|
| _ -> failwith "invalid zone definition"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
module Addrs = struct
|
|
|
|
module Addrs = struct
|
|
|
@ -73,7 +73,7 @@ module PayloadRule = struct
|
|
|
|
| "tcp" -> Tcp (Tcp.of_json json)
|
|
|
|
| "tcp" -> Tcp (Tcp.of_json json)
|
|
|
|
| "udp" -> Udp (Udp.of_json json)
|
|
|
|
| "udp" -> Udp (Udp.of_json json)
|
|
|
|
| "icmp" -> Icmp
|
|
|
|
| "icmp" -> Icmp
|
|
|
|
| _ -> assert false
|
|
|
|
| proto -> failwith ("invalid protocol " ^ proto)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
let to_addr_list json = json |> to_list_loose |> List.map Addrs.of_json
|
|
|
|
let to_addr_list json = json |> to_list_loose |> List.map Addrs.of_json
|
|
|
|