1 |
Write temporary socket files in ${PORTAGE_TMPDIR}/portage, |
2 |
since writing files directly in ${PORTAGE_TMPDIR} is generally |
3 |
unexpected. |
4 |
|
5 |
Bug: https://bugs.gentoo.org/683040 |
6 |
Signed-off-by: Zac Medico <zmedico@g.o> |
7 |
--- |
8 |
lib/portage/util/socks5.py | 10 +++++++++- |
9 |
1 file changed, 9 insertions(+), 1 deletion(-) |
10 |
|
11 |
diff --git a/lib/portage/util/socks5.py b/lib/portage/util/socks5.py |
12 |
index 59e6699ec..86bb24f25 100644 |
13 |
--- a/lib/portage/util/socks5.py |
14 |
+++ b/lib/portage/util/socks5.py |
15 |
@@ -38,7 +38,15 @@ class ProxyManager(object): |
16 |
except ImportError: |
17 |
raise NotImplementedError('SOCKSv5 proxy requires asyncio module') |
18 |
|
19 |
- self.socket_path = os.path.join(settings['PORTAGE_TMPDIR'], |
20 |
+ tmpdir = os.path.join(settings['PORTAGE_TMPDIR'], 'portage') |
21 |
+ ensure_dirs_kwargs = {} |
22 |
+ if portage.secpass >= 1: |
23 |
+ ensure_dirs_kwargs['gid'] = portage_gid |
24 |
+ ensure_dirs_kwargs['mode'] = 0o70 |
25 |
+ ensure_dirs_kwargs['mask'] = 0 |
26 |
+ portage.util.ensure_dirs(tmpdir, **ensure_dirs_kwargs) |
27 |
+ |
28 |
+ self.socket_path = os.path.join(tmpdir, |
29 |
'.portage.%d.net.sock' % os.getpid()) |
30 |
server_bin = os.path.join(settings['PORTAGE_BIN_PATH'], 'socks5-server.py') |
31 |
spawn_kwargs = {} |
32 |
-- |
33 |
2.21.0 |