commit 6c155a633bf5e9986304b1ca009a4716846e66f9
Author: Pierre-Elliott Bécue <becue@crans.org>
Date:   Sat Jan 8 16:48:47 2022 +0100

    Use Loader=SafeLoader for each yaml.load() call
    
    Closes issue #15

diff --git a/policyd_rate_limit/tests/test_daemon.py b/policyd_rate_limit/tests/test_daemon.py
index 095c2da..f13b445 100644
--- a/policyd_rate_limit/tests/test_daemon.py
+++ b/policyd_rate_limit/tests/test_daemon.py
@@ -41,12 +41,12 @@ class DaemonTestCase(TestCase):
             self.base_test(cfg)
 
     def test_main_afinet_socket(self):
-        self.base_config["SOCKET"] = ("127.0.0.1", 27184)
+        self.base_config["SOCKET"] = ["127.0.0.1", 27184]
         with test_utils.lauch(self.base_config) as cfg:
             self.base_test(cfg)
 
     def test_main_afinet6_socket(self):
-        self.base_config["SOCKET"] = ("::1", 27184)
+        self.base_config["SOCKET"] = ["::1", 27184]
         with test_utils.lauch(self.base_config) as cfg:
             self.base_test(cfg)
 
@@ -174,10 +174,10 @@ class DaemonTestCase(TestCase):
                 pass
 
     def test_bad_socket_bind_address(self):
-        self.base_config["SOCKET"] = ("toto", 1234)
+        self.base_config["SOCKET"] = ["toto", 1234]
         with test_utils.lauch(self.base_config, get_process=True, no_wait=True) as p:
             self.assertEqual(p.wait(), 4)
-        self.base_config["SOCKET"] = ("192.168::1", 1234)
+        self.base_config["SOCKET"] = ["192.168::1", 1234]
         with test_utils.lauch(self.base_config, get_process=True, no_wait=True) as p:
             self.assertEqual(p.wait(), 6)
 
diff --git a/policyd_rate_limit/tests/utils.py b/policyd_rate_limit/tests/utils.py
index d6c1879..0961b11 100644
--- a/policyd_rate_limit/tests/utils.py
+++ b/policyd_rate_limit/tests/utils.py
@@ -58,6 +58,8 @@ def postfix_request(sasl_username="", client_address="127.0.0.1", protocol_state
 
 @contextmanager
 def sock(addr):
+    if isinstance(addr, list):
+        addr = tuple(addr)
     if isinstance(addr, str):
         s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
     elif '.' in addr[0]:
@@ -92,7 +94,7 @@ def gen_config(new_config):
         os.path.join(os.path.dirname(__file__), '..', 'policyd-rate-limit.yaml')
     )
     with open(default_config) as f:
-        config = yaml.load(f)
+        config = yaml.load(f, Loader=yaml.SafeLoader)
     config.update(new_config)
     cfg_path = tempfile.mktemp('.yaml')
     with open(cfg_path, 'w') as f:
@@ -156,7 +158,7 @@ def lauch(new_config, get_process=False, options=None, no_coverage=False, no_wai
     try:
         if cfg_path:
             with open(cfg_path) as f:
-                cfg = yaml.load(f)
+                cfg = yaml.load(f, Loader=yaml.SafeLoader)
             if not no_wait:
                 time.sleep(0.01)
                 for i in range(100):
diff --git a/policyd_rate_limit/utils.py b/policyd_rate_limit/utils.py
index afb7eb9..91b75a5 100644
--- a/policyd_rate_limit/utils.py
+++ b/policyd_rate_limit/utils.py
@@ -85,7 +85,7 @@ class Config(object):
                     # new config file use yaml
                     else:
                         with open(config_file) as f:
-                            self._config = yaml.load(f)
+                            self._config = yaml.load(f, Loader=yaml.SafeLoader)
                     self.config_file = config_file
                     break
                 except PermissionError:
