Package: mumble
Version: 1.2.10-2+b1
Severity: grave
Justification: renders package unusable

Dear Maintainer,

Since last upgrade (the rebuild, +b1, oddly enough) Mumble aborts
trying to connect to any server:

> OpenSSL Support: 1 (OpenSSL 1.0.2d 9 Jul 2015)
> MumbleSSL: unable to allocate SSL_CTX
> Invalid 'net/sslciphers' config option. Either the cipher string is invalid 
> or none of the ciphers are available:: "EECDH+AESGCM:AES256-SHA:AES128-SHA"
> Abandon

I do not have altered the net/sslciphers option, and ciphers look fine:

> $ openssl ciphers "EECDH+AESGCM:AES256-SHA:AES128-SHA"
> ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:AES256-SHA:AES128-SHA

Anyway, after digging a lot, it appears that Mumble forgets to call
`SSL_library_init()` [1].  Injecting such a call early in the run fixes
the issue:

> $ gdb mumble
> GNU gdb (Debian 7.10-1) 7.10
> [...snip...]
> Reading symbols from mumble...Reading symbols from 
> /usr/lib/debug/.build-id/d7/713cd5f7d3cbaaa65bcdbe9bb1cc45b6478eb1.debug...done.
> done.
> (gdb) break main
> Breakpoint 1 at 0x43eda0: file main.cpp, line 136.
> (gdb) run
> Starting program: /usr/bin/mumble 
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
> 
> Breakpoint 1, main (argc=1, argv=0x7fffffffe028) at main.cpp:136
> 136   main.cpp: No such file or directory.
> (gdb) call SSL_library_init()
> $1 = 1
> (gdb) continue 
> Continuing.
> [...snip...]
> OpenSSL Support: 1 (OpenSSL 1.0.2d 9 Jul 2015)
> ServerHandler: TLS cipher preference is 
> "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:AES256-SHA:AES128-SHA"

And everything seem to work fine.

Without this, not only Mumble aborts trying to connect to servers, but
it also fails to check and generate user certificates.  This throws the
existing user certificate away on each startup, losing some
unreproducible and potentially important data.

So, please fix the code to properly init LibSSL as required -- or
whatever the proper fix is.

Regards,
Colomban


[1] https://wiki.openssl.org/index.php/SSL/TLS_Client#Initialization

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.2.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages mumble depends on:
ii  libasound2                 1.0.29-1
ii  libavahi-client3           0.6.32~rc+dfsg-1
ii  libavahi-common3           0.6.32~rc+dfsg-1
ii  libavahi-compat-libdnssd1  0.6.32~rc+dfsg-1
ii  libc6                      2.19-22
ii  libg15daemon-client1       1.9.5.3-8.3
ii  libgcc1                    1:5.2.1-23
ii  libopus0                   1.1-2
ii  libprotobuf9v5             2.6.1-1.3
ii  libpulse0                  7.1-2
ii  libqt4-dbus                4:4.8.7+dfsg-3
ii  libqt4-network             4:4.8.7+dfsg-3
ii  libqt4-sql                 4:4.8.7+dfsg-3
ii  libqt4-sql-sqlite          4:4.8.7+dfsg-3
ii  libqt4-svg                 4:4.8.7+dfsg-3
ii  libqt4-xml                 4:4.8.7+dfsg-3
ii  libqtcore4                 4:4.8.7+dfsg-3
ii  libqtgui4                  4:4.8.7+dfsg-3
ii  libsndfile1                1.0.25-9.1
ii  libspeechd2                0.8-7
ii  libspeex1                  1.2~rc1.2-1
ii  libspeexdsp1               1.2~rc1.2-1
ii  libssl1.0.2                1.0.2d-3
ii  libstdc++6                 5.2.1-23
ii  libx11-6                   2:1.6.3-1
ii  libxi6                     2:1.7.5-1
ii  lsb-release                9.20150917

mumble recommends no packages.

Versions of packages mumble suggests:
pn  mumble-server      <none>
ii  speech-dispatcher  0.8-7

-- no debconf information

Reply via email to