Loading pkgs/tools/networking/networkd-dispatcher/default.nix +6 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,12 @@ stdenv.mkDerivation rec { hash = "sha256-yO9/HlUkaQmW/n9N3vboHw//YMzBjxIHA2zAxgZNEv0="; }; patches = [ # Support rule files in NixOS store paths. Required for the networkd-dispatcher # module to work ./support_nix_store_path.patch ]; postPatch = '' # Fix paths in systemd unit file substituteInPlace networkd-dispatcher.service \ Loading pkgs/tools/networking/networkd-dispatcher/support_nix_store_path.patch 0 → 100644 +13 −0 Original line number Diff line number Diff line diff --git a/networkd-dispatcher b/networkd-dispatcher index ef877ce..8c341f2 100755 --- a/networkd-dispatcher +++ b/networkd-dispatcher @@ -171,6 +171,8 @@ def check_perms(path, mode=0o755, uid=0, gid=0): if not os.path.exists(path): raise FileNotFoundError + if re.search('^/nix/store/.*', str(path)): + return True st = os.stat(path, follow_symlinks=False) st_mode = st.st_mode & 0x00FFF if st.st_uid == uid and st.st_gid == gid and st_mode == mode: Loading
pkgs/tools/networking/networkd-dispatcher/default.nix +6 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,12 @@ stdenv.mkDerivation rec { hash = "sha256-yO9/HlUkaQmW/n9N3vboHw//YMzBjxIHA2zAxgZNEv0="; }; patches = [ # Support rule files in NixOS store paths. Required for the networkd-dispatcher # module to work ./support_nix_store_path.patch ]; postPatch = '' # Fix paths in systemd unit file substituteInPlace networkd-dispatcher.service \ Loading
pkgs/tools/networking/networkd-dispatcher/support_nix_store_path.patch 0 → 100644 +13 −0 Original line number Diff line number Diff line diff --git a/networkd-dispatcher b/networkd-dispatcher index ef877ce..8c341f2 100755 --- a/networkd-dispatcher +++ b/networkd-dispatcher @@ -171,6 +171,8 @@ def check_perms(path, mode=0o755, uid=0, gid=0): if not os.path.exists(path): raise FileNotFoundError + if re.search('^/nix/store/.*', str(path)): + return True st = os.stat(path, follow_symlinks=False) st_mode = st.st_mode & 0x00FFF if st.st_uid == uid and st.st_gid == gid and st_mode == mode: