# HG changeset patch # User Gregory Szorc # Date 1468983454 25200 # Node ID 3fde328d0913c4a0d88718ede1abf785bc460479 # Parent a2a380e2750fdd0406cc23a0ca8c8d3eee4d0e63 hg: copy [hostsecurity] options to remote ui instances (issue5305) TIL that ui instances for remote/peer repos don't automagically inherit config options from .hg/hgrc files. This patch makes remote ui instances inherit options from the [hostsecurity] section. We were already inheriting options from [hostfingerprints] and [auth]. So adding [hostsecurity] to the list seems appropriate. diff -r a2a380e2750f -r 3fde328d0913 mercurial/hg.py --- a/mercurial/hg.py Mon Jul 18 22:25:09 2016 +0200 +++ b/mercurial/hg.py Tue Jul 19 19:57:34 2016 -0700 @@ -923,7 +923,7 @@ dst.setconfig('bundle', 'mainreporoot', r, 'copied') # copy selected local settings to the remote ui - for sect in ('auth', 'hostfingerprints', 'http_proxy'): + for sect in ('auth', 'hostfingerprints', 'hostsecurity', 'http_proxy'): for key, val in src.configitems(sect): dst.setconfig(sect, key, val, 'copied') v = src.config('web', 'cacerts') diff -r a2a380e2750f -r 3fde328d0913 tests/test-https.t --- a/tests/test-https.t Mon Jul 18 22:25:09 2016 +0200 +++ b/tests/test-https.t Tue Jul 19 19:57:34 2016 -0700 @@ -501,6 +501,17 @@ abort: error: *unsupported protocol* (glob) [255] +.hg/hgrc file [hostsecurity] settings are applied to remote ui instances (issue5305) + + $ cat >> copy-pull/.hg/hgrc << EOF + > [hostsecurity] + > localhost:minimumprotocol=tls1.2 + > EOF + $ P="$CERTSDIR" hg -R copy-pull id https://localhost:$HGPORT/ + (could not negotiate a common protocol; see https://mercurial-scm.org/wiki/SecureConnections for how to configure Mercurial to avoid this error) + abort: error: [SSL: UNSUPPORTED_PROTOCOL] unsupported protocol (_ssl.c:590) + [255] + $ killdaemons.py hg0.pid $ killdaemons.py hg1.pid $ killdaemons.py hg2.pid