Package: mumble Version: 1.2.3-2 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu precise ubuntu-patch
*** /tmp/tmp4vG35i/bug_body In Ubuntu, the attached patch was applied to achieve the following: When compiling with QT 4.8, mumble can no longer validate server certificates. This patch works around the issue. * debian/patches/0003-fix-cert-validation.patch: Fix certificate validation with QT 4.8. For some reason, the new on-demand root cert loading is not working with mumble. (LP: #928296) Thanks for considering the patch. -- System Information: Debian Release: wheezy/sid APT prefers precise-updates APT policy: (500, 'precise-updates'), (500, 'precise-security'), (500, 'precise-proposed'), (500, 'precise') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-12-generic (SMP w/4 CPU cores) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
diff -Nru mumble-1.2.3/debian/changelog mumble-1.2.3/debian/changelog diff -Nru mumble-1.2.3/debian/patches/0003-fix-cert-validation.patch mumble-1.2.3/debian/patches/0003-fix-cert-validation.patch --- mumble-1.2.3/debian/patches/0003-fix-cert-validation.patch 1969-12-31 19:00:00.000000000 -0500 +++ mumble-1.2.3/debian/patches/0003-fix-cert-validation.patch 2012-02-07 10:24:56.000000000 -0500 @@ -0,0 +1,21 @@ +Description: Fix certificate validation with QT 4.8. For some reason, the + new on-demand root cert loading is not working with mumble. +Author: Marc Deslauriers <marc.deslauri...@canonical.com> +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mumble/+bug/928296 + +Index: mumble-1.2.3/src/SSL.cpp +=================================================================== +--- mumble-1.2.3.orig/src/SSL.cpp 2012-02-07 09:53:41.766241152 -0500 ++++ mumble-1.2.3/src/SSL.cpp 2012-02-07 10:18:37.902226883 -0500 +@@ -252,6 +252,11 @@ + QSslSocket::setDefaultCaCertificates(ql); + #endif // NO_SYSTEM_CA_OVERRIDE + ++#if QT_VERSION >= 0x040800 ++ // Don't perform on-demand loading of root certificates ++ QSslSocket::setDefaultCaCertificates(QSslSocket::systemCaCertificates()); ++#endif ++ + for (unsigned int i=0;i<sizeof(recommended_cas)/sizeof(recommended_cas[0]);++i) { + QSslCertificate cert(recommended_cas[i]); + if (! QSslSocket::defaultCaCertificates().contains(cert)) {