reassign 633093 python
thanks

On 08/07/11 12:14, Jonathan Nieder wrote:
> Package: mercurial
> Version: 1.8.3-1
> 
> Hi,
> 
> Whenever I try to clone an HTTPS url, I get this error:
> 
> | $ hg clone https://bitbucket.org/anders/xnu
> | abort: error: _ssl.c:340: error:00000000:lib(0):func(0):reason(0)
> 
> What does that mean?  Known problem?

The attached python script reproduces this. Basically, a call to
ssl.wrap_socket() with an empty ca_certs file (not a nonexistent file, a
file that exists but is empty) causes python to raise that error.
There's nothing that mercurial can do about it because the SSLError
raised doesn't provide any information (errno: 0). I think this should
be fixed in the ssl library in python.

You can get an empty /etc/ssl/certs/ca-certificates.crt by doing
"dpkg-reconfigure ca-certificates" and desactivating all certificates,
so it's a plausible scenario in Debian.

Cheers,
Javi (Vicho)

> 
> Jonathan
> $ dpkg-query -W libssl1.0.0
> libssl1.0.0   1.0.0d-3
> 
> -- System Information:
> Debian Release: wheezy/sid
>   APT prefers stable
>   APT policy: (500, 'stable')
> Architecture: amd64 (x86_64)
> 
> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
> 
> Versions of packages mercurial depends on:
> ii  libc6                        2.13-10     Embedded GNU C Library: Shared 
> lib
> ii  mercurial-common             1.8.3-1     scalable distributed version 
> contr
> ii  python                       2.7.2-2     interactive high-level 
> object-orie
> ii  python-support               1.0.14      automated rebuilding support for 
> P
> ii  ucf                          3.0025+nmu2 Update Configuration File: 
> preserv
> 
> mercurial recommends no packages.
> 
> Versions of packages mercurial suggests:
> ii  emacs     23.3+1-1                       The GNU Emacs editor 
> (metapackage)
> pn  kdiff3 |  <none>                         (no description available)
> pn  qct       <none>                         (no description available)
> ii  tk8.5 [wi 8.5.10-1                       Tk toolkit for Tcl and X11, v8.5 
> -
> ii  tk8.6 [wi 8.6.0~b1-3                     Tk toolkit for Tcl and X11, v8.6 
> -
> ii  vim       2:7.3.154+hg~74503f6ee649-2+b1 Vi IMproved - enhanced vi editor
> ii  vim-gtk [ 2:7.3.154+hg~74503f6ee649-2+b1 Vi IMproved - enhanced vi editor 
> -
> 
> -- no debconf information
> 
> 
> 
#!/usr/bin/python

import os, socket, ssl, tempfile

f = tempfile.NamedTemporaryFile(delete=False)
empty_cacert_file = f.name
f.close()

sock = socket.create_connection(("bitbucket.org", 443))
sock = ssl.wrap_socket(sock, ca_certs=empty_cacert_file, cert_reqs=ssl.CERT_REQUIRED)

os.unlink(empty_cacert_file)
print("Success")

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to