about summary refs log tree commit diff
path: root/pkgs/tools/system/netdata
diff options
context:
space:
mode:
authorLuca Bruno <lethalman88@gmail.com>2016-04-17 11:15:59 +0200
committerLuca Bruno <lethalman88@gmail.com>2016-04-17 11:16:33 +0200
commit07221cf39f7051ff0cdab7b1be4bbf6aa5ab46d8 (patch)
tree3d382cf232e7d3f338751684413dda5aa4828f33 /pkgs/tools/system/netdata
parentf57c6449dc1590a5277f6612384266bd8b2ef658 (diff)
downloadnixlib-07221cf39f7051ff0cdab7b1be4bbf6aa5ab46d8.tar
nixlib-07221cf39f7051ff0cdab7b1be4bbf6aa5ab46d8.tar.gz
nixlib-07221cf39f7051ff0cdab7b1be4bbf6aa5ab46d8.tar.bz2
nixlib-07221cf39f7051ff0cdab7b1be4bbf6aa5ab46d8.tar.lz
nixlib-07221cf39f7051ff0cdab7b1be4bbf6aa5ab46d8.tar.xz
nixlib-07221cf39f7051ff0cdab7b1be4bbf6aa5ab46d8.tar.zst
nixlib-07221cf39f7051ff0cdab7b1be4bbf6aa5ab46d8.zip
netdata: patch nonsense when serving static files
Diffstat (limited to 'pkgs/tools/system/netdata')
-rw-r--r--pkgs/tools/system/netdata/default.nix2
-rw-r--r--pkgs/tools/system/netdata/web_access.patch20
2 files changed, 22 insertions, 0 deletions
diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix
index 2993e14c43c7..28ec7f1be427 100644
--- a/pkgs/tools/system/netdata/default.nix
+++ b/pkgs/tools/system/netdata/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec{
 
   buildInputs = [ autoreconfHook zlib pkgconfig ];
 
+  patches = [ ./web_access.patch ];
+
   meta = with stdenv.lib; {
     description = "Real-time performance monitoring tool";
     homepage = http://netdata.firehol.org;
diff --git a/pkgs/tools/system/netdata/web_access.patch b/pkgs/tools/system/netdata/web_access.patch
new file mode 100644
index 000000000000..e4177af51dba
--- /dev/null
+++ b/pkgs/tools/system/netdata/web_access.patch
@@ -0,0 +1,20 @@
+--- a/src/web_client.c.orig     2016-04-15 19:00:49.912539101 +0200
++++ b/src/web_client.c  2016-04-15 19:01:19.379960970 +0200
+@@ -293,6 +293,7 @@
+        }
+ 
+        // check if the file is owned by us
++#if 0
+        if(stat.st_uid != web_files_uid()) {
+                error("%llu: File '%s' is owned by user %d (I run as user %d). Access Denied.", w->id, webfilename, stat.st_uid, getuid());
+                buffer_sprintf(w->response.data, "Access to file '%s' is not permitted.", filename);
+@@ -303,7 +304,7 @@
+                snprintf(webfilename, FILENAME_MAX+1, "%s/index.html", filename);
+                return mysendfile(w, webfilename);
+        }
+-
++#endif
+        if((stat.st_mode & S_IFMT) != S_IFREG) {
+                error("%llu: File '%s' is not a regular file. Access Denied.", w->id, webfilename);
+                buffer_sprintf(w->response.data, "Access to file '%s' is not permitted.", filename);
+