Control: tags 988998 + pending

Dear maintainer,

I've prepared an NMU for lava (versioned as 2020.12-4.1) and
uploaded it to DELAYED/5. Please feel free to tell me if I
should delay it longer.

Regards,

SR
diff -Nru lava-2020.12/debian/changelog lava-2020.12/debian/changelog
--- lava-2020.12/debian/changelog	2021-05-12 09:34:00.000000000 -0400
+++ lava-2020.12/debian/changelog	2021-05-23 11:34:54.000000000 -0400
@@ -1,3 +1,11 @@
+lava (2020.12-4.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Patch: Support pyyaml's security patch in 5.3.1-4 (from 5.4 upstream).
+    (Closes: #988998)
+
+ -- Stefano Rivera <stefa...@debian.org>  Sun, 23 May 2021 11:34:54 -0400
+
 lava (2020.12-4) unstable; urgency=medium
 
   * Reinstate /etc/logrotate.d/lava-scheduler-log with the original contents
diff -Nru lava-2020.12/debian/patches/0002-Add-yaml_unsafe_load.patch lava-2020.12/debian/patches/0002-Add-yaml_unsafe_load.patch
--- lava-2020.12/debian/patches/0002-Add-yaml_unsafe_load.patch	1969-12-31 20:00:00.000000000 -0400
+++ lava-2020.12/debian/patches/0002-Add-yaml_unsafe_load.patch	2021-05-23 11:34:51.000000000 -0400
@@ -0,0 +1,90 @@
+From f09a08701539cf022f7507e376f26d2a3229a607 Mon Sep 17 00:00:00 2001
+From: Marc Deslauriers <marc.deslauri...@ubuntu.com>
+Date: Sun, 23 May 2021 11:18:22 -0400
+Subject: [PATCH] Add yaml_unsafe_load
+
+And use it in test as some constructiors were removed in pyyaml security update
+
+Bug-Debian: https://bugs.debian.org/988998
+Forwarded: https://git.lavasoftware.org/lava/lava/-/issues/488
+
+---
+ lava_common/compat.py                     | 9 +++++++++
+ tests/lava_dispatcher/test_multinode.py   | 4 ++--
+ tests/lava_scheduler_app/test_pipeline.py | 4 ++--
+ 3 files changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/lava_common/compat.py b/lava_common/compat.py
+index dd35282fc..c8c981701 100644
+--- a/lava_common/compat.py
++++ b/lava_common/compat.py
+@@ -45,6 +45,10 @@ try:
+     from yaml import CSafeLoader as SafeLoader
+ except ImportError:
+     from yaml import SafeLoader
++try:
++    from yaml import CUnsafeLoader as UnsafeLoader
++except ImportError:
++    from yaml import UnsafeLoader
+ try:
+     from yaml import CSafeDumper as SafeDumper
+ except ImportError:
+@@ -65,6 +69,11 @@ def yaml_safe_load(data):
+     return yaml.load(data, Loader=SafeLoader)
+ 
+ 
++# handle compatibility for yaml.unsafe_load
++def yaml_unsafe_load(data):
++    return yaml.load(data, Loader=UnsafeLoader)
++
++
+ # handle compatibility for yaml.dump
+ def yaml_dump(data, *args, **kwargs):
+     return yaml.dump(data, *args, Dumper=Dumper, **kwargs)
+diff --git a/tests/lava_dispatcher/test_multinode.py b/tests/lava_dispatcher/test_multinode.py
+index fee427cdd..e7a96b117 100644
+--- a/tests/lava_dispatcher/test_multinode.py
++++ b/tests/lava_dispatcher/test_multinode.py
+@@ -23,7 +23,7 @@ import os
+ import uuid
+ import json
+ 
+-from lava_common.compat import yaml_dump, yaml_load
++from lava_common.compat import yaml_dump, yaml_unsafe_load
+ from lava_common.constants import LAVA_MULTINODE_SYSTEM_TIMEOUT
+ from lava_common.timeout import Timeout
+ from lava_common.exceptions import TestError, JobError, InfrastructureError
+@@ -283,7 +283,7 @@ class TestMultinode(StdoutTestCase):
+         for action in self.client_job.pipeline.actions:
+             data = action.explode()
+             data_str = yaml_dump(data)
+-            yaml_load(data_str)  # nosec not suitable for safe_load
++            yaml_unsafe_load(data_str)  # nosec not suitable for safe_load
+ 
+     def test_multinode_timeout(self):
+         """
+diff --git a/tests/lava_scheduler_app/test_pipeline.py b/tests/lava_scheduler_app/test_pipeline.py
+index 1f58dfba5..3cc058dfa 100644
+--- a/tests/lava_scheduler_app/test_pipeline.py
++++ b/tests/lava_scheduler_app/test_pipeline.py
+@@ -26,7 +26,7 @@ from lava_scheduler_app.schema import (
+     SubmissionException,
+ )
+ 
+-from lava_common.compat import yaml_load
++from lava_common.compat import yaml_unsafe_load
+ from lava_dispatcher.device import PipelineDevice
+ from lava_dispatcher.parser import JobParser
+ from tests.lava_dispatcher.test_defs import check_missing_path
+@@ -1127,7 +1127,7 @@ class TestYamlMultinode(TestCaseWithFactory):
+             meta_dict,
+         )
+         # simulate dynamic connection
+-        dynamic = yaml_load(  # nosec - not suitable for safe_load
++        dynamic = yaml_unsafe_load(  # nosec - not suitable for safe_load
+             open(
+                 os.path.join(
+                     os.path.dirname(__file__),
+-- 
+2.30.2
+
diff -Nru lava-2020.12/debian/patches/series lava-2020.12/debian/patches/series
--- lava-2020.12/debian/patches/series	2021-05-12 09:34:00.000000000 -0400
+++ lava-2020.12/debian/patches/series	2021-05-23 11:34:10.000000000 -0400
@@ -1 +1,2 @@
 0001-lava_rest_app-fix-field-name-in-filters.patch
+0002-Add-yaml_unsafe_load.patch

Reply via email to