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

r28405:1d9d29d4 default
r29452:26a5d605 3.8.4 stable
Show More
test-dispatch.py
35 lines | 851 B | text/x-python | PythonLexer
timeless
tests: test-dispatch use print_function
r28405 from __future__ import absolute_import, print_function
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095 import os
timeless
tests: test-dispatch use absolute_import
r28404 from mercurial import (
dispatch,
)
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 def testdispatch(cmd):
"""Simple wrapper around dispatch.dispatch()
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095
Prints command and result value, but does not handle quoting.
"""
timeless
tests: test-dispatch use print_function
r28405 print("running: %s" % (cmd,))
Idan Kamara
dispatch: wrap dispatch related information in a request class...
r14438 req = dispatch.request(cmd.split())
result = dispatch.dispatch(req)
timeless
tests: test-dispatch use print_function
r28405 print("result: %r" % (result,))
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 testdispatch("init test1")
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095 os.chdir('test1')
# create file 'foo', add and commit
Alejandro Santos
compat: use open() instead of file() everywhere
r9031 f = open('foo', 'wb')
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095 f.write('foo\n')
f.close()
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 testdispatch("add foo")
testdispatch("commit -m commit1 -d 2000-01-01 foo")
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095
# append to file 'foo' and commit
Alejandro Santos
compat: use open() instead of file() everywhere
r9031 f = open('foo', 'ab')
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095 f.write('bar\n')
f.close()
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 testdispatch("commit -m commit2 -d 2000-01-02 foo")
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095
# check 88803a69b24 (fancyopts modified command table)
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 testdispatch("log -r 0")
testdispatch("log -r tip")