Minor cleanup

This commit is contained in:
2026-01-18 22:32:53 +01:00
parent 019faca42d
commit 19586cc39b
+3 -10
View File
@@ -5,14 +5,6 @@ let
pvvv6Prefix = builtins.substring 0 14 (normalizev6 "2001:700:300:1900::");
domainSuffix = ".pvv.ntnu.no.";
# Pad a number or string with zeroes to length 4 (32 -> "0032")
padTo4 =
n:
let
padded = "0000${toString n}";
in
builtins.substring (builtins.stringLength padded - 4) 4 padded;
# Takes an IPv6 address on the format nnnnXXXXnnnn (literal XXXX) and replaces XXXX with enough zeroes to make a full 128 bit address
padDoubleColon =
addr:
@@ -20,8 +12,9 @@ let
parts = lib.splitString "XXXX" addr;
nibbleCount = builtins.foldl' builtins.add 0 (map builtins.stringLength parts);
zeros = lib.concatStrings (builtins.genList (i: "0") (32 - nibbleCount));
padding = lib.fixedWidthString (32 - nibbleCount) "0" "";
in
lib.replaceString "XXXX" zeros addr;
lib.replaceString "XXXX" padding addr;
# Translate an IPv6 address (e.g. 2001:700:300:1900::1) into the fully expanded 20010700030019000000000000000001
normalizev6 =
@@ -29,7 +22,7 @@ let
(lib.pipe addr [
(lib.replaceString "::" ":XXXX:")
(lib.splitString ":")
(map padTo4)
(map (lib.fixedWidthString 4 "0"))
(map (lib.splitString ""))
(lib.flatten)
(lib.concatStrings)