# HG changeset patch # User Gregory Szorc # Date 1460311241 25200 # Node ID 1fde84d42f9c923b7e17b38894136af5f5a0b179 # Parent e330db205b20ff811d3efc088f4aa67cba23eca7 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. diff -r e330db205b20 -r 1fde84d42f9c mercurial/sslutil.py --- 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