You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by pt...@apache.org on 2014/04/29 19:08:24 UTC

[1/5] git commit: STORM-269: prevent logviewer from serving files outside the log directory

Repository: incubator-storm
Updated Branches:
  refs/heads/master dc4de425e -> f6b843d99


STORM-269: prevent logviewer from serving files outside the log directory


Project: http://git-wip-us.apache.org/repos/asf/incubator-storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-storm/commit/39acc27b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-storm/tree/39acc27b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-storm/diff/39acc27b

Branch: refs/heads/master
Commit: 39acc27bfb6062aba2d3c748a26b318c30b89cb4
Parents: aeb1bce
Author: P. Taylor Goetz <pt...@gmail.com>
Authored: Fri Apr 25 16:25:47 2014 -0400
Committer: P. Taylor Goetz <pt...@gmail.com>
Committed: Fri Apr 25 16:25:47 2014 -0400

----------------------------------------------------------------------
 storm-core/src/clj/backtype/storm/daemon/logviewer.clj | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-storm/blob/39acc27b/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
----------------------------------------------------------------------
diff --git a/storm-core/src/clj/backtype/storm/daemon/logviewer.clj b/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
index 71f497f..cb31de4 100644
--- a/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
+++ b/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
@@ -30,9 +30,10 @@
             [clojure.string :as string])
   (:gen-class))
 
-(defn tail-file [path tail]
+(defn tail-file [path tail root-dir]
   (let [flen (.length (clojure.java.io/file path))
         skip (- flen tail)]
+    (if (.startsWith path root-dir)
     (with-open [input (clojure.java.io/input-stream path)
                 output (java.io.ByteArrayOutputStream.)]
       (if (> skip 0) (.skip input skip))
@@ -42,7 +43,7 @@
             (when (and (pos? size) (< (.size output) tail))
               (do (.write output buffer 0 size)
                   (recur))))))
-      (.toString output))
+      (.toString output)) "File not found")
     ))
 
 (defn log-root-dir
@@ -61,7 +62,7 @@ Note that if anything goes wrong, this will throw an Error and exit."
         tail (if tail
                (min 10485760 (Integer/parseInt tail))
                10240)
-        tail-string (tail-file path tail)]
+        tail-string (tail-file path tail root-dir)]
     (if grep
        (clojure.string/join "\n<br>"
          (filter #(.contains % grep) (.split tail-string "\n")))


[5/5] git commit: Merge branch 'STORM-269'

Posted by pt...@apache.org.
Merge branch 'STORM-269'


Project: http://git-wip-us.apache.org/repos/asf/incubator-storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-storm/commit/f6b843d9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-storm/tree/f6b843d9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-storm/diff/f6b843d9

Branch: refs/heads/master
Commit: f6b843d99c874a7139c7339b79cfc6a995f143d2
Parents: dc4de42 6904862
Author: P. Taylor Goetz <pt...@gmail.com>
Authored: Tue Apr 29 13:08:00 2014 -0400
Committer: P. Taylor Goetz <pt...@gmail.com>
Committed: Tue Apr 29 13:08:00 2014 -0400

----------------------------------------------------------------------
 .../src/clj/backtype/storm/daemon/logviewer.clj | 29 +++++++++++---------
 1 file changed, 16 insertions(+), 13 deletions(-)
----------------------------------------------------------------------



[4/5] git commit: make sure log file path is fully resolved

Posted by pt...@apache.org.
make sure log file path is fully resolved


Project: http://git-wip-us.apache.org/repos/asf/incubator-storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-storm/commit/6904862f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-storm/tree/6904862f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-storm/diff/6904862f

Branch: refs/heads/master
Commit: 6904862f2da5519f34c209f7579060fc5731b2f1
Parents: 16c9679
Author: P. Taylor Goetz <pt...@gmail.com>
Authored: Mon Apr 28 16:39:46 2014 -0400
Committer: P. Taylor Goetz <pt...@gmail.com>
Committed: Mon Apr 28 16:39:46 2014 -0400

----------------------------------------------------------------------
 .../src/clj/backtype/storm/daemon/logviewer.clj | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-storm/blob/6904862f/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
----------------------------------------------------------------------
diff --git a/storm-core/src/clj/backtype/storm/daemon/logviewer.clj b/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
index ef6f349..2a48f55 100644
--- a/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
+++ b/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
@@ -33,18 +33,18 @@
 (defn tail-file [path tail root-dir]
   (let [flen (.length (clojure.java.io/file path))
         skip (- flen tail)
-        log-dir (File. root-dir)
+        log-dir (.getCanonicalFile (File. root-dir))
         log-file (File. path)]
     (if (= log-dir (.getParentFile log-file))
-    (with-open [input (clojure.java.io/input-stream path)
-                output (java.io.ByteArrayOutputStream.)]
-      (if (> skip 0) (.skip input skip))
-        (let [buffer (make-array Byte/TYPE 1024)]
-          (loop []
-            (let [size (.read input buffer)]
-              (when (and (pos? size) (< (.size output) tail))
-                (do (.write output buffer 0 size)
-                    (recur))))))
+      (with-open [input (clojure.java.io/input-stream path)
+                  output (java.io.ByteArrayOutputStream.)]
+        (if (> skip 0) (.skip input skip))
+          (let [buffer (make-array Byte/TYPE 1024)]
+            (loop []
+              (let [size (.read input buffer)]
+                (when (and (pos? size) (< (.size output) tail))
+                  (do (.write output buffer 0 size)
+                      (recur))))))
         (.toString output)) "File not found")
     ))
 


[2/5] git commit: convert log-root to canonical path in case it is relative

Posted by pt...@apache.org.
convert log-root to canonical path in case it is relative


Project: http://git-wip-us.apache.org/repos/asf/incubator-storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-storm/commit/6fd68a5f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-storm/tree/6fd68a5f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-storm/diff/6fd68a5f

Branch: refs/heads/master
Commit: 6fd68a5fa092a24397bf4492533772d89e1df02e
Parents: 39acc27
Author: P. Taylor Goetz <pt...@gmail.com>
Authored: Sun Apr 27 17:26:51 2014 -0400
Committer: P. Taylor Goetz <pt...@gmail.com>
Committed: Sun Apr 27 17:26:51 2014 -0400

----------------------------------------------------------------------
 .../src/clj/backtype/storm/daemon/logviewer.clj     | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-storm/blob/6fd68a5f/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
----------------------------------------------------------------------
diff --git a/storm-core/src/clj/backtype/storm/daemon/logviewer.clj b/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
index cb31de4..7d8b7aa 100644
--- a/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
+++ b/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
@@ -33,17 +33,17 @@
 (defn tail-file [path tail root-dir]
   (let [flen (.length (clojure.java.io/file path))
         skip (- flen tail)]
-    (if (.startsWith path root-dir)
+    (if (.startsWith path (.getCanonicalPath (File. root-dir)))
     (with-open [input (clojure.java.io/input-stream path)
                 output (java.io.ByteArrayOutputStream.)]
       (if (> skip 0) (.skip input skip))
-      (let [buffer (make-array Byte/TYPE 1024)]
-        (loop []
-          (let [size (.read input buffer)]
-            (when (and (pos? size) (< (.size output) tail))
-              (do (.write output buffer 0 size)
-                  (recur))))))
-      (.toString output)) "File not found")
+        (let [buffer (make-array Byte/TYPE 1024)]
+          (loop []
+            (let [size (.read input buffer)]
+              (when (and (pos? size) (< (.size output) tail))
+                (do (.write output buffer 0 size)
+                    (recur))))))
+        (.toString output)) "File not found")
     ))
 
 (defn log-root-dir


[3/5] git commit: switch to java.io.File for directory comparison

Posted by pt...@apache.org.
switch to java.io.File for directory comparison


Project: http://git-wip-us.apache.org/repos/asf/incubator-storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-storm/commit/16c96798
Tree: http://git-wip-us.apache.org/repos/asf/incubator-storm/tree/16c96798
Diff: http://git-wip-us.apache.org/repos/asf/incubator-storm/diff/16c96798

Branch: refs/heads/master
Commit: 16c967981f4ebfe6d20ff2b86a8a7bc56227f74d
Parents: 6fd68a5
Author: P. Taylor Goetz <pt...@gmail.com>
Authored: Mon Apr 28 13:35:25 2014 -0400
Committer: P. Taylor Goetz <pt...@gmail.com>
Committed: Mon Apr 28 13:35:25 2014 -0400

----------------------------------------------------------------------
 storm-core/src/clj/backtype/storm/daemon/logviewer.clj | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-storm/blob/16c96798/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
----------------------------------------------------------------------
diff --git a/storm-core/src/clj/backtype/storm/daemon/logviewer.clj b/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
index 7d8b7aa..ef6f349 100644
--- a/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
+++ b/storm-core/src/clj/backtype/storm/daemon/logviewer.clj
@@ -32,8 +32,10 @@
 
 (defn tail-file [path tail root-dir]
   (let [flen (.length (clojure.java.io/file path))
-        skip (- flen tail)]
-    (if (.startsWith path (.getCanonicalPath (File. root-dir)))
+        skip (- flen tail)
+        log-dir (File. root-dir)
+        log-file (File. path)]
+    (if (= log-dir (.getParentFile log-file))
     (with-open [input (clojure.java.io/input-stream path)
                 output (java.io.ByteArrayOutputStream.)]
       (if (> skip 0) (.skip input skip))