mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-17 19:21:04 +00:00
resolvconf: use correct output files when used with dnsmasq
This commit is contained in:
parent
538f39e5cf
commit
403604ca66
|
@ -114,6 +114,15 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
subscriberFiles = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.path;
|
||||
default = [];
|
||||
description = ''
|
||||
Files written by resolvconf updates
|
||||
'';
|
||||
internal = true;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -134,6 +143,8 @@ in
|
|||
(lib.mkIf cfg.enable {
|
||||
users.groups.resolvconf = {};
|
||||
|
||||
networking.resolvconf.subscriberFiles = [ "/etc/resolv.conf" ];
|
||||
|
||||
networking.resolvconf.package = pkgs.openresolv;
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
@ -150,8 +161,9 @@ in
|
|||
|
||||
script = ''
|
||||
${lib.getExe cfg.package} -u
|
||||
chgrp -R resolvconf /etc/resolv.conf /run/resolvconf
|
||||
chmod -R g=u /etc/resolv.conf /run/resolvconf
|
||||
files=(/run/resolvconf ${lib.escapeShellArgs cfg.subscriberFiles})
|
||||
chgrp -R resolvconf "''${files[@]}"
|
||||
chmod -R g=u "''${files[@]}"
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -250,7 +250,7 @@ in
|
|||
Restart = "always";
|
||||
AmbientCapabilities = [ "CAP_NET_ADMIN" "CAP_NET_RAW" "CAP_NET_BIND_SERVICE" ];
|
||||
ReadWritePaths = [ "/proc/sys/net/ipv6" ]
|
||||
++ lib.optionals useResolvConf [ "/etc/resolv.conf" "/run/resolvconf" ];
|
||||
++ lib.optionals useResolvConf ([ "/run/resolvconf" ] ++ config.networking.resolvconf.subscriberFiles);
|
||||
DeviceAllow = "";
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
|
|
|
@ -133,6 +133,11 @@ in
|
|||
dnsmasq_conf=/etc/dnsmasq-conf.conf
|
||||
dnsmasq_resolv=/etc/dnsmasq-resolv.conf
|
||||
'';
|
||||
|
||||
subscriberFiles = [
|
||||
"/etc/dnsmasq-conf.conf"
|
||||
"/etc/dnsmasq-resolv.conf"
|
||||
];
|
||||
};
|
||||
|
||||
systemd.services.dnsmasq = {
|
||||
|
|
Loading…
Reference in a new issue