Example #1
0
 def __init__(self, principal, **kwargs):
     with tempfile.NamedTemporaryFile() as fd:
         keytab_filename = fd.name
     add_principal_to_keytab(principal, keytab_filename)
     # noinspection PyTypeChecker
     with open(keytab_filename, 'rb') as fd:
         keytab_content = bytes(fd.read())
     os.remove(keytab_filename)
     super(KeytabResponse, self).__init__(content=keytab_content, content_type='application/keytab', **kwargs)
Example #2
0
 def __init__(self, principal, **kwargs):
     with tempfile.NamedTemporaryFile() as fd:
         keytab_filename = fd.name
     add_principal_to_keytab(principal, keytab_filename)
     # noinspection PyTypeChecker
     with open(keytab_filename, 'rb') as fd:
         keytab_content = bytes(fd.read())
     os.remove(keytab_filename)
     super(KeytabResponse, self).__init__(content=keytab_content,
                                          content_type='application/keytab',
                                          **kwargs)
Example #3
0
 def handle(self, *args, **options):
     name = '%s@%s' % (options['principal'], settings.PENATES_REALM)
     add_principal(name)
     keytab_filename = options['keytab']
     if not keytab_filename:
         return
     try:
         exists = os.path.exists(keytab_filename)
         with open(keytab_filename, 'ab') as fd:
             fd.write(b'')
         if not exists:
             os.remove(keytab_filename)
         elif keytab_has_principal(name, keytab_filename):
             return
     except OSError as e:
         self.stdout.write(self.style.ERROR('Unable to write file: %s' % keytab_filename))
         raise e
     except ValueError as e:
         self.stdout.write(self.style.ERROR('Invalid keytab file %s' % keytab_filename))
         raise e
     add_principal_to_keytab(name, keytab_filename)
Example #4
0
 def handle(self, *args, **options):
     name = '%s@%s' % (options['principal'], settings.PENATES_REALM)
     add_principal(name)
     keytab_filename = options['keytab']
     if not keytab_filename:
         return
     try:
         exists = os.path.exists(keytab_filename)
         with open(keytab_filename, 'ab') as fd:
             fd.write(b'')
         if not exists:
             os.remove(keytab_filename)
         elif keytab_has_principal(name, keytab_filename):
             return
     except OSError as e:
         self.stdout.write(
             self.style.ERROR('Unable to write file: %s' % keytab_filename))
         raise e
     except ValueError as e:
         self.stdout.write(
             self.style.ERROR('Invalid keytab file %s' % keytab_filename))
         raise e
     add_principal_to_keytab(name, keytab_filename)