Esempio n. 1
0
 def testSamePrefix(self):
   self.assertTrue(utils.IsBelowDir("/a/b", "/a/b/c"))
   self.assertTrue(utils.IsBelowDir("/a/b/", "/a/b/e"))
Esempio n. 2
0
 def testSamePrefixButDifferentDir(self):
   self.assertFalse(utils.IsBelowDir("/a/b", "/a/bc/d"))
   self.assertFalse(utils.IsBelowDir("/a/b/", "/a/bc/e"))
    def testRoot(self):
        self.assertFalse(utils.IsBelowDir("/", "/"))

        for i in ["/a", "/tmp", "/tmp/foo/bar", "/tmp/"]:
            self.assertTrue(utils.IsBelowDir("/", i))
Esempio n. 4
0
 def testExactlyTheSame(self):
   self.assertFalse(utils.IsBelowDir("/a/b", "/a/b"))
   self.assertFalse(utils.IsBelowDir("/a/b", "/a/b/"))
   self.assertFalse(utils.IsBelowDir("/a/b/", "/a/b"))
   self.assertFalse(utils.IsBelowDir("/a/b/", "/a/b/"))
 def testSamePrefixAndTraversal(self):
     self.assertTrue(utils.IsBelowDir("/a/b", "/a/b/c/../d"))
     self.assertTrue(utils.IsBelowDir("/a/b", "/a/b/c/./e"))
     self.assertTrue(utils.IsBelowDir("/a/b", "/a/b/../b/./e"))
 def testSamePrefixButDirTraversal(self):
     self.assertFalse(utils.IsBelowDir("/a/b", "/a/b/../c"))
     self.assertFalse(utils.IsBelowDir("/a/b/", "/a/b/../d"))
 def _Check(path):
   return (not os.path.isabs(path) or
           path in _forbidden or
           filter(lambda p: utils.IsBelowDir(p, path), _forbidden))
Esempio n. 8
0
 def testKeyToFilename(self):
     for key in ssconf._VALID_KEYS:
         result = self.sstore.KeyToFilename(key)
         self.assertTrue(utils.IsBelowDir(self.ssdir, result))
         self.assertTrue(os.path.basename(result).startswith("ssconf_"))
Esempio n. 9
0
 def _Check(path):
     return (not os.path.isabs(path) or path in _forbidden
             or [p for p in _forbidden if utils.IsBelowDir(p, path)])