##// END OF EJS Templates
dispatch: protect against malicious 'hg serve --stdio' invocations (sec)...
dispatch: protect against malicious 'hg serve --stdio' invocations (sec) Some shared-ssh installations assume that 'hg serve --stdio' is a safe command to run for minimally trusted users. Unfortunately, the messy implementation of argument parsing here meant that trying to access a repo named '--debugger' would give the user a pdb prompt, thereby sidestepping any hoped-for sandboxing. Serving repositories over HTTP(S) is unaffected. We're not currently hardening any subcommands other than 'serve'. If your service exposes other commands to users with arbitrary repository names, it is imperative that you defend against repository names of '--debugger' and anything starting with '--config'. The read-only mode of hg-ssh stopped working because it provided its hook configuration to "hg serve --stdio" via --config parameter. This is banned for security reasons now. This patch switches it to directly call ui.setconfig(). If your custom hosting infrastructure relies on passing --config to "hg serve --stdio", you'll need to find a different way to get that configuration into Mercurial, either by using ui.setconfig() as hg-ssh does in this patch, or by placing an hgrc file someplace where Mercurial will read it. mitrandir@fb.com provided some extra fixes for the dispatch code and for hg-ssh in places that I overlooked.

File last commit:

r26421:4b0fc75f default
r32050:77eaf953 4.1.3 stable
Show More
README
20 lines | 544 B | text/plain | TextLexer
Martin Geisler
README: add small introduction
r12857 Mercurial
=========
Mercurial is a fast, easy to use, distributed revision control tool
for software developers.
Matt Mackall
Move README info to wiki
r3935 Basic install:
mpm@selenic.com
Add back links from file revisions to changeset revisions...
r0
Matt Mackall
Move README info to wiki
r3935 $ make # see install targets
$ make install # do a system-wide install
$ hg debuginstall # sanity-check setup
$ hg # see help
mpm@selenic.com
README: integrate some changes from Kevin Smith...
r205
Ross Lagerwall
readme: mention how to run in-place...
r16217 Running without installing:
$ make local # build for inplace usage
$ ./hg --version # should show the latest version
Matt Mackall
urls: bulk-change primary website URLs
r26421 See https://mercurial-scm.org/ for detailed installation
Matt Mackall
Move README info to wiki
r3935 instructions, platform-specific notes, and Mercurial user information.