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

r16913:f2719b38 default
r29452:26a5d605 3.8.4 stable
Show More
test-merge6.t
70 lines | 1.8 KiB | text/troff | Tads3Lexer
Pradeepkumar Gayam
tests: unify test-merge6
r11979 $ cat <<EOF > merge
> import sys, os
> print "merging for", os.path.basename(sys.argv[1])
> EOF
$ HGMERGE="python ../merge"; export HGMERGE
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init A1
Pradeepkumar Gayam
tests: unify test-merge6
r11979 $ cd A1
$ echo This is file foo1 > foo
$ echo This is file bar1 > bar
$ hg add foo bar
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit text"
Pradeepkumar Gayam
tests: unify test-merge6
r11979
$ cd ..
$ hg clone A1 B1
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd A1
$ rm bar
$ hg remove bar
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979
$ cd ../B1
$ echo This is file foo22 > foo
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979
$ cd ..
$ hg clone A1 A2
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg clone B1 B2
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd A1
$ hg pull ../B1
pulling from ../B1
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979 bar should remain deleted.
$ hg manifest --debug
f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644 foo
$ cd ../B2
$ hg pull ../A2
pulling from ../A2
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 0 changes to 0 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg merge
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979 bar should remain deleted.
$ hg manifest --debug
f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644 foo
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..