equal
deleted
inserted
replaced
8 |
8 |
9 import os, re, time |
9 import os, re, time |
10 from mercurial.i18n import _ |
10 from mercurial.i18n import _ |
11 from mercurial import ui, hg, scmutil, util, templater |
11 from mercurial import ui, hg, scmutil, util, templater |
12 from mercurial import error, encoding |
12 from mercurial import error, encoding |
13 from common import ErrorResponse, get_mtime, staticfile, paritygen, \ |
13 from common import ErrorResponse, get_mtime, staticfile, paritygen, ismember, \ |
14 get_contact, HTTP_OK, HTTP_NOT_FOUND, HTTP_SERVER_ERROR |
14 get_contact, HTTP_OK, HTTP_NOT_FOUND, HTTP_SERVER_ERROR |
15 from hgweb_mod import hgweb, makebreadcrumb |
15 from hgweb_mod import hgweb, makebreadcrumb |
16 from request import wsgirequest |
16 from request import wsgirequest |
17 import webutil |
17 import webutil |
18 |
18 |
162 if user is allowed to read the repo, else return False.""" |
162 if user is allowed to read the repo, else return False.""" |
163 |
163 |
164 user = req.env.get('REMOTE_USER') |
164 user = req.env.get('REMOTE_USER') |
165 |
165 |
166 deny_read = ui.configlist('web', 'deny_read', untrusted=True) |
166 deny_read = ui.configlist('web', 'deny_read', untrusted=True) |
167 if deny_read and (not user or deny_read == ['*'] or user in deny_read): |
167 if deny_read and (not user or ismember(ui, user, deny_read)): |
168 return False |
168 return False |
169 |
169 |
170 allow_read = ui.configlist('web', 'allow_read', untrusted=True) |
170 allow_read = ui.configlist('web', 'allow_read', untrusted=True) |
171 # by default, allow reading if no allow_read option has been set |
171 # by default, allow reading if no allow_read option has been set |
172 if (not allow_read) or (allow_read == ['*']) or (user in allow_read): |
172 if (not allow_read) or ismember(ui, user, allow_read): |
173 return True |
173 return True |
174 |
174 |
175 return False |
175 return False |
176 |
176 |
177 def run_wsgi(self, req): |
177 def run_wsgi(self, req): |