##// 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:

r31064:4431add9 stable
r32050:77eaf953 4.1.3 stable
Show More
test-revset-outgoing.t
116 lines | 2.5 KiB | text/troff | Tads3Lexer
/ tests / test-revset-outgoing.t
Adrian Buehlmann
revset: fix #branch in urls for outgoing()...
r12614 $ cat >> $HGRCPATH <<EOF
> [alias]
> tlog = log --template "{rev}:{node|short}: '{desc}' {branches}\n"
> tglog = tlog -G
> tout = out --template "{rev}:{node|short}: '{desc}' {branches}\n"
> EOF
$ hg init a
$ cd a
$ echo a > a
$ hg ci -Aqm0
$ echo foo >> a
$ hg ci -Aqm1
$ hg up -q 0
$ hg branch stable
marked working directory as branch stable
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Adrian Buehlmann
revset: fix #branch in urls for outgoing()...
r12614 $ echo bar >> a
$ hg ci -qm2
$ hg tglog
@ 2:7bee6c3bea3a: '2' stable
|
| o 1:3560197d8331: '1'
|/
o 0:f7b1eb17ad24: '0'
$ cd ..
$ hg clone -q a#stable b
$ cd b
$ cat .hg/hgrc
timeless
samplehgrcs: use single quotes in use warning
r29978 # example repository config (see 'hg help config' for more info)
Jordi Gutiérrez Hermoso
config: use the same hgrc for a cloned repo as for an uninitted repo...
r22837 [paths]
FUJIWARA Katsunori
tests: add "(glob)" to paths in test-revset-outgoing.t for Windows
r23057 default = $TESTTMP/a#stable (glob)
Jordi Gutiérrez Hermoso
config: use the same hgrc for a cloned repo as for an uninitted repo...
r22837
# path aliases to other clones of this repo in URLs or filesystem paths
timeless
samplehgrcs: use single quotes in use warning
r29978 # (see 'hg help config.paths' for more info)
Jordi Gutiérrez Hermoso
config: use the same hgrc for a cloned repo as for an uninitted repo...
r22837 #
Rishabh Madan
ui: replace obsolete default-push with default:pushurl (issue5485)...
r31064 # default:pushurl = ssh://jdoe@example.net/hg/jdoes-fork
# my-fork = ssh://jdoe@example.net/hg/jdoes-fork
# my-clone = /home/jdoe/jdoes-clone
Jordi Gutiérrez Hermoso
config: use the same hgrc for a cloned repo as for an uninitted repo...
r22837
[ui]
# name and email (local to this repository, optional), e.g.
Augie Fackler
clone: provide sample username = config entry in .hg/hgrc (issue4359)...
r22380 # username = Jane Doe <jdoe@example.com>
Adrian Buehlmann
revset: fix #branch in urls for outgoing()...
r12614
$ echo red >> a
$ hg ci -qm3
$ hg up -q default
$ echo blue >> a
$ hg ci -qm4
$ hg tglog
@ 3:f0461977a3db: '4'
|
| o 2:1d4099801a4e: '3' stable
| |
| o 1:7bee6c3bea3a: '2' stable
|/
o 0:f7b1eb17ad24: '0'
$ hg tout
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 comparing with $TESTTMP/a (glob)
Adrian Buehlmann
revset: fix #branch in urls for outgoing()...
r12614 searching for changes
2:1d4099801a4e: '3' stable
$ hg tlog -r 'outgoing()'
2:1d4099801a4e: '3' stable
$ hg tout ../a#default
comparing with ../a
searching for changes
3:f0461977a3db: '4'
$ hg tlog -r 'outgoing("../a#default")'
3:f0461977a3db: '4'
$ echo "green = ../a#default" >> .hg/hgrc
$ cat .hg/hgrc
timeless
samplehgrcs: use single quotes in use warning
r29978 # example repository config (see 'hg help config' for more info)
Jordi Gutiérrez Hermoso
config: use the same hgrc for a cloned repo as for an uninitted repo...
r22837 [paths]
FUJIWARA Katsunori
tests: add "(glob)" to paths in test-revset-outgoing.t for Windows
r23057 default = $TESTTMP/a#stable (glob)
Jordi Gutiérrez Hermoso
config: use the same hgrc for a cloned repo as for an uninitted repo...
r22837
# path aliases to other clones of this repo in URLs or filesystem paths
timeless
samplehgrcs: use single quotes in use warning
r29978 # (see 'hg help config.paths' for more info)
Jordi Gutiérrez Hermoso
config: use the same hgrc for a cloned repo as for an uninitted repo...
r22837 #
Rishabh Madan
ui: replace obsolete default-push with default:pushurl (issue5485)...
r31064 # default:pushurl = ssh://jdoe@example.net/hg/jdoes-fork
# my-fork = ssh://jdoe@example.net/hg/jdoes-fork
# my-clone = /home/jdoe/jdoes-clone
Jordi Gutiérrez Hermoso
config: use the same hgrc for a cloned repo as for an uninitted repo...
r22837
[ui]
# name and email (local to this repository, optional), e.g.
Augie Fackler
clone: provide sample username = config entry in .hg/hgrc (issue4359)...
r22380 # username = Jane Doe <jdoe@example.com>
Adrian Buehlmann
revset: fix #branch in urls for outgoing()...
r12614 green = ../a#default
$ hg tout green
Jordi Gutiérrez Hermoso
config: use the same hgrc for a cloned repo as for an uninitted repo...
r22837 comparing with green
abort: repository green not found!
[255]
Adrian Buehlmann
revset: fix #branch in urls for outgoing()...
r12614
$ hg tlog -r 'outgoing("green")'
Jordi Gutiérrez Hermoso
config: use the same hgrc for a cloned repo as for an uninitted repo...
r22837 abort: repository green not found!
[255]
Adrian Buehlmann
revset: fix #branch in urls for outgoing()...
r12614
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..