networkd-dispatcher: Add patch support store files

This commit is contained in:
Jonas Heinrich 2023-03-03 19:31:18 +01:00
parent 26e14e57af
commit 22fd05adee
2 changed files with 19 additions and 0 deletions

View File

@ -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 \

View File

@ -0,0 +1,13 @@
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: