equal
deleted
inserted
replaced
902 req.write(response) |
902 req.write(response) |
903 |
903 |
904 # require ssl by default, auth info cannot be sniffed and |
904 # require ssl by default, auth info cannot be sniffed and |
905 # replayed |
905 # replayed |
906 ssl_req = self.repo.ui.configbool('web', 'push_ssl', True) |
906 ssl_req = self.repo.ui.configbool('web', 'push_ssl', True) |
907 if ssl_req and not req.env.get('HTTPS'): |
907 if ssl_req: |
908 bail(_('ssl required\n')) |
908 if not req.env.get('HTTPS'): |
909 return |
909 bail(_('ssl required\n')) |
|
910 return |
|
911 proto = 'https' |
|
912 else: |
|
913 proto = 'http' |
910 |
914 |
911 # do not allow push unless explicitly allowed |
915 # do not allow push unless explicitly allowed |
912 if not self.check_perm(req, 'push', False): |
916 if not self.check_perm(req, 'push', False): |
913 bail(_('push not authorized\n'), |
917 bail(_('push not authorized\n'), |
914 headers={'status': '401 Unauthorized'}) |
918 headers={'status': '401 Unauthorized'}) |
950 |
954 |
951 old_stdout = sys.stdout |
955 old_stdout = sys.stdout |
952 sys.stdout = cStringIO.StringIO() |
956 sys.stdout = cStringIO.StringIO() |
953 |
957 |
954 try: |
958 try: |
955 ret = self.repo.addchangegroup(fp, 'serve') |
959 url = 'remote:%s:%s' % (proto, |
|
960 req.env.get('REMOTE_HOST', '')) |
|
961 ret = self.repo.addchangegroup(fp, 'serve', url) |
956 finally: |
962 finally: |
957 val = sys.stdout.getvalue() |
963 val = sys.stdout.getvalue() |
958 sys.stdout = old_stdout |
964 sys.stdout = old_stdout |
959 req.write('%d\n' % ret) |
965 req.write('%d\n' % ret) |
960 req.write(val) |
966 req.write(val) |