qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Error when attempting to perform TLS NBD connection
@ 2016-04-05 20:01 Alex Bligh
  2016-04-06  9:09 ` Daniel P. Berrange
  2016-04-06 11:13 ` Daniel P. Berrange
  0 siblings, 2 replies; 9+ messages in thread
From: Alex Bligh @ 2016-04-05 20:01 UTC (permalink / raw)
  To: qemu-devel, Daniel P. Berrange; +Cc: Alex Bligh

When I attempt to connect via TLS like this (using today's qemu master):

   ./qemu-img info --object tls-creds-x509,id=tls0,dir=../certs,endpoint=client --image-opts driver=nbd,host=127.0.0.1,port=6666,export=foo,tls-creds=tls0

(command line from Daniel over IRC)

I get the rather opaque error:

   qemu-img: Unable to initialize certificate

and with the patch I sent through I get the not much less opaque error:

   qemu-img: Unable to initialize certificate: ASN1 parser: Element was not found.

gdb indicates this is crypto/tlscredsx509.c:399 where gnutls_x509_crt_init(&cert) fails.

I generated the certificates EXACTLY as per:
   http://qemu.weilnetz.de/qemu-doc.html#vnc_005fgenerate_005fcert
(also from Daniel over IRC)

and the certificates work fine with gnutls-cli and gnutls-server

I am compiling on and running on Ubuntu Trusty 14.04, and have an up to date
(for 14.04) gnutls installed.

$ dpkg --list | fgrep libgnutls26
ii libgnutls26:amd64  2.12.23-12ubuntu2.4 amd64 GNU TLS library - runtime library

All the certificates are at:
  https://gist.github.com/abligh/96425e20fb423d847b8fd4ead298efed
(no there's nothing secret there)

Any ideas?

-- 
Alex Bligh

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] Error when attempting to perform TLS NBD connection
  2016-04-05 20:01 [Qemu-devel] Error when attempting to perform TLS NBD connection Alex Bligh
@ 2016-04-06  9:09 ` Daniel P. Berrange
  2016-04-06  9:11   ` Daniel P. Berrange
  2016-04-06  9:17   ` Alex Bligh
  2016-04-06 11:13 ` Daniel P. Berrange
  1 sibling, 2 replies; 9+ messages in thread
From: Daniel P. Berrange @ 2016-04-06  9:09 UTC (permalink / raw)
  To: Alex Bligh; +Cc: qemu-devel

On Tue, Apr 05, 2016 at 09:01:10PM +0100, Alex Bligh wrote:
> When I attempt to connect via TLS like this (using today's qemu master):
> 
>    ./qemu-img info --object tls-creds-x509,id=tls0,dir=../certs,endpoint=client --image-opts driver=nbd,host=127.0.0.1,port=6666,export=foo,tls-creds=tls0
> 
> (command line from Daniel over IRC)
> 
> I get the rather opaque error:
> 
>    qemu-img: Unable to initialize certificate
> 
> and with the patch I sent through I get the not much less opaque error:
> 
>    qemu-img: Unable to initialize certificate: ASN1 parser: Element was not found.
> 
> gdb indicates this is crypto/tlscredsx509.c:399 where gnutls_x509_crt_init(&cert) fails.
> 
> I generated the certificates EXACTLY as per:
>    http://qemu.weilnetz.de/qemu-doc.html#vnc_005fgenerate_005fcert
> (also from Daniel over IRC)
> 
> and the certificates work fine with gnutls-cli and gnutls-server
> 
> I am compiling on and running on Ubuntu Trusty 14.04, and have an up to date
> (for 14.04) gnutls installed.
> 
> $ dpkg --list | fgrep libgnutls26
> ii libgnutls26:amd64  2.12.23-12ubuntu2.4 amd64 GNU TLS library - runtime library
> 
> All the certificates are at:
>   https://gist.github.com/abligh/96425e20fb423d847b8fd4ead298efed
> (no there's nothing secret there)

I've just tested using your certs and they work correctly for me. I have
gnutls-3.4.10-1.fc23.x86_64  on Fedora 23, so either there's something
broken with gnutls 2.x compatibility in general, or there's a specific
bug in your exact version of gnutls. I'll try and investigate further

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] Error when attempting to perform TLS NBD connection
  2016-04-06  9:09 ` Daniel P. Berrange
@ 2016-04-06  9:11   ` Daniel P. Berrange
  2016-04-06  9:22     ` Alex Bligh
  2016-04-06  9:17   ` Alex Bligh
  1 sibling, 1 reply; 9+ messages in thread
From: Daniel P. Berrange @ 2016-04-06  9:11 UTC (permalink / raw)
  To: Alex Bligh; +Cc: qemu-devel

On Wed, Apr 06, 2016 at 10:09:07AM +0100, Daniel P. Berrange wrote:
> On Tue, Apr 05, 2016 at 09:01:10PM +0100, Alex Bligh wrote:
> > When I attempt to connect via TLS like this (using today's qemu master):
> > 
> >    ./qemu-img info --object tls-creds-x509,id=tls0,dir=../certs,endpoint=client --image-opts driver=nbd,host=127.0.0.1,port=6666,export=foo,tls-creds=tls0
> > 
> > (command line from Daniel over IRC)
> > 
> > I get the rather opaque error:
> > 
> >    qemu-img: Unable to initialize certificate
> > 
> > and with the patch I sent through I get the not much less opaque error:
> > 
> >    qemu-img: Unable to initialize certificate: ASN1 parser: Element was not found.
> > 
> > gdb indicates this is crypto/tlscredsx509.c:399 where gnutls_x509_crt_init(&cert) fails.
> > 
> > I generated the certificates EXACTLY as per:
> >    http://qemu.weilnetz.de/qemu-doc.html#vnc_005fgenerate_005fcert
> > (also from Daniel over IRC)
> > 
> > and the certificates work fine with gnutls-cli and gnutls-server
> > 
> > I am compiling on and running on Ubuntu Trusty 14.04, and have an up to date
> > (for 14.04) gnutls installed.
> > 
> > $ dpkg --list | fgrep libgnutls26
> > ii libgnutls26:amd64  2.12.23-12ubuntu2.4 amd64 GNU TLS library - runtime library
> > 
> > All the certificates are at:
> >   https://gist.github.com/abligh/96425e20fb423d847b8fd4ead298efed
> > (no there's nothing secret there)
> 
> I've just tested using your certs and they work correctly for me. I have
> gnutls-3.4.10-1.fc23.x86_64  on Fedora 23, so either there's something
> broken with gnutls 2.x compatibility in general, or there's a specific
> bug in your exact version of gnutls. I'll try and investigate further

Oh I'd be interested to know if the unit tests pass for you - can you
run this

  make ./tests/test-crypto-tlssession ./tests/test-crypto-tlscredsx509
  ./tests/test-crypto-tlscredsx509
  ./tests/test-crypto-tlssession

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] Error when attempting to perform TLS NBD connection
  2016-04-06  9:09 ` Daniel P. Berrange
  2016-04-06  9:11   ` Daniel P. Berrange
@ 2016-04-06  9:17   ` Alex Bligh
  1 sibling, 0 replies; 9+ messages in thread
From: Alex Bligh @ 2016-04-06  9:17 UTC (permalink / raw)
  To: Daniel P. Berrange; +Cc: qemu-devel@nongnu.org, Alex Bligh


On 6 Apr 2016, at 10:09, Daniel P. Berrange <berrange@redhat.com> wrote:

> I've just tested using your certs and they work correctly for me. I have
> gnutls-3.4.10-1.fc23.x86_64  on Fedora 23, so either there's something
> broken with gnutls 2.x compatibility in general, or there's a specific
> bug in your exact version of gnutls. I'll try and investigate further

Thanks. My concern is that it looks (unless I've been an idiot)
like it won't work on vanilla LTS ubuntu, which is a bit sad!

I don't think I did anything abnormal beyond a 'git pull' and
  './configure --prefix=/usr --target-list=x86_64-softmmu

I'm guessing the problem is an older libgnutls.

Here's a complete list of what I have installed that could
possibly have anything to do with crypto:

$ dpkg --list | egrep 'nss|ssl|tls|crypto' | awk '{print $2, $3}'
docbook-dsssl 1.79-7ubuntu1
ecryptfs-utils 104-0ubuntu1.14.04.3
erlang-crypto 1:16.b.3-dfsg-1ubuntu2.1
erlang-ssl 1:16.b.3-dfsg-1ubuntu2.1
gcr 3.10.1-1
gnutls-bin 3.0.11+really2.12.23-12ubuntu2.5
insserv 1.14.0-5ubuntu2
ldp-docbook-dsssl 0.0.20040321-2build1
libcrypt-openssl-dsa-perl 0.14-1
libcrypt-ssleay-perl 0.58-1build1
libcurl3-gnutls:amd64 7.35.0-1ubuntu2.5
libcurl3-nss:amd64 7.35.0-1ubuntu2.1
libcurl4-openssl-dev:amd64 7.35.0-1ubuntu2.5
libecryptfs0 104-0ubuntu1.14.04.3
libevent-openssl-2.0-5:amd64 2.0.21-stable-1ubuntu1.14.04.1
libflac8:amd64 1.3.0-2ubuntu0.14.04.1
libgnutls-dev 2.12.23-12ubuntu2.4
libgnutls-openssl27:amd64 2.12.23-12ubuntu2.4
libgnutls26:amd64 2.12.23-12ubuntu2.4
libgnutlsxx26:amd64 2.10.5-1ubuntu3.3
libgnutlsxx27:amd64 2.12.23-12ubuntu2.4
libhcrypto4-heimdal:amd64 1.6~git20131207+dfsg-1ubuntu1.1
libio-socket-ssl-perl 1.965-1ubuntu1
libk5crypto3:amd64 1.12+dfsg-2ubuntu5.2
libmhash2:amd64 0.9.9.9-4
libneon27-gnutls 0.30.0-1ubuntu1
libnet-smtp-ssl-perl 1.01-3
libnet-ssleay-perl 1.58-1
libnettle4:amd64 2.7.1-1
libnss-mdns:amd64 0.10-6
libnss3:amd64 2:3.19.2.1-0ubuntu0.14.04.2
libnss3-1d:amd64 2:3.19.2.1-0ubuntu0.14.04.2
libnss3-nssdb 2:3.19.2.1-0ubuntu0.14.04.2
libssl-dev:amd64 1.0.1f-1ubuntu2.16
libssl-doc 1.0.1f-1ubuntu2.16
libssl0.9.8:amd64 0.9.8o-7ubuntu3.2.14.04.1
libssl1.0.0:amd64 1.0.1f-1ubuntu2.16
libwavpack1:amd64 4.70.0-1
openssh-client 1:6.6p1-2ubuntu2.4
openssh-server 1:6.6p1-2ubuntu2.4
openssh-sftp-server 1:6.6p1-2ubuntu2.4
openssl 1.0.1f-1ubuntu2.16
python-crypto 2.6.1-4build1
python-openssl 0.13-2ubuntu6
python-passlib 1.5.3-0ubuntu3
python3-crypto 2.6.1-4build1
ssl-cert 1.0.33

-- 
Alex Bligh

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] Error when attempting to perform TLS NBD connection
  2016-04-06  9:11   ` Daniel P. Berrange
@ 2016-04-06  9:22     ` Alex Bligh
  2016-04-06  9:27       ` Daniel P. Berrange
  0 siblings, 1 reply; 9+ messages in thread
From: Alex Bligh @ 2016-04-06  9:22 UTC (permalink / raw)
  To: Daniel P. Berrange; +Cc: qemu-devel@nongnu.org, Alex Bligh


On 6 Apr 2016, at 10:11, Daniel P. Berrange <berrange@redhat.com> wrote:

> Oh I'd be interested to know if the unit tests pass for you - can you
> run this
> 
>  make ./tests/test-crypto-tlssession ./tests/test-crypto-tlscredsx509
>  ./tests/test-crypto-tlscredsx509
>  ./tests/test-crypto-tlssession

See below. They pass.

I suppose the only other slightly non-standard thing I'm doing is
running qemu-img as "./qemu-img" without installing it, as I already
have Ubuntu's default qemu package installed. This used to work fine
and it doesn't seem to linked to any 'old qemu' libraries (and besides
'old qemu' had no TLS code). I've put the output of ldd -v below
as well just in case.

-- 
Alex Bligh



make ./tests/test-crypto-tlssession ./tests/test-crypto-tlscredsx509
	CHK version_gen.h
  CC    tests/test-crypto-tlssession.o
  CC    tests/crypto-tls-x509-helpers.o
  CC    tests/pkix_asn1_tab.o
  LINK  tests/test-crypto-tlssession
  CC    tests/test-crypto-tlscredsx509.o
  LINK  tests/test-crypto-tlscredsx509
amb@nimrod-ubuntu:~/qemu/git/qemu$  ./tests/test-crypto-tlscredsx509
/qcrypto/tlscredsx509/perfectserver: OK
/qcrypto/tlscredsx509/perfectclient: OK
/qcrypto/tlscredsx509/goodca1: OK
/qcrypto/tlscredsx509/goodca2: OK
/qcrypto/tlscredsx509/goodca3: OK
/qcrypto/tlscredsx509/badca1: OK
/qcrypto/tlscredsx509/badca2: OK
/qcrypto/tlscredsx509/badca3: OK
/qcrypto/tlscredsx509/goodserver1: OK
/qcrypto/tlscredsx509/goodserver2: OK
/qcrypto/tlscredsx509/goodserver3: OK
/qcrypto/tlscredsx509/goodserver4: OK
/qcrypto/tlscredsx509/goodserver5: OK
/qcrypto/tlscredsx509/goodserver6: OK
/qcrypto/tlscredsx509/goodserver7: OK
/qcrypto/tlscredsx509/badserver1: OK
/qcrypto/tlscredsx509/badserver2: OK
/qcrypto/tlscredsx509/badserver3: OK
/qcrypto/tlscredsx509/goodclient1: OK
/qcrypto/tlscredsx509/goodclient2: OK
/qcrypto/tlscredsx509/goodclient3: OK
/qcrypto/tlscredsx509/goodclient4: OK
/qcrypto/tlscredsx509/goodclient5: OK
/qcrypto/tlscredsx509/goodclient6: OK
/qcrypto/tlscredsx509/goodclient7: OK
/qcrypto/tlscredsx509/badclient1: OK
/qcrypto/tlscredsx509/badclient2: OK
/qcrypto/tlscredsx509/badclient3: OK
/qcrypto/tlscredsx509/expired1: OK
/qcrypto/tlscredsx509/expired2: OK
/qcrypto/tlscredsx509/expired3: OK
/qcrypto/tlscredsx509/inactive1: OK
/qcrypto/tlscredsx509/inactive2: OK
/qcrypto/tlscredsx509/inactive3: OK
/qcrypto/tlscredsx509/chain1: OK
/qcrypto/tlscredsx509/chain2: OK
/qcrypto/tlscredsx509/missingca: OK
/qcrypto/tlscredsx509/missingserver: OK
/qcrypto/tlscredsx509/missingclient: OK
amb@nimrod-ubuntu:~/qemu/git/qemu$  ./tests/test-crypto-tlssession
/qcrypto/tlssession/basicca: OK
/qcrypto/tlssession/differentca: OK
/qcrypto/tlssession/altname1: OK
/qcrypto/tlssession/altname2: OK
/qcrypto/tlssession/altname3: OK
/qcrypto/tlssession/altname4: OK
/qcrypto/tlssession/altname5: OK
/qcrypto/tlssession/altname6: OK
/qcrypto/tlssession/wildcard1: OK
/qcrypto/tlssession/wildcard2: OK
/qcrypto/tlssession/wildcard3: OK
/qcrypto/tlssession/wildcard4: OK
/qcrypto/tlssession/wildcard5: OK
/qcrypto/tlssession/wildcard6: OK
/qcrypto/tlssession/cachain: OK
amb@nimrod-ubuntu:~/qemu/git/qemu$


amb@nimrod-ubuntu:~/qemu/git/qemu$ ldd -v qemu-img
	linux-vdso.so.1 =>  (0x00007fffdfbe1000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f44140f6000)
	libaio.so.1 => /lib/x86_64-linux-gnu/libaio.so.1 (0x00007f4413ef4000)
	libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f4413c8c000)
	librbd.so.1 => /usr/lib/x86_64-linux-gnu/librbd.so.1 (0x00007f441399a000)
	librados.so.2 => /usr/lib/x86_64-linux-gnu/librados.so.2 (0x00007f4412a70000)
	libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f441285f000)
	libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f4412557000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f441234f000)
	libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f4412149000)
	libgcrypt.so.11 => /lib/x86_64-linux-gnu/libgcrypt.so.11 (0x00007f4411ec9000)
	libgnutls.so.26 => /usr/lib/x86_64-linux-gnu/libgnutls.so.26 (0x00007f4411c0b000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4411904000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f44116ee000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f44114d0000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f441110a000)
	libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007f4410ed7000)
	librtmp.so.0 => /usr/lib/x86_64-linux-gnu/librtmp.so.0 (0x00007f4410cbd000)
	libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f4410a5d000)
	libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f4410682000)
	libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f441043b000)
	liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f441022b000)
	libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f440ffda000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f440fcd6000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f440fad1000)
	libnss3.so => /usr/lib/x86_64-linux-gnu/libnss3.so (0x00007f440f797000)
	libsmime3.so => /usr/lib/x86_64-linux-gnu/libsmime3.so (0x00007f440f56b000)
	libnspr4.so => /usr/lib/x86_64-linux-gnu/libnspr4.so (0x00007f440f32d000)
	libboost_thread.so.1.54.0 => /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0 (0x00007f440f117000)
	libboost_system.so.1.54.0 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.54.0 (0x00007f440ef13000)
	libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f440ecd4000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f4414a98000)
	libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f440eacf000)
	libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f440e8bb000)
	libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f440e678000)
	libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f440e3ad000)
	libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f440e17d000)
	libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f440df79000)
	libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f440dd6e000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f440db52000)
	libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f440d937000)
	libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007f440d6f9000)
	libnssutil3.so => /usr/lib/x86_64-linux-gnu/libnssutil3.so (0x00007f440d4cd000)
	libplc4.so => /usr/lib/x86_64-linux-gnu/libplc4.so (0x00007f440d2c8000)
	libplds4.so => /usr/lib/x86_64-linux-gnu/libplds4.so (0x00007f440d0c4000)
	libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f440cebb000)
	libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f440ccb7000)
	libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007f440caad000)
	libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007f440c825000)
	libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007f440c584000)
	libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007f440c350000)
	libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007f440c13b000)
	libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007f440bf11000)
	libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007f440bd03000)
	libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007f440baba000)
	libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f440b800000)
	libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f440b5c7000)

	Version information:
	./qemu-img:
		libm.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libm.so.6
		librt.so.1 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/librt.so.1
		libgcc_s.so.1 (GCC_3.4) => /lib/x86_64-linux-gnu/libgcc_s.so.1
		libuuid.so.1 (UUID_1.0) => /lib/x86_64-linux-gnu/libuuid.so.1
		libpthread.so.0 (GLIBC_2.12) => /lib/x86_64-linux-gnu/libpthread.so.0
		libpthread.so.0 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libpthread.so.0
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libcurl.so.4 (CURL_OPENSSL_3) => /usr/lib/x86_64-linux-gnu/libcurl.so.4
		libgnutls.so.26 (GNUTLS_2_10) => /usr/lib/x86_64-linux-gnu/libgnutls.so.26
		libgnutls.so.26 (GNUTLS_1_4) => /usr/lib/x86_64-linux-gnu/libgnutls.so.26
		libaio.so.1 (LIBAIO_0.1) => /lib/x86_64-linux-gnu/libaio.so.1
		libaio.so.1 (LIBAIO_0.4) => /lib/x86_64-linux-gnu/libaio.so.1
		libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.6) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.9) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.11) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.10) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libgcrypt.so.11 (GCRYPT_1.2) => /lib/x86_64-linux-gnu/libgcrypt.so.11
	/lib/x86_64-linux-gnu/libz.so.1:
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libcurl.so.4:
		libldap_r-2.4.so.2 (OPENLDAP_2.4_2) => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2
		libgssapi_krb5.so.2 (gssapi_krb5_2_MIT) => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
		liblber-2.4.so.2 (OPENLDAP_2.4_2) => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libidn.so.11 (LIBIDN_1.0) => /usr/lib/x86_64-linux-gnu/libidn.so.11
		libssl.so.1.0.0 (OPENSSL_1.0.1) => /lib/x86_64-linux-gnu/libssl.so.1.0.0
		libssl.so.1.0.0 (OPENSSL_1.0.0) => /lib/x86_64-linux-gnu/libssl.so.1.0.0
		libc.so.6 (GLIBC_2.15) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.16) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.17) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libcrypto.so.1.0.0 (OPENSSL_1.0.0) => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
	/usr/lib/x86_64-linux-gnu/librbd.so.1:
		libgcc_s.so.1 (GCC_3.0) => /lib/x86_64-linux-gnu/libgcc_s.so.1
		libuuid.so.1 (UUID_1.0) => /lib/x86_64-linux-gnu/libuuid.so.1
		libm.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libm.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libstdc++.so.6 (GLIBCXX_3.4.10) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libstdc++.so.6 (GLIBCXX_3.4.11) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libstdc++.so.6 (CXXABI_1.3) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libstdc++.so.6 (GLIBCXX_3.4.15) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libstdc++.so.6 (GLIBCXX_3.4.5) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libpthread.so.0 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libpthread.so.0
	/usr/lib/x86_64-linux-gnu/librados.so.2:
		libgcc_s.so.1 (GCC_3.0) => /lib/x86_64-linux-gnu/libgcc_s.so.1
		libuuid.so.1 (UUID_1.0) => /lib/x86_64-linux-gnu/libuuid.so.1
		libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
		libm.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libm.so.6
		libnss3.so (NSS_3.3) => /usr/lib/x86_64-linux-gnu/libnss3.so
		libnss3.so (NSS_3.2) => /usr/lib/x86_64-linux-gnu/libnss3.so
		libsmime3.so (NSS_3.2) => /usr/lib/x86_64-linux-gnu/libsmime3.so
		libstdc++.so.6 (GLIBCXX_3.4.10) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libstdc++.so.6 (CXXABI_1.3.1) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libstdc++.so.6 (GLIBCXX_3.4.11) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libstdc++.so.6 (CXXABI_1.3) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libstdc++.so.6 (GLIBCXX_3.4.15) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libpthread.so.0 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libpthread.so.0
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.9) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
	/lib/x86_64-linux-gnu/libbz2.so.1.0:
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/lib/x86_64-linux-gnu/libglib-2.0.so.0:
		libpthread.so.0 (GLIBC_2.3.3) => /lib/x86_64-linux-gnu/libpthread.so.0
		libpthread.so.0 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libpthread.so.0
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.9) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.8) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.10) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.15) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.17) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
	/lib/x86_64-linux-gnu/librt.so.1:
		libpthread.so.0 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libpthread.so.0
		libpthread.so.0 (GLIBC_PRIVATE) => /lib/x86_64-linux-gnu/libpthread.so.0
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_PRIVATE) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/lib/x86_64-linux-gnu/libuuid.so.1:
		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/lib/x86_64-linux-gnu/libgcrypt.so.11:
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.15) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libgnutls.so.26:
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libtasn1.so.6 (LIBTASN1_0_3) => /usr/lib/x86_64-linux-gnu/libtasn1.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.8) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libgcrypt.so.11 (GCRYPT_1.2) => /lib/x86_64-linux-gnu/libgcrypt.so.11
	/lib/x86_64-linux-gnu/libm.so.6:
		libc.so.6 (GLIBC_PRIVATE) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/lib/x86_64-linux-gnu/libgcc_s.so.1:
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/lib/x86_64-linux-gnu/libpthread.so.0:
		ld-linux-x86-64.so.2 (GLIBC_2.2.5) => /lib64/ld-linux-x86-64.so.2
		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
		ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_PRIVATE) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/lib/x86_64-linux-gnu/libc.so.6:
		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
		ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
	/usr/lib/x86_64-linux-gnu/libidn.so.11:
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/librtmp.so.0:
		libgnutls.so.26 (GNUTLS_1_4) => /usr/lib/x86_64-linux-gnu/libgnutls.so.26
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libgcrypt.so.11 (GCRYPT_1.2) => /lib/x86_64-linux-gnu/libgcrypt.so.11
	/lib/x86_64-linux-gnu/libssl.so.1.0.0:
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libcrypto.so.1.0.0 (OPENSSL_1.0.1d) => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
		libcrypto.so.1.0.0 (OPENSSL_1.0.1) => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
		libcrypto.so.1.0.0 (OPENSSL_1.0.0) => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
	/lib/x86_64-linux-gnu/libcrypto.so.1.0.0:
		libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2:
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libk5crypto.so.3 (k5crypto_3_MIT) => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3
		libkrb5support.so.0 (krb5support_0_MIT) => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0
		libkrb5.so.3 (krb5_3_MIT) => /usr/lib/x86_64-linux-gnu/libkrb5.so.3
	/usr/lib/x86_64-linux-gnu/liblber-2.4.so.2:
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2:
		libgcrypt.so.11 (GCRYPT_1.2) => /lib/x86_64-linux-gnu/libgcrypt.so.11
		libresolv.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libresolv.so.2
		libgssapi.so.3 (HEIMDAL_GSS_2.0) => /usr/lib/x86_64-linux-gnu/libgssapi.so.3
		libgnutls.so.26 (GNUTLS_1_4) => /usr/lib/x86_64-linux-gnu/libgnutls.so.26
		libpthread.so.0 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libpthread.so.0
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libsasl2.so.2 (SASL2) => /usr/lib/x86_64-linux-gnu/libsasl2.so.2
		libc.so.6 (GLIBC_2.12) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		liblber-2.4.so.2 (OPENLDAP_2.4_2) => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2
	/usr/lib/x86_64-linux-gnu/libstdc++.so.6:
		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
		libm.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libm.so.6
		libgcc_s.so.1 (GCC_4.2.0) => /lib/x86_64-linux-gnu/libgcc_s.so.1
		libgcc_s.so.1 (GCC_3.3) => /lib/x86_64-linux-gnu/libgcc_s.so.1
		libgcc_s.so.1 (GCC_3.0) => /lib/x86_64-linux-gnu/libgcc_s.so.1
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.18) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.17) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/lib/x86_64-linux-gnu/libdl.so.2:
		ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
		libc.so.6 (GLIBC_PRIVATE) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libnss3.so:
		libnssutil3.so (NSSUTIL_3.12.5) => /usr/lib/x86_64-linux-gnu/libnssutil3.so
		libnssutil3.so (NSSUTIL_3.12.3) => /usr/lib/x86_64-linux-gnu/libnssutil3.so
		libnssutil3.so (NSSUTIL_3.13) => /usr/lib/x86_64-linux-gnu/libnssutil3.so
		libnssutil3.so (NSSUTIL_3.17.1) => /usr/lib/x86_64-linux-gnu/libnssutil3.so
		libnssutil3.so (NSSUTIL_3.14) => /usr/lib/x86_64-linux-gnu/libnssutil3.so
		libnssutil3.so (NSSUTIL_3.12) => /usr/lib/x86_64-linux-gnu/libnssutil3.so
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libsmime3.so:
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libnssutil3.so (NSSUTIL_3.12) => /usr/lib/x86_64-linux-gnu/libnssutil3.so
		libnss3.so (NSS_3.11.1) => /usr/lib/x86_64-linux-gnu/libnss3.so
		libnss3.so (NSS_3.10) => /usr/lib/x86_64-linux-gnu/libnss3.so
		libnss3.so (NSS_3.7) => /usr/lib/x86_64-linux-gnu/libnss3.so
		libnss3.so (NSS_3.11) => /usr/lib/x86_64-linux-gnu/libnss3.so
		libnss3.so (NSS_3.6) => /usr/lib/x86_64-linux-gnu/libnss3.so
		libnss3.so (NSS_3.3.1) => /usr/lib/x86_64-linux-gnu/libnss3.so
		libnss3.so (NSS_3.8) => /usr/lib/x86_64-linux-gnu/libnss3.so
		libnss3.so (NSS_3.9) => /usr/lib/x86_64-linux-gnu/libnss3.so
		libnss3.so (NSS_3.12) => /usr/lib/x86_64-linux-gnu/libnss3.so
		libnss3.so (NSS_3.4) => /usr/lib/x86_64-linux-gnu/libnss3.so
		libnss3.so (NSS_3.3) => /usr/lib/x86_64-linux-gnu/libnss3.so
		libnss3.so (NSS_3.2) => /usr/lib/x86_64-linux-gnu/libnss3.so
	/usr/lib/x86_64-linux-gnu/libnspr4.so:
		librt.so.1 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/librt.so.1
		libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
		libpthread.so.0 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libpthread.so.0
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.15) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0:
		librt.so.1 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/librt.so.1
		libgcc_s.so.1 (GCC_3.0) => /lib/x86_64-linux-gnu/libgcc_s.so.1
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libpthread.so.0 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libpthread.so.0
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libstdc++.so.6 (CXXABI_1.3) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
	/usr/lib/x86_64-linux-gnu/libboost_system.so.1.54.0:
		libgcc_s.so.1 (GCC_3.0) => /lib/x86_64-linux-gnu/libgcc_s.so.1
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
		libstdc++.so.6 (CXXABI_1.3) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
	/lib/x86_64-linux-gnu/libpcre.so.3:
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
	/lib/x86_64-linux-gnu/libgpg-error.so.0:
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libtasn1.so.6:
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libp11-kit.so.0:
		libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.16) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libkrb5.so.3:
		libresolv.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libresolv.so.2
		libresolv.so.2 (GLIBC_2.9) => /lib/x86_64-linux-gnu/libresolv.so.2
		libk5crypto.so.3 (k5crypto_3_MIT) => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3
		libkrb5support.so.0 (krb5support_0_MIT) => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0
		libkeyutils.so.1 (KEYUTILS_1.0) => /lib/x86_64-linux-gnu/libkeyutils.so.1
		libkeyutils.so.1 (KEYUTILS_0.3) => /lib/x86_64-linux-gnu/libkeyutils.so.1
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.16) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libk5crypto.so.3:
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libkrb5support.so.0 (krb5support_0_MIT) => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0
	/lib/x86_64-linux-gnu/libcom_err.so.2:
		ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.17) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libkrb5support.so.0:
		libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
	/lib/x86_64-linux-gnu/libresolv.so.2:
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_PRIVATE) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libsasl2.so.2:
		libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.15) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libgssapi.so.3:
		libroken.so.18 (HEIMDAL_ROKEN_1.0) => /usr/lib/x86_64-linux-gnu/libroken.so.18
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.8) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libheimntlm.so.0 (HEIMDAL_NTLM_1.0) => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0
		libasn1.so.8 (HEIMDAL_ASN1_1.0) => /usr/lib/x86_64-linux-gnu/libasn1.so.8
		libhcrypto.so.4 (HEIMDAL_CRYPTO_1.0) => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libkrb5.so.26 (HEIMDAL_KRB5_2.0) => /usr/lib/x86_64-linux-gnu/libkrb5.so.26
	/usr/lib/x86_64-linux-gnu/libnssutil3.so:
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libplc4.so:
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libplds4.so:
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libffi.so.6:
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/lib/x86_64-linux-gnu/libkeyutils.so.1:
		libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libheimntlm.so.0:
		libroken.so.18 (HEIMDAL_ROKEN_1.0) => /usr/lib/x86_64-linux-gnu/libroken.so.18
		libkrb5.so.26 (HEIMDAL_KRB5_2.0) => /usr/lib/x86_64-linux-gnu/libkrb5.so.26
		libhcrypto.so.4 (HEIMDAL_CRYPTO_1.0) => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libkrb5.so.26:
		libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
		libcrypt.so.1 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libcrypt.so.1
		libhcrypto.so.4 (HEIMDAL_CRYPTO_1.0) => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4
		libwind.so.0 (HEIMDAL_WIND_1.0) => /usr/lib/x86_64-linux-gnu/libwind.so.0
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libpthread.so.0 (GLIBC_2.3.2) => /lib/x86_64-linux-gnu/libpthread.so.0
		libroken.so.18 (HEIMDAL_ROKEN_1.0) => /usr/lib/x86_64-linux-gnu/libroken.so.18
		libheimbase.so.1 (HEIMDAL_BASE_1.0) => /usr/lib/x86_64-linux-gnu/libheimbase.so.1
		libc.so.6 (GLIBC_2.15) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.8) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libasn1.so.8 (HEIMDAL_ASN1_1.0) => /usr/lib/x86_64-linux-gnu/libasn1.so.8
		libhx509.so.5 (HEIMDAL_X509_1.2) => /usr/lib/x86_64-linux-gnu/libhx509.so.5
	/usr/lib/x86_64-linux-gnu/libasn1.so.8:
		libroken.so.18 (HEIMDAL_ROKEN_1.0) => /usr/lib/x86_64-linux-gnu/libroken.so.18
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.8) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libhcrypto.so.4:
		libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
		libasn1.so.8 (HEIMDAL_ASN1_1.0) => /usr/lib/x86_64-linux-gnu/libasn1.so.8
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libroken.so.18 (HEIMDAL_ROKEN_1.0) => /usr/lib/x86_64-linux-gnu/libroken.so.18
		libc.so.6 (GLIBC_2.7) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libroken.so.18:
		libresolv.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libresolv.so.2
		libcrypt.so.1 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libcrypt.so.1
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.8) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.15) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libwind.so.0:
		libroken.so.18 (HEIMDAL_ROKEN_1.0) => /usr/lib/x86_64-linux-gnu/libroken.so.18
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libheimbase.so.1:
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.8) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
	/usr/lib/x86_64-linux-gnu/libhx509.so.5:
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
		libheimbase.so.1 (HEIMDAL_BASE_1.0) => /usr/lib/x86_64-linux-gnu/libheimbase.so.1
		libwind.so.0 (HEIMDAL_WIND_1.0) => /usr/lib/x86_64-linux-gnu/libwind.so.0
		libroken.so.18 (HEIMDAL_ROKEN_1.0) => /usr/lib/x86_64-linux-gnu/libroken.so.18
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.8) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
		libasn1.so.8 (HEIMDAL_ASN1_1.0) => /usr/lib/x86_64-linux-gnu/libasn1.so.8
		libhcrypto.so.4 (HEIMDAL_CRYPTO_1.0) => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4
	/usr/lib/x86_64-linux-gnu/libsqlite3.so.0:
		libdl.so.2 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libdl.so.2
		libpthread.so.0 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libpthread.so.0
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6
	/lib/x86_64-linux-gnu/libcrypt.so.1:
		libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_PRIVATE) => /lib/x86_64-linux-gnu/libc.so.6
		libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] Error when attempting to perform TLS NBD connection
  2016-04-06  9:22     ` Alex Bligh
@ 2016-04-06  9:27       ` Daniel P. Berrange
  0 siblings, 0 replies; 9+ messages in thread
From: Daniel P. Berrange @ 2016-04-06  9:27 UTC (permalink / raw)
  To: Alex Bligh; +Cc: qemu-devel@nongnu.org

On Wed, Apr 06, 2016 at 10:22:45AM +0100, Alex Bligh wrote:
> 
> On 6 Apr 2016, at 10:11, Daniel P. Berrange <berrange@redhat.com> wrote:
> 
> > Oh I'd be interested to know if the unit tests pass for you - can you
> > run this
> > 
> >  make ./tests/test-crypto-tlssession ./tests/test-crypto-tlscredsx509
> >  ./tests/test-crypto-tlscredsx509
> >  ./tests/test-crypto-tlssession
> 
> See below. They pass.
> 
> I suppose the only other slightly non-standard thing I'm doing is
> running qemu-img as "./qemu-img" without installing it, as I already
> have Ubuntu's default qemu package installed. This used to work fine
> and it doesn't seem to linked to any 'old qemu' libraries (and besides
> 'old qemu' had no TLS code). I've put the output of ldd -v below
> as well just in case.

Running without installing certainly works fine - that's how I test
stuff on a daily basis.  Also there should be no fundamental reason
why this cannot work on gnutls 2.x - the original code I derived
everything from work with 2.x and even 1.x. So just need to chase
down the bug...

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] Error when attempting to perform TLS NBD connection
  2016-04-05 20:01 [Qemu-devel] Error when attempting to perform TLS NBD connection Alex Bligh
  2016-04-06  9:09 ` Daniel P. Berrange
@ 2016-04-06 11:13 ` Daniel P. Berrange
  2016-04-06 11:40   ` Alex Bligh
  1 sibling, 1 reply; 9+ messages in thread
From: Daniel P. Berrange @ 2016-04-06 11:13 UTC (permalink / raw)
  To: Alex Bligh; +Cc: qemu-devel

On Tue, Apr 05, 2016 at 09:01:10PM +0100, Alex Bligh wrote:
> When I attempt to connect via TLS like this (using today's qemu master):
> 
>    ./qemu-img info --object tls-creds-x509,id=tls0,dir=../certs,endpoint=client --image-opts driver=nbd,host=127.0.0.1,port=6666,export=foo,tls-creds=tls0
> 
> (command line from Daniel over IRC)
> 
> I get the rather opaque error:
> 
>    qemu-img: Unable to initialize certificate
> 
> and with the patch I sent through I get the not much less opaque error:
> 
>    qemu-img: Unable to initialize certificate: ASN1 parser: Element was not found.
> 
> gdb indicates this is crypto/tlscredsx509.c:399 where gnutls_x509_crt_init(&cert) fails.


So the problem turned out to be that the qemu-img program failed to
call qcrypto_init(), so gnutls had not had its one-time initialization
performed. This doesn't matter for gnutls 3.x but does for anything
older than that. I just copied you on a patch to fix this.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] Error when attempting to perform TLS NBD connection
  2016-04-06 11:13 ` Daniel P. Berrange
@ 2016-04-06 11:40   ` Alex Bligh
  2016-04-06 12:18     ` Daniel P. Berrange
  0 siblings, 1 reply; 9+ messages in thread
From: Alex Bligh @ 2016-04-06 11:40 UTC (permalink / raw)
  To: Daniel P. Berrange; +Cc: qemu-devel@nongnu.org, Alex Bligh

Daniel,

On 6 Apr 2016, at 12:13, Daniel P. Berrange <berrange@redhat.com> wrote:

> So the problem turned out to be that the qemu-img program failed to
> call qcrypto_init(), so gnutls had not had its one-time initialization
> performed. This doesn't matter for gnutls 3.x but does for anything
> older than that. I just copied you on a patch to fix this.

Thanks. I can confirm that fixes it at least up until the point
it loads certificates. I will add Reviewed-By: and Tested-By: tags.

Can I suggest this might be suitable for qemu-stable as it's clearly
a bug fix?

-- 
Alex Bligh

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] Error when attempting to perform TLS NBD connection
  2016-04-06 11:40   ` Alex Bligh
@ 2016-04-06 12:18     ` Daniel P. Berrange
  0 siblings, 0 replies; 9+ messages in thread
From: Daniel P. Berrange @ 2016-04-06 12:18 UTC (permalink / raw)
  To: Alex Bligh; +Cc: qemu-devel@nongnu.org

On Wed, Apr 06, 2016 at 12:40:44PM +0100, Alex Bligh wrote:
> Daniel,
> 
> On 6 Apr 2016, at 12:13, Daniel P. Berrange <berrange@redhat.com> wrote:
> 
> > So the problem turned out to be that the qemu-img program failed to
> > call qcrypto_init(), so gnutls had not had its one-time initialization
> > performed. This doesn't matter for gnutls 3.x but does for anything
> > older than that. I just copied you on a patch to fix this.
> 
> Thanks. I can confirm that fixes it at least up until the point
> it loads certificates. I will add Reviewed-By: and Tested-By: tags.
> 
> Can I suggest this might be suitable for qemu-stable as it's clearly
> a bug fix?

Only git master should be  affected by this, since the use of TLS by the
block layer is a new feature in 2.6 development.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-04-06 12:19 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-05 20:01 [Qemu-devel] Error when attempting to perform TLS NBD connection Alex Bligh
2016-04-06  9:09 ` Daniel P. Berrange
2016-04-06  9:11   ` Daniel P. Berrange
2016-04-06  9:22     ` Alex Bligh
2016-04-06  9:27       ` Daniel P. Berrange
2016-04-06  9:17   ` Alex Bligh
2016-04-06 11:13 ` Daniel P. Berrange
2016-04-06 11:40   ` Alex Bligh
2016-04-06 12:18     ` Daniel P. Berrange

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).