summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2016-04-07 20:38:54 +0200
committermakefu <github@syntax-fehler.de>2016-04-07 20:38:54 +0200
commit5ba9bc516a261bfd993580a10dd8ba4c8766aebf (patch)
tree336fc62199af9b1c38acf2de0a2bafbe8ed72efc
parentbf2ea356ca18a915f32709cea36fec6876833dde (diff)
parente1a287c78bab2847fee7c4f1a18a765d89ca373f (diff)
Merge remote-tracking branch 'cd/master'
-rw-r--r--krebs/4lib/types.nix14
1 files changed, 10 insertions, 4 deletions
diff --git a/krebs/4lib/types.nix b/krebs/4lib/types.nix
index 32d1daf9d..7255dc3e1 100644
--- a/krebs/4lib/types.nix
+++ b/krebs/4lib/types.nix
@@ -186,10 +186,16 @@ types // rec {
};
});
- # TODO
- addr = str;
- addr4 = str;
- addr6 = str;
+ addr = either addr4 addr6;
+ addr4 = mkOptionType {
+ name = "IPv4 address";
+ check = let
+ IPv4address = let d = "([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"; in
+ concatMapStringsSep "." (const d) (range 1 4);
+ in x: match IPv4address != null;
+ merge = mergeOneOption;
+ };
+ addr6 = str; # TODO
pgp-pubkey = str;