comparison mercurial/localrepo.py @ 5141:d316124ebbea

Make audit_path more stringent. The following properties of a path are now checked for: - under top-level .hg - starts at the root of a windows drive - contains ".." - traverses a symlink (e.g. a/symlink_here/b) - inside a nested repository If any of these is true, the path is rejected. The check for traversing a symlink is arguably stricter than necessary; perhaps we should be checking for symlinks that point outside the repository.
author Bryan O'Sullivan <bos@serpentine.com>
date Fri, 10 Aug 2007 10:46:03 -0700
parents 2ffe3e2a1ac2
children 012dbf88b9b2
comparison
equal deleted inserted replaced
5140:f6c520fd70cf 5141:d316124ebbea
67 self.spath = os.path.join(self.path, "store") 67 self.spath = os.path.join(self.path, "store")
68 else: 68 else:
69 self.encodefn = lambda x: x 69 self.encodefn = lambda x: x
70 self.decodefn = lambda x: x 70 self.decodefn = lambda x: x
71 self.spath = self.path 71 self.spath = self.path
72 self.sopener = util.encodedopener(util.opener(self.spath), self.encodefn) 72 self.sopener = util.encodedopener(util.opener(self.spath),
73 self.encodefn)
73 74
74 self.ui = ui.ui(parentui=parentui) 75 self.ui = ui.ui(parentui=parentui)
75 try: 76 try:
76 self.ui.readconfig(self.join("hgrc"), self.root) 77 self.ui.readconfig(self.join("hgrc"), self.root)
77 extensions.loadall(self.ui) 78 extensions.loadall(self.ui)