Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/ui.py @ 8133:57a2a0070d6b
ui: kill check_trusted
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 23 Apr 2009 15:40:10 -0500 |
parents | cece135ffcf0 |
children | e74e0c259bd3 |
comparison
equal
deleted
inserted
replaced
8132:cece135ffcf0 | 8133:57a2a0070d6b |
---|---|
42 self.trusted_groups = {} | 42 self.trusted_groups = {} |
43 # if ucdata is not None, its keys must be a superset of cdata's | 43 # if ucdata is not None, its keys must be a superset of cdata's |
44 self.cdata = util.configparser() | 44 self.cdata = util.configparser() |
45 self.ucdata = None | 45 self.ucdata = None |
46 # we always trust global config files | 46 # we always trust global config files |
47 self.check_trusted = False | 47 self.readconfig(util.rcpath(), assumetrusted=True) |
48 self.readconfig(util.rcpath()) | |
49 self.check_trusted = True | |
50 self.updateopts(verbose, debug, quiet, interactive) | 48 self.updateopts(verbose, debug, quiet, interactive) |
51 else: | 49 else: |
52 # parentui may point to an ui object which is already a child | 50 # parentui may point to an ui object which is already a child |
53 self.parentui = parentui.parentui or parentui | 51 self.parentui = parentui.parentui or parentui |
54 self.trusted_users = parentui.trusted_users.copy() | 52 self.trusted_users = parentui.trusted_users.copy() |
101 self.quiet = False | 99 self.quiet = False |
102 elif self.verbose and self.quiet: | 100 elif self.verbose and self.quiet: |
103 self.quiet = self.verbose = False | 101 self.quiet = self.verbose = False |
104 | 102 |
105 def _is_trusted(self, fp, f, warn=True): | 103 def _is_trusted(self, fp, f, warn=True): |
106 if not self.check_trusted: | |
107 return True | |
108 st = util.fstat(fp) | 104 st = util.fstat(fp) |
109 if util.isowner(fp, st): | 105 if util.isowner(fp, st): |
110 return True | 106 return True |
111 tusers = self.trusted_users | 107 tusers = self.trusted_users |
112 tgroups = self.trusted_groups | 108 tgroups = self.trusted_groups |
123 self.warn(_('Not trusting file %s from untrusted ' | 119 self.warn(_('Not trusting file %s from untrusted ' |
124 'user %s, group %s\n') % (f, user, group)) | 120 'user %s, group %s\n') % (f, user, group)) |
125 return False | 121 return False |
126 return True | 122 return True |
127 | 123 |
128 def readconfig(self, fn, root=None): | 124 def readconfig(self, fn, root=None, assumetrusted=False): |
129 if isinstance(fn, basestring): | 125 if isinstance(fn, basestring): |
130 fn = [fn] | 126 fn = [fn] |
131 for f in fn: | 127 for f in fn: |
132 try: | 128 try: |
133 fp = open(f) | 129 fp = open(f) |
134 except IOError: | 130 except IOError: |
135 continue | 131 continue |
136 cdata = self.cdata | 132 cdata = self.cdata |
137 trusted = self._is_trusted(fp, f) | 133 trusted = assumetrusted or self._is_trusted(fp, f) |
138 if not trusted: | 134 if not trusted: |
139 if self.ucdata is None: | 135 if self.ucdata is None: |
140 self.ucdata = dupconfig(self.cdata) | 136 self.ucdata = dupconfig(self.cdata) |
141 cdata = self.ucdata | 137 cdata = self.ucdata |
142 elif self.ucdata is not None: | 138 elif self.ucdata is not None: |