Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o
Cc: Zac Medico <zmedico@g.o>
Subject: [gentoo-portage-dev] [PATCH] socks5: use ${PORTAGE_TMPDIR}/portage (bug 683040)
Date: Thu, 11 Apr 2019 03:14:17
Message-Id: 20190411031403.18251-1-zmedico@gentoo.org
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