sslutil: require a server hostname when wrapping sockets (API)
All callers appear to be passing the hostname. So this shouldn't
break anything. By specifying the hostname, more validation options
from the ssl module are available to us. Although this patch stops
short of using them.
--- a/mercurial/sslutil.py Sun Apr 10 10:59:45 2016 -0700
+++ b/mercurial/sslutil.py Sun Apr 10 11:00:41 2016 -0700
@@ -120,6 +120,9 @@
server (and client) support SNI, this tells the server which certificate
to use.
"""
+ if not serverhostname:
+ raise error.Abort('serverhostname argument required')
+
# Despite its name, PROTOCOL_SSLv23 selects the highest protocol
# that both ends support, including TLS protocols. On legacy stacks,
# the highest it likely goes in TLS 1.0. On modern stacks, it can