46 lines
1.3 KiB
Diff
46 lines
1.3 KiB
Diff
Avoid corrupting umask permanently in the testdir because of fail2ban/server/server.py::start.
|
|
|
|
In particular:
|
|
* https://bugs.gentoo.org/659010#c11
|
|
* https://bugs.gentoo.org/790251#c10
|
|
* https://bugs.gentoo.org/907350
|
|
|
|
But see also the many dupes.
|
|
--- a/fail2ban/tests/fail2banclienttestcase.py
|
|
+++ b/fail2ban/tests/fail2banclienttestcase.py
|
|
@@ -23,6 +23,7 @@ __author__ = "Serg Brester"
|
|
__copyright__ = "Copyright (c) 2014- Serg G. Brester (sebres), 2008- Fail2Ban Contributors"
|
|
__license__ = "GPL"
|
|
|
|
+import atexit
|
|
import fileinput
|
|
import os
|
|
import re
|
|
@@ -40,6 +41,14 @@ from ..client.fail2bancmdline import Fail2banCmdLine
|
|
from ..client.fail2banclient import exec_command_line as _exec_client, CSocket, VisualWait
|
|
from ..client.fail2banserver import Fail2banServer, exec_command_line as _exec_server
|
|
from .. import protocol
|
|
+
|
|
+def current_umask():
|
|
+ tmp = os.umask(0o022)
|
|
+ os.umask(tmp)
|
|
+ return tmp
|
|
+
|
|
+old_umask = current_umask()
|
|
+
|
|
from ..server import server
|
|
from ..server.mytime import MyTime
|
|
from ..server.utils import Utils
|
|
@@ -48,6 +57,11 @@ from .utils import LogCaptureTestCase, logSys as DefLogSys, with_tmpdir, shutil,
|
|
|
|
from ..helpers import getLogger
|
|
|
|
+def restore_umask():
|
|
+ os.umask(old_umask)
|
|
+
|
|
+atexit.register(restore_umask)
|
|
+
|
|
# Gets the instance of the logger.
|
|
logSys = getLogger(__name__)
|
|
|