From 19851ec1fce3fabec3c6f951c3fb7d5814d24691 Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Wed, 26 Jun 2019 20:45:55 +0200 Subject: [PATCH 1/2] nixos/zoneminder: Fix nginx config check NixOS wouldn't build because the nginx config checker fails. Location without a trailing slash "could allow an attacker to read file stored outside the target folder.", source: https://github.com/yandex/gixy/blob/master/docs/en/plugins/aliastraversal.md Shouldn't change the behaviour according to https://serverfault.com/questions/607615/using-trailing-slashes-in-nginx-configuration/607731#607731 --- nixos/modules/services/misc/zoneminder.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/zoneminder.nix b/nixos/modules/services/misc/zoneminder.nix index 9c555e8031c4..cd65e461f471 100644 --- a/nixos/modules/services/misc/zoneminder.nix +++ b/nixos/modules/services/misc/zoneminder.nix @@ -256,7 +256,7 @@ in { fastcgi_pass ${fcgi.socketType}:${fcgi.socketAddress}; } - location /cache { + location /cache/ { alias /var/cache/${dirName}; } From 543b131907aa8f635cb579661d621126aa62c8de Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Wed, 26 Jun 2019 22:03:40 +0200 Subject: [PATCH 2/2] zoneminder: Fix linking issue --- pkgs/servers/zoneminder/default.nix | 2 ++ pkgs/servers/zoneminder/link-with-libdl.patch | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 pkgs/servers/zoneminder/link-with-libdl.patch diff --git a/pkgs/servers/zoneminder/default.nix b/pkgs/servers/zoneminder/default.nix index 9c1e3ffe0b71..5a052df9e0a5 100644 --- a/pkgs/servers/zoneminder/default.nix +++ b/pkgs/servers/zoneminder/default.nix @@ -89,6 +89,8 @@ in stdenv.mkDerivation rec { patches = [ ./default-to-http-1dot1.patch + # Explicitly link with dynamic linking library to fix build + ./link-with-libdl.patch ]; postPatch = '' diff --git a/pkgs/servers/zoneminder/link-with-libdl.patch b/pkgs/servers/zoneminder/link-with-libdl.patch new file mode 100644 index 000000000000..53aaf9b25f7d --- /dev/null +++ b/pkgs/servers/zoneminder/link-with-libdl.patch @@ -0,0 +1,17 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -20,10 +20,10 @@ add_executable(zms zms.cpp) + include_directories(libbcrypt/include/bcrypt) + include_directories(jwt-cpp/include/jwt-cpp) + +-target_link_libraries(zmc zm ${ZM_EXTRA_LIBS} ${ZM_BIN_LIBS}) +-target_link_libraries(zma zm ${ZM_EXTRA_LIBS} ${ZM_BIN_LIBS}) +-target_link_libraries(zmu zm ${ZM_EXTRA_LIBS} ${ZM_BIN_LIBS}) +-target_link_libraries(zms zm ${ZM_EXTRA_LIBS} ${ZM_BIN_LIBS}) ++target_link_libraries(zmc zm ${ZM_EXTRA_LIBS} ${ZM_BIN_LIBS} ${CMAKE_DL_LIBS}) ++target_link_libraries(zma zm ${ZM_EXTRA_LIBS} ${ZM_BIN_LIBS} ${CMAKE_DL_LIBS}) ++target_link_libraries(zmu zm ${ZM_EXTRA_LIBS} ${ZM_BIN_LIBS} ${CMAKE_DL_LIBS}) ++target_link_libraries(zms zm ${ZM_EXTRA_LIBS} ${ZM_BIN_LIBS} ${CMAKE_DL_LIBS}) + + # Generate man files for the binaries destined for the bin folder + FOREACH(CBINARY zma zmc zmu)