[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#901331: marked as done (stretch-pu: package ganeti/2.15.2-7+deb9u2)



Your message dated Sat, 14 Jul 2018 11:21:20 +0100
with message-id <1531563680.2095.30.camel@adam-barratt.org.uk>
and subject line Closing bugs for updates included in 9.5
has caused the Debian Bug report #901331,
regarding stretch-pu: package ganeti/2.15.2-7+deb9u2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
901331: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=901331
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian.org@packages.debian.org
Usertags: pu

Dear SRMs,

I would like to update ganeti in Stretch to resolve #895599, whereby 
ganeti fails to "export" (aka dump) VMs because of an SSL verification 
error. The bug is fixed by cherry-picking an upstream commit, already 
included in 2.16 which is in unstable.

Full source debdiff attached.

Regards,
Apollon
diff -Nru ganeti-2.15.2/debian/changelog ganeti-2.15.2/debian/changelog
--- ganeti-2.15.2/debian/changelog	2017-10-03 17:31:05.000000000 +0300
+++ ganeti-2.15.2/debian/changelog	2018-06-11 17:42:10.000000000 +0300
@@ -1,3 +1,9 @@
+ganeti (2.15.2-7+deb9u2) stretch; urgency=medium
+
+  * Properly verify SSL certificates during VM export (Closes: #895599)
+
+ -- Apollon Oikonomopoulos <apoikos@debian.org>  Mon, 11 Jun 2018 17:42:10 +0300
+
 ganeti (2.15.2-7+deb9u1) stretch; urgency=medium
 
   * Depend on lsb-base (>= 3.0.6) for init-functions.
diff -Nru ganeti-2.15.2/debian/patches/impexpd-fix-certificate-verification-with-new-socat.patch ganeti-2.15.2/debian/patches/impexpd-fix-certificate-verification-with-new-socat.patch
--- ganeti-2.15.2/debian/patches/impexpd-fix-certificate-verification-with-new-socat.patch	1970-01-01 02:00:00.000000000 +0200
+++ ganeti-2.15.2/debian/patches/impexpd-fix-certificate-verification-with-new-socat.patch	2018-06-11 17:42:10.000000000 +0300
@@ -0,0 +1,55 @@
+From 7bb03511f6b13f83cc7cbc5fe6a30bd46105b0bd Mon Sep 17 00:00:00 2001
+From: Apollon Oikonomopoulos <apoikos@debian.org>
+Date: Wed, 20 Dec 2017 12:57:12 +0200
+Subject: [PATCH] impexpd: fix certificate verification with new socat versions
+
+Socat versions after 1.7.3 verify the server certificate's subject
+against either the hostname, or the openssl-commonname option. Since
+ganeti uses 'ganeti.example.com' for all self-signed certs, certificate
+verification will fail, as socat will be told to connect to the node
+using its proper name.
+
+Fix this by passing the openssl-commonname option. Since this option is
+only available on newer socat versions and older socat versions will
+break when passed the unknown option, we need to parse `socat -V` output
+to check if we need to specify the option or not.
+
+This fixes #1226.
+
+Signed-off-by: Apollon Oikonomopoulos <apoikos@debian.org>
+---
+ lib/impexpd/__init__.py | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+diff --git a/lib/impexpd/__init__.py b/lib/impexpd/__init__.py
+index 97a9716cc..850bdb987 100644
+--- a/lib/impexpd/__init__.py
++++ b/lib/impexpd/__init__.py
+@@ -197,6 +197,24 @@ class CommandBuilder(object):
+         "intervall=1",
+         ] + common_addr_opts
+ 
++      # For socat versions >= 1.7.3, we need to also specify
++      # openssl-commonname, otherwise server certificate verification will
++      # fail.
++      socat = utils.RunCmd([SOCAT_PATH, "-V"])
++      # No need to check for errors here. If -V is not there, socat is really
++      # old. Any other failure will be handled when running the actual socat
++      # command.
++      for line in socat.output.splitlines():
++        match = re.match(r"socat version ((\d+\.)*(\d+))", line)
++        if match:
++          try:
++            version = tuple(int(x) for x in m.group(1).split('.'))
++            if version >= (1, 7, 3):
++              addr2 += ["openssl-commonname=%s" % constants.X509_CERT_CN]
++          except TypeError:
++            pass
++          break
++
+     else:
+       raise errors.GenericError("Invalid mode '%s'" % self._mode)
+ 
+-- 
+2.17.1
+
diff -Nru ganeti-2.15.2/debian/patches/series ganeti-2.15.2/debian/patches/series
--- ganeti-2.15.2/debian/patches/series	2017-10-03 14:09:55.000000000 +0300
+++ ganeti-2.15.2/debian/patches/series	2018-06-11 17:42:10.000000000 +0300
@@ -16,3 +16,4 @@
 use-hv-class-to-check-for-migration.patch
 do-not-specify-socat-ssl-method.patch
 fix-failover-from-dead-node.patch
+impexpd-fix-certificate-verification-with-new-socat.patch

--- End Message ---
--- Begin Message ---
Version: 9.5

Hi,

The update referenced by each of these bugs was included in this
morning's stretch point release.

Regards,

Adam

--- End Message ---

Reply to: