diff options
author | Vladimír Čunát <v@cunat.cz> | 2019-12-27 15:55:38 +0100 |
---|---|---|
committer | Vladimír Čunát <v@cunat.cz> | 2019-12-27 15:55:38 +0100 |
commit | c3d4998e416fd2704066d87461151bd2235471a8 (patch) | |
tree | e78231523c57083fcfde506fc9defc0485446ca0 /nixos | |
parent | bc555a24afbe0be95a90aee6cfccf626f4d6ac08 (diff) | |
parent | f886a14dbdba8b134c2d6f067faffbcaeebd645b (diff) | |
download | nixpkgs-c3d4998e416fd2704066d87461151bd2235471a8.tar nixpkgs-c3d4998e416fd2704066d87461151bd2235471a8.tar.gz nixpkgs-c3d4998e416fd2704066d87461151bd2235471a8.tar.bz2 nixpkgs-c3d4998e416fd2704066d87461151bd2235471a8.tar.lz nixpkgs-c3d4998e416fd2704066d87461151bd2235471a8.tar.xz nixpkgs-c3d4998e416fd2704066d87461151bd2235471a8.tar.zst nixpkgs-c3d4998e416fd2704066d87461151bd2235471a8.zip |
Merge #75803: kresd service: unify listen declarations
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/doc/manual/release-notes/rl-2003.xml | 8 | ||||
-rw-r--r-- | nixos/modules/services/networking/kresd.nix | 25 |
2 files changed, 25 insertions, 8 deletions
diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml index 1c1c8908064..13f4c62c018 100644 --- a/nixos/doc/manual/release-notes/rl-2003.xml +++ b/nixos/doc/manual/release-notes/rl-2003.xml @@ -266,6 +266,14 @@ services.xserver.displayManager.defaultSession = "xfce+icewm"; </listitem> <listitem> <para> + The <literal>kresd</literal> services deprecates the <literal>interfaces</literal> option + in favor of the <literal>listenPlain</literal> option which requires full + <link xlink:href="https://www.freedesktop.org/software/systemd/man/systemd.socket.html#ListenStream=">systemd.socket compatible</link> + declaration which always include a port. + </para> + </listitem> + <listitem> + <para> Virtual console options have been reorganized and can be found under a single top-level attribute: <literal>console</literal>. The full set of changes is as follows: diff --git a/nixos/modules/services/networking/kresd.nix b/nixos/modules/services/networking/kresd.nix index fc516c01230..574074944d5 100644 --- a/nixos/modules/services/networking/kresd.nix +++ b/nixos/modules/services/networking/kresd.nix @@ -13,6 +13,17 @@ in { meta.maintainers = [ maintainers.vcunat /* upstream developer */ ]; + imports = [ + (mkChangedOptionModule [ "services" "kresd" "interfaces" ] [ "services" "kresd" "listenPlain" ] + (config: + let value = getAttrFromPath [ "services" "kresd" "interfaces" ] config; + in map + (iface: if elem ":" (stringToCharacters iface) then "[${iface}]:53" else "${iface}:53") # Syntax depends on being IPv6 or IPv4. + value + ) + ) + ]; + ###### interface options.services.kresd = { enable = mkOption { @@ -39,11 +50,12 @@ in Directory for caches. They are intended to survive reboots. ''; }; - interfaces = mkOption { + listenPlain = mkOption { type = with types; listOf str; - default = [ "::1" "127.0.0.1" ]; + default = [ "[::1]:53" "127.0.0.1:53" ]; description = '' - What addresses the server should listen on. (UDP+TCP 53) + What addresses and ports the server should listen on. + For detailed syntax see ListenStream in man systemd.socket. ''; }; listenTLS = mkOption { @@ -51,7 +63,7 @@ in default = []; example = [ "198.51.100.1:853" "[2001:db8::1]:853" "853" ]; description = '' - Addresses on which kresd should provide DNS over TLS (see RFC 7858). + Addresses and ports on which kresd should provide DNS over TLS (see RFC 7858). For detailed syntax see ListenStream in man systemd.socket. ''; }; @@ -76,10 +88,7 @@ in systemd.sockets.kresd = rec { wantedBy = [ "sockets.target" ]; before = wantedBy; - listenStreams = map - # Syntax depends on being IPv6 or IPv4. - (iface: if elem ":" (stringToCharacters iface) then "[${iface}]:53" else "${iface}:53") - cfg.interfaces; + listenStreams = cfg.listenPlain; socketConfig = { ListenDatagram = listenStreams; FreeBind = true; |