##// END OF EJS Templates
acl: support for getting authenticated user from web server (issue298)...
Henrik Stuart -
r8846:b3077538 default
parent child Browse files
Show More
@@ -47,7 +47,7 b''
47 47
48 48 from mercurial.i18n import _
49 49 from mercurial import util, match
50 import getpass
50 import getpass, urllib
51 51
52 52 def buildmatch(ui, repo, user, key):
53 53 '''return tuple of (match function, list enabled).'''
@@ -72,7 +72,15 b' def hook(ui, repo, hooktype, node=None, '
72 72 ui.debug(_('acl: changes have source "%s" - skipping\n') % source)
73 73 return
74 74
75 user = getpass.getuser()
75 user = None
76 if source == 'serve' and 'url' in kwargs:
77 url = kwargs['url'].split(':')
78 if url[0] == 'remote' and url[1].startswith('http'):
79 user = urllib.unquote(url[2])
80
81 if user is None:
82 user = getpass.getuser()
83
76 84 cfg = ui.config('acl', 'config')
77 85 if cfg:
78 86 ui.readconfig(cfg, sections = ['acl.allow', 'acl.deny'])
@@ -162,9 +162,10 b' def unbundle(repo, req):'
162 162 sys.stderr = sys.stdout = cStringIO.StringIO()
163 163
164 164 try:
165 url = 'remote:%s:%s' % (proto,
166 urllib.quote(
167 req.env.get('REMOTE_HOST', '')))
165 url = 'remote:%s:%s:%s' % (
166 proto,
167 urllib.quote(req.env.get('REMOTE_HOST', '')),
168 urllib.quote(req.env.get('REMOTE_USER', '')))
168 169 try:
169 170 ret = repo.addchangegroup(gen, 'serve', url)
170 171 except util.Abort, inst:
General Comments 0
You need to be logged in to leave comments. Login now