##// END OF EJS Templates
sslutil: require TLS 1.1+ when supported...
sslutil: require TLS 1.1+ when supported Currently, Mercurial will use TLS 1.0 or newer when connecting to remote servers, selecting the highest TLS version supported by both peers. On older Pythons, only TLS 1.0 is available. On newer Pythons, TLS 1.1 and 1.2 should be available. Security professionals recommend avoiding TLS 1.0 if possible. PCI DSS 3.1 "strongly encourages" the use of TLS 1.2. Known attacks like BEAST and POODLE exist against TLS 1.0 (although mitigations are available and properly configured servers aren't vulnerable). I asked Eric Rescorla - Mozilla's resident crypto expert - whether Mercurial should drop support for TLS 1.0. His response was "if you can get away with it." Essentially, a number of servers on the Internet don't support TLS 1.1+. This is why web browsers continue to support TLS 1.0 despite desires from security experts. This patch changes Mercurial's default behavior on modern Python versions to require TLS 1.1+, thus avoiding known security issues with TLS 1.0 and making Mercurial more secure by default. Rather than drop TLS 1.0 support wholesale, we still allow TLS 1.0 to be used if configured. This is a compromise solution - ideally we'd disallow TLS 1.0. However, since we're not sure how many Mercurial servers don't support TLS 1.1+ and we're not sure how much user inconvenience this change will bring, I think it is prudent to ship an escape hatch that still allows usage of TLS 1.0. In the default case our users get better security. In the worst case, they are no worse off than before this patch. This patch has no effect when running on Python versions that don't support TLS 1.1+. As the added test shows, connecting to a server that doesn't support TLS 1.1+ will display a warning message with a link to our wiki, where we can guide people to configure their client to allow less secure connections.

File last commit:

r25217:70e82279 default
r29560:303e9300 default
Show More
test-walk.t
370 lines | 12.6 KiB | text/troff | Tads3Lexer
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init t
Nicolas Dumazet
tests: unify test-walk
r11799 $ cd t
$ mkdir -p beans
$ for b in kidney navy turtle borlotti black pinto; do
> echo $b > beans/$b
Mads Kiilerich
check-code: check that '>' is used for continued lines...
r19873 > done
Nicolas Dumazet
tests: unify test-walk
r11799 $ mkdir -p mammals/Procyonidae
$ for m in cacomistle coatimundi raccoon; do
> echo $m > mammals/Procyonidae/$m
Mads Kiilerich
check-code: check that '>' is used for continued lines...
r19873 > done
Nicolas Dumazet
tests: unify test-walk
r11799 $ echo skunk > mammals/skunk
$ echo fennel > fennel
$ echo fenugreek > fenugreek
$ echo fiddlehead > fiddlehead
$ hg addremove
adding beans/black
adding beans/borlotti
adding beans/kidney
adding beans/navy
adding beans/pinto
adding beans/turtle
adding fennel
adding fenugreek
adding fiddlehead
adding mammals/Procyonidae/cacomistle
adding mammals/Procyonidae/coatimundi
adding mammals/Procyonidae/raccoon
adding mammals/skunk
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit #0"
Nicolas Dumazet
tests: unify test-walk
r11799
$ hg debugwalk
f beans/black beans/black
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
f beans/navy beans/navy
f beans/pinto beans/pinto
f beans/turtle beans/turtle
f fennel fennel
f fenugreek fenugreek
f fiddlehead fiddlehead
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi mammals/Procyonidae/coatimundi
f mammals/Procyonidae/raccoon mammals/Procyonidae/raccoon
f mammals/skunk mammals/skunk
$ hg debugwalk -I.
f beans/black beans/black
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
f beans/navy beans/navy
f beans/pinto beans/pinto
f beans/turtle beans/turtle
f fennel fennel
f fenugreek fenugreek
f fiddlehead fiddlehead
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi mammals/Procyonidae/coatimundi
f mammals/Procyonidae/raccoon mammals/Procyonidae/raccoon
f mammals/skunk mammals/skunk
$ cd mammals
$ hg debugwalk
f beans/black ../beans/black
f beans/borlotti ../beans/borlotti
f beans/kidney ../beans/kidney
f beans/navy ../beans/navy
f beans/pinto ../beans/pinto
f beans/turtle ../beans/turtle
f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
$ hg debugwalk -X ../beans
f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
$ hg debugwalk -I '*k'
f mammals/skunk skunk
$ hg debugwalk -I 'glob:*k'
f mammals/skunk skunk
$ hg debugwalk -I 'relglob:*k'
f beans/black ../beans/black
f fenugreek ../fenugreek
f mammals/skunk skunk
$ hg debugwalk -I 'relglob:*k' .
f mammals/skunk skunk
$ hg debugwalk -I 're:.*k$'
f beans/black ../beans/black
f fenugreek ../fenugreek
f mammals/skunk skunk
$ hg debugwalk -I 'relre:.*k$'
f beans/black ../beans/black
f fenugreek ../fenugreek
f mammals/skunk skunk
$ hg debugwalk -I 'path:beans'
f beans/black ../beans/black
f beans/borlotti ../beans/borlotti
f beans/kidney ../beans/kidney
f beans/navy ../beans/navy
f beans/pinto ../beans/pinto
f beans/turtle ../beans/turtle
Mads Kiilerich
tests: run test-walk.t on windows...
r16985 $ hg debugwalk -I 'relpath:detour/../../beans'
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black ../beans/black
f beans/borlotti ../beans/borlotti
f beans/kidney ../beans/kidney
f beans/navy ../beans/navy
f beans/pinto ../beans/pinto
f beans/turtle ../beans/turtle
$ hg debugwalk .
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
$ hg debugwalk -I.
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
$ hg debugwalk Procyonidae
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
$ cd Procyonidae
$ hg debugwalk .
f mammals/Procyonidae/cacomistle cacomistle
f mammals/Procyonidae/coatimundi coatimundi
f mammals/Procyonidae/raccoon raccoon
$ hg debugwalk ..
f mammals/Procyonidae/cacomistle cacomistle
f mammals/Procyonidae/coatimundi coatimundi
f mammals/Procyonidae/raccoon raccoon
f mammals/skunk ../skunk
$ cd ..
$ hg debugwalk ../beans
f beans/black ../beans/black
f beans/borlotti ../beans/borlotti
f beans/kidney ../beans/kidney
f beans/navy ../beans/navy
f beans/pinto ../beans/pinto
f beans/turtle ../beans/turtle
$ hg debugwalk .
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
$ hg debugwalk .hg
Mads Kiilerich
tests: run test-walk.t on windows...
r16985 abort: path 'mammals/.hg' is inside nested repo 'mammals' (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk ../.hg
Simon Heimberg
tests: remove glob from output lines containing no glob character
r18682 abort: path contains illegal component: .hg
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799 $ cd ..
$ hg debugwalk -Ibeans
f beans/black beans/black
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
f beans/navy beans/navy
f beans/pinto beans/pinto
f beans/turtle beans/turtle
$ hg debugwalk -I '{*,{b,m}*/*}k'
f beans/black beans/black
f fenugreek fenugreek
f mammals/skunk mammals/skunk
Martin von Zweigbergk
test-walk: add more tests for -I/-X...
r25217 $ hg debugwalk -Ibeans mammals
$ hg debugwalk -Inon-existent
$ hg debugwalk -Inon-existent -Ibeans/black
f beans/black beans/black
$ hg debugwalk -Ibeans beans/black
f beans/black beans/black exact
$ hg debugwalk -Ibeans/black beans
f beans/black beans/black
$ hg debugwalk -Xbeans/black beans
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
f beans/navy beans/navy
f beans/pinto beans/pinto
f beans/turtle beans/turtle
$ hg debugwalk -Xbeans/black -Ibeans
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
f beans/navy beans/navy
f beans/pinto beans/pinto
f beans/turtle beans/turtle
$ hg debugwalk -Xbeans/black beans/black
f beans/black beans/black exact
$ hg debugwalk -Xbeans/black -Ibeans/black
$ hg debugwalk -Xbeans beans/black
f beans/black beans/black exact
$ hg debugwalk -Xbeans -Ibeans/black
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk 'glob:mammals/../beans/b*'
f beans/black beans/black
f beans/borlotti beans/borlotti
$ hg debugwalk '-X*/Procyonidae' mammals
f mammals/skunk mammals/skunk
$ hg debugwalk path:mammals
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi mammals/Procyonidae/coatimundi
f mammals/Procyonidae/raccoon mammals/Procyonidae/raccoon
f mammals/skunk mammals/skunk
$ hg debugwalk ..
Mads Kiilerich
tests: fix for windows - slashes and no serve
r18506 abort: .. not under root '$TESTTMP/t' (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk beans/../..
Mads Kiilerich
tests: fix for windows - slashes and no serve
r18506 abort: beans/../.. not under root '$TESTTMP/t' (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk .hg
Simon Heimberg
tests: remove glob from output lines containing no glob character
r18682 abort: path contains illegal component: .hg
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk beans/../.hg
Simon Heimberg
tests: remove glob from output lines containing no glob character
r18682 abort: path contains illegal component: .hg
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk beans/../.hg/data
Mads Kiilerich
tests: run test-walk.t on windows...
r16985 abort: path contains illegal component: .hg/data (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk beans/.hg
Mads Kiilerich
tests: run test-walk.t on windows...
r16985 abort: path 'beans/.hg' is inside nested repo 'beans' (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799
Matt Mackall
test-walk: enable absolute path tests
r11903 Test absolute paths:
$ hg debugwalk `pwd`/beans
f beans/black beans/black
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
f beans/navy beans/navy
f beans/pinto beans/pinto
f beans/turtle beans/turtle
$ hg debugwalk `pwd`/..
Mads Kiilerich
tests: fix for windows - slashes and no serve
r18506 abort: $TESTTMP/t/.. not under root '$TESTTMP/t' (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Matt Mackall
test-walk: enable absolute path tests
r11903
Test patterns:
Nicolas Dumazet
tests: unify test-walk
r11799
$ hg debugwalk glob:\*
f fennel fennel
f fenugreek fenugreek
f fiddlehead fiddlehead
Mads Kiilerich
tests: move tests in test-walk.t using ':' in filenames to conditional section...
r16983 #if eol-in-paths
$ echo glob:glob > glob:glob
$ hg addremove
adding glob:glob
warning: filename contains ':', which is reserved on Windows: 'glob:glob'
$ hg debugwalk glob:\*
f fennel fennel
f fenugreek fenugreek
f fiddlehead fiddlehead
Nicolas Dumazet
tests: unify test-walk
r11799 f glob:glob glob:glob
Mads Kiilerich
tests: better testing of 'glob:glob' in test-walk.t
r16984 $ hg debugwalk glob:glob
glob: No such file or directory
$ hg debugwalk glob:glob:glob
f glob:glob glob:glob exact
$ hg debugwalk path:glob:glob
f glob:glob glob:glob exact
Mads Kiilerich
tests: move tests in test-walk.t using ':' in filenames to conditional section...
r16983 $ rm glob:glob
$ hg addremove
removing glob:glob
#endif
Matt Mackall
test-walk: enable absolute path tests
r11903
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk 'glob:**e'
f beans/turtle beans/turtle
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
Matt Mackall
test-walk: enable absolute path tests
r11903
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk 're:.*[kb]$'
f beans/black beans/black
f fenugreek fenugreek
f mammals/skunk mammals/skunk
Matt Mackall
test-walk: enable absolute path tests
r11903
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk path:beans/black
f beans/black beans/black exact
$ hg debugwalk path:beans//black
f beans/black beans/black exact
Matt Mackall
test-walk: enable absolute path tests
r11903
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk relglob:Procyonidae
$ hg debugwalk 'relglob:Procyonidae/**'
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi mammals/Procyonidae/coatimundi
f mammals/Procyonidae/raccoon mammals/Procyonidae/raccoon
$ hg debugwalk 'relglob:Procyonidae/**' fennel
f fennel fennel exact
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi mammals/Procyonidae/coatimundi
f mammals/Procyonidae/raccoon mammals/Procyonidae/raccoon
$ hg debugwalk beans 'glob:beans/*'
f beans/black beans/black
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
f beans/navy beans/navy
f beans/pinto beans/pinto
f beans/turtle beans/turtle
$ hg debugwalk 'glob:mamm**'
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi mammals/Procyonidae/coatimundi
f mammals/Procyonidae/raccoon mammals/Procyonidae/raccoon
f mammals/skunk mammals/skunk
$ hg debugwalk 'glob:mamm**' fennel
f fennel fennel exact
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi mammals/Procyonidae/coatimundi
f mammals/Procyonidae/raccoon mammals/Procyonidae/raccoon
f mammals/skunk mammals/skunk
$ hg debugwalk 'glob:j*'
$ hg debugwalk NOEXIST
Mads Kiilerich
tests: hide 'No such file or directory' messages...
r15521 NOEXIST: * (glob)
Nicolas Dumazet
tests: unify test-walk
r11799
Mads Kiilerich
tests: add some missing #if's / hghave requirements...
r16972 #if fifo
Nicolas Dumazet
tests: unify test-walk
r11799 $ mkfifo fifo
$ hg debugwalk fifo
fifo: unsupported file type (type is fifo)
Mads Kiilerich
tests: add some missing #if's / hghave requirements...
r16972 #endif
Nicolas Dumazet
tests: unify test-walk
r11799
$ rm fenugreek
$ hg debugwalk fenugreek
f fenugreek fenugreek exact
$ hg rm fenugreek
$ hg debugwalk fenugreek
f fenugreek fenugreek exact
$ touch new
$ hg debugwalk new
f new new exact
$ mkdir ignored
$ touch ignored/file
$ echo '^ignored$' > .hgignore
$ hg debugwalk ignored
$ hg debugwalk ignored/file
f ignored/file ignored/file exact
Patrick Mezard
match: make 'listfile:' split on LF and CRLF...
r14248 Test listfile and listfile0
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c "file('listfile0', 'wb').write('fenugreek\0new\0')"
Mads Kiilerich
tests: run test-walk.t on windows...
r16985 $ hg debugwalk -I 'listfile0:listfile0'
Patrick Mezard
match: make 'listfile:' split on LF and CRLF...
r14248 f fenugreek fenugreek
f new new
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c "file('listfile', 'wb').write('fenugreek\nnew\r\nmammals/skunk\n')"
Mads Kiilerich
tests: run test-walk.t on windows...
r16985 $ hg debugwalk -I 'listfile:listfile'
Patrick Mezard
match: make 'listfile:' split on LF and CRLF...
r14248 f fenugreek fenugreek
f mammals/skunk mammals/skunk
f new new
Nicolas Dumazet
tests: unify test-walk
r11799 $ cd ..
$ hg debugwalk -R t t/mammals/skunk
f mammals/skunk t/mammals/skunk exact
$ mkdir t2
$ cd t2
$ hg debugwalk -R ../t ../t/mammals/skunk
f mammals/skunk ../t/mammals/skunk exact
$ hg debugwalk --cwd ../t mammals/skunk
f mammals/skunk mammals/skunk exact
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..
Yuya Nishihara
match: fix NameError 'pat' on overflow of regex pattern length...
r21191
Test split patterns on overflow
$ cd t
$ echo fennel > overflow.list
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c "for i in xrange(20000 / 100): print 'x' * 100" >> overflow.list
Yuya Nishihara
match: fix NameError 'pat' on overflow of regex pattern length...
r21191 $ echo fenugreek >> overflow.list
$ hg debugwalk 'listfile:overflow.list' 2>&1 | grep -v '^xxx'
f fennel fennel exact
f fenugreek fenugreek exact
$ cd ..