summary refs log tree commit diff
path: root/pkgs/servers/zoneminder/0001-Don-t-use-file-timestamp-in-cache-filename.patch
blob: 6ca55a147688463d8493f73bb387ccfbcd4930be (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
From db38a11228eceea10dc97ecc87023b4919caa918 Mon Sep 17 00:00:00 2001
From: Daniel Fullmer <danielrf12@gmail.com>
Date: Fri, 21 Feb 2020 21:52:00 -0500
Subject: [PATCH] Don't use file timestamp in cache filename

Every file in the nix store has a timestamp of "1", meaning that the
filename would remain constant even when changing zoneminder versions.
This would mean that newer versions would use the existing symlink to an
older version of the source file.  We replace SRC_HASH in nix with a
hash of the source used to build zoneminder to ensure this filename is
unique.
---
 web/includes/functions.php | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/web/includes/functions.php b/web/includes/functions.php
index 19567a5c1..0242c09bc 100644
--- a/web/includes/functions.php
+++ b/web/includes/functions.php
@@ -2223,7 +2223,8 @@ function cache_bust($file) {
   $parts = pathinfo($file);
   global $css;
   $dirname = preg_replace('/\//', '_', $parts['dirname']);
-  $cacheFile = $dirname.'_'.$parts['filename'].'-'.$css.'-'.filemtime($file).'.'.$parts['extension'];
+  $srcHash = '@srcHash@';
+  $cacheFile = $dirname.'_'.$parts['filename'].'-'.$css.'-'.$srcHash.'.'.$parts['extension'];
   if ( file_exists(ZM_DIR_CACHE.'/'.$cacheFile) or symlink(ZM_PATH_WEB.'/'.$file, ZM_DIR_CACHE.'/'.$cacheFile) ) {
     return 'cache/'.$cacheFile;
   } else {
-- 
2.25.1