py3: service.py: replace mkstemp by NamedTemporaryFile

NamedTemporaryfile can be used in more pythonic way and file can be
opened in textual mode that is required with PY3

https://fedorahosted.org/freeipa/ticket/4985

Reviewed-By: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
This commit is contained in:
Martin Basti 2017-01-10 13:45:11 +01:00
parent 23239bccc1
commit e064109277
2 changed files with 5 additions and 4 deletions

View File

@ -852,7 +852,7 @@ def ipa_generate_password(entropy_bits=256, uppercase=1, lowercase=1, digits=1,
rnd = random.SystemRandom()
todo_entropy = entropy_bits
password = ''
password = u''
# Generate required character classes:
# The order of generated characters is fixed to comply with check in
# NSS function sftk_newPinCheck() in nss/lib/softoken/fipstokn.c.

View File

@ -208,9 +208,10 @@ class Service(object):
args += ["-H", ldap_uri]
if dm_password:
[pw_fd, pw_name] = tempfile.mkstemp()
os.write(pw_fd, dm_password)
os.close(pw_fd)
with tempfile.NamedTemporaryFile(
mode='w', delete=False) as pw_file:
pw_file.write(dm_password)
pw_name = pw_file.name
auth_parms = ["-x", "-D", "cn=Directory Manager", "-y", pw_name]
# Use GSSAPI auth when not using DM password or not being root
elif os.getegid() != 0: