Mercurial > public > mercurial-scm > hg
comparison mercurial/localrepo.py @ 5158: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
5157:f6c520fd70cf | 5158: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) |