networkmanager service: fix simultaneous append and insert of nameservers
Before only one of them could work at the same time.
This commit is contained in:
parent
68de116eb4
commit
33b7e5f6c7
@ -64,19 +64,19 @@ let
|
|||||||
});
|
});
|
||||||
'';
|
'';
|
||||||
|
|
||||||
ns = xs: writeText "nameservers" (
|
ns = xs: pkgs.writeText "nameservers" (
|
||||||
concatStrings (map (s: "nameserver ${s}\n") xs)
|
concatStrings (map (s: "nameserver ${s}\n") xs)
|
||||||
);
|
);
|
||||||
|
|
||||||
overrideNameserversScript = writeScript "02overridedns" ''
|
overrideNameserversScript = pkgs.writeScript "02overridedns" ''
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
tmp=`${coreutils}/bin/mktemp`
|
PATH=${with pkgs; makeBinPath [ gnused gnugrep coreutils ]}
|
||||||
${gnused}/bin/sed '/nameserver /d' /etc/resolv.conf > $tmp
|
tmp=`mktemp`
|
||||||
${gnugrep}/bin/grep 'nameserver ' /etc/resolv.conf | \
|
sed '/nameserver /d' /etc/resolv.conf > $tmp
|
||||||
${gnugrep}/bin/grep -vf ${ns (cfg.appendNameservers ++ cfg.insertNameservers)} > $tmp.ns
|
grep 'nameserver ' /etc/resolv.conf | \
|
||||||
${optionalString (cfg.appendNameservers != []) "${coreutils}/bin/cat $tmp $tmp.ns ${ns cfg.appendNameservers} > /etc/resolv.conf"}
|
grep -vf ${ns (cfg.appendNameservers ++ cfg.insertNameservers)} > $tmp.ns
|
||||||
${optionalString (cfg.insertNameservers != []) "${coreutils}/bin/cat $tmp ${ns cfg.insertNameservers} $tmp.ns > /etc/resolv.conf"}
|
cat $tmp ${ns cfg.insertNameservers} $tmp.ns ${ns cfg.appendNameservers} > /etc/resolv.conf
|
||||||
${coreutils}/bin/rm -f $tmp $tmp.ns
|
rm -f $tmp $tmp.ns
|
||||||
'';
|
'';
|
||||||
|
|
||||||
dispatcherTypesSubdirMap = {
|
dispatcherTypesSubdirMap = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user