abort: error: EOF occurred in violation of protocol (_ssl.c:590)
Augie Fackler
raf at durin42.com
Sun Feb 26 01:21:23 UTC 2017
> On Feb 24, 2017, at 4:05 PM, Andreas Buff <autobuff at gmx.de> wrote:
>
> Hi,
>
> I seem to have an issue using HTTPS/TLS when cloning a repo.
>
> Using "hg clone https://domain.com/path/to/repo <https://domain.com/path/to/repo>",
>
> The error I get is:
>
> "abort: error: EOF occurred in violation of protocol (_ssl.c:590)"
>
> --debug --traceback output can be found on the bottom.
> This does work though: hg clone http://selenic.com/hg <http://selenic.com/hg> mercurial-repo
> I am using Mercurial 4.0.1 on OSX 10.11.6 (installed with package installer <https://www.mercurial-scm.org/mac/binaries/Mercurial-4.0.1-macosx10.11.pkg>).
>
> hg --version:
> Mercurial Distributed SCM (version 4.0.1)
>
> python -V:
> Python 2.7.13
>
> My .hgrc:
>
> [hostsecurity]
> disabletls10warning = true
> [hostfingerprints]
> domain.com = my:sh:aa:a0:29:04:02:ed:aa:23:40:66:b2:eb:e1:0a:03:c0:ec:66
>
> This Python script runs fine:
Did you run this python script with /usr/bin/python? That’s what hg is running with if you used our package installer, and I suspect you’ve got inadequate TLS support.
(This is a known deficiency of our packaged builds, and is something we’re hoping to address soon.)
> import socket, ssl
> context = ssl.create_default_context()
> context.verify_mode = ssl.CERT_REQUIRED
> context.load_default_certs()
> conn = context.wrap_socket(socket.socket(socket.AF_INET), server_hostname='www.mozilla.org <http://www.mozilla.org/>')
> conn.connect(('www.mozilla.org <http://www.mozilla.org/>', 443))
>
> This Python script:
>
> import ssl
> context = ssl.create_default_context()
> context.load_default_certs()
> context.cert_store_stats()
>
> returns: {'x509': 0, 'x509_ca': 0, 'crl': 0}
>
> which does look fishy to me.
>
> I searched a lot and get out of ideas.
>
> Thankful for any hints.
>
> Best,
> Andreas
> Output of "hg clone --debug --traceback https://dom <https://dom/>ain.com/path/to/repo": sending capabilities command Traceback (most recent call last): File "/Library/Python/2.7/site-packages/mercurial/dispatch.py", line 205, in _runcatchfunc return _dispatch(req) File "/Library/Python/2.7/site-packages/mercurial/dispatch.py", line 901, in _dispatch cmdpats, cmdoptions) File "/Library/Python/2.7/site-packages/mercurial/dispatch.py", line 650, in runcommand ret = _runcommand(ui, options, cmd, d) File "/Library/Python/2.7/site-packages/mercurial/dispatch.py", line 909, in _runcommand return cmdfunc() File "/Library/Python/2.7/site-packages/mercurial/dispatch.py", line 898, in <lambda> d = lambda: util.checksignature(func)(ui, *args, **cmdoptions) File "/Library/Python/2.7/site-packages/mercurial/util.py", line 1037, in check return func(*args, **kwargs) File "/Library/Python/2.7/site-packages/mercurial/commands.py", line 1559, in clone shareopts=opts.get('shareopts')) File "/Library/Python/2.7/site-packages/mercurial/hg.py", line 447, in clone srcpeer = peer(ui, peeropts, source) File "/Library/Python/2.7/site-packages/mercurial/hg.py", line 175, in peer return _peerorrepo(rui, path, create).peer() File "/Library/Python/2.7/site-packages/mercurial/hg.py", line 152, in _peerorrepo obj = _peerlookup(path).instance(ui, path, create) File "/Library/Python/2.7/site-packages/mercurial/httppeer.py", line 298, in instance inst._fetchcaps() File "/Library/Python/2.7/site-packages/mercurial/httppeer.py", line 78, in _fetchcaps self.caps = set(self._call('capabilities').split()) File "/Library/Python/2.7/site-packages/mercurial/httppeer.py", line 207, in _call fp = self._callstream(cmd, **args) File "/Library/Python/2.7/site-packages/mercurial/httppeer.py", line 154, in _callstream resp = self.urlopener.open(req) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 431, in open response = self._open(req, data) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 449, in _open '_open', req) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 409, in _call_chain result = func(*args) File "/Library/Python/2.7/site-packages/mercurial/url.py", line 342, in https_open return self.do_open(self._makeconnection, req) File "/Library/Python/2.7/site-packages/mercurial/keepalive.py", line 264, in do_open raise urlerr.urlerror(err) URLError: <urlopen error EOF occurred in violation of protocol (_ssl.c:590)>
> _______________________________________________
> Mercurial mailing list
> Mercurial at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20170225/89b390c0/attachment-0002.html>
More information about the Mercurial
mailing list