##// END OF EJS Templates
sslutil: synchronize hostname matching logic with CPython...
sslutil: synchronize hostname matching logic with CPython sslutil contains its own hostname matching logic. CPython has code for the same intent. However, it is only available to Python 2.7.9+ (or distributions that have backported 2.7.9's ssl module improvements). This patch effectively imports CPython's hostname matching code from its ssl.py into sslutil.py. The hostname matching code itself is pretty similar. However, the DNS name matching code is much more robust and spec conformant. As the test changes show, this changes some behavior around wildcard handling and IDNA matching. The new behavior allows wildcards in the middle of words (e.g. 'f*.com' matches 'foo.com') This is spec compliant according to RFC 6125 Section 6.5.3 item 3. There is one test where the matcher is more strict. Before, '*.a.com' matched '.a.com'. Now it doesn't match. Strictly speaking this is a security vulnerability.

File last commit:

r29174:478e2b85 default
r29452:26a5d605 3.8.4 stable
Show More
test-addremove-similar.t
102 lines | 2.1 KiB | text/troff | Tads3Lexer
/ tests / test-addremove-similar.t
Martin Geisler
tests: unify test-addremove-similar
r11851 $ hg init rep; cd rep
$ touch empty-file
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c 'for x in range(10000): print x' > large-file
Martin Geisler
tests: unify test-addremove-similar
r11851
$ hg addremove
adding empty-file
adding large-file
$ hg commit -m A
$ rm large-file empty-file
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c 'for x in range(10,10000): print x' > another-file
Martin Geisler
tests: unify test-addremove-similar
r11851
$ hg addremove -s50
adding another-file
removing empty-file
removing large-file
recording removal of large-file as rename to another-file (99% similar)
$ hg commit -m B
comparing two empty files caused ZeroDivisionError in the past
$ hg update -C 0
2 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ rm empty-file
$ touch another-empty-file
$ hg addremove -s50
adding another-empty-file
removing empty-file
$ cd ..
$ hg init rep2; cd rep2
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c 'for x in range(10000): print x' > large-file
$ $PYTHON -c 'for x in range(50): print x' > tiny-file
Martin Geisler
tests: unify test-addremove-similar
r11851
$ hg addremove
adding large-file
adding tiny-file
$ hg commit -m A
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c 'for x in range(70): print x' > small-file
Martin Geisler
tests: unify test-addremove-similar
r11851 $ rm tiny-file
$ rm large-file
$ hg addremove -s50
removing large-file
adding small-file
removing tiny-file
recording removal of tiny-file as rename to small-file (82% similar)
$ hg commit -m B
should all fail
$ hg addremove -s foo
abort: similarity must be a number
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-addremove-similar
r11851 $ hg addremove -s -1
abort: similarity must be between 0 and 100
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-addremove-similar
r11851 $ hg addremove -s 1e6
abort: similarity must be between 0 and 100
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-addremove-similar
r11851
$ cd ..
Pierre-Yves David
error: get Abort from 'error' instead of 'util'...
r26587 Issue1527: repeated addremove causes Abort
Martin Geisler
tests: unify test-addremove-similar
r11851
$ hg init rep3; cd rep3
$ mkdir d
$ echo a > d/a
$ hg add d/a
$ hg commit -m 1
$ mv d/a d/b
$ hg addremove -s80
removing d/a
adding d/b
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 recording removal of d/a as rename to d/b (100% similar) (glob)
Martin Geisler
tests: unify test-addremove-similar
r11851 $ hg debugstate
r 0 0 1970-01-01 00:00:00 d/a
a 0 -1 unset d/b
copy: d/a -> d/b
$ mv d/b c
no copies found here (since the target isn't in d
$ hg addremove -s80 d
Matt Harbison
addremove: restore the relative path printing when files are named...
r23481 removing d/b (glob)
Martin Geisler
tests: unify test-addremove-similar
r11851
copies here
$ hg addremove -s80
adding c
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 recording removal of d/a as rename to c (100% similar) (glob)
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..