Unverified Commit cd286b21 authored by David McFarland's avatar David McFarland Committed by GitHub
Browse files

resolvconf: use correct output files when used with dnsmasq (#349320)

parents 8e8d4726 403604ca
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -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[@]}"
        '';
      };

+1 −1
Original line number Diff line number Diff line
@@ -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;
+5 −0
Original line number Diff line number Diff line
@@ -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 = {