Lines Matching refs:self

31     def __init__(self, basedir, realm,
36 self.basedir = basedir
37 self.realm = realm
38 self.kdc_port = kdc_port
39 self.kadmin_port = kadmin_port
40 self.master_key = master_key
42 self.kdc_basedir = self.basedir + "/var/krb5kdc"
43 self.includedir = includedir or (self.kdc_basedir + "/include")
44 self.kdc_logdir = self.kdc_basedir + "/log"
45 self.kdc_conf_path = self.kdc_basedir + "/kdc.conf"
46 self.krb5_conf_path = self.kdc_basedir + "/krb5.conf"
48 self.kdc_pid_file = self.kdc_basedir + "/kdc.pid"
50 self.acl_file = self.kdc_basedir + "/kadm5.acl"
52 self.admin_princ = "admin/admin@" + self.realm
54 def start_kdc(self, extra_args=[]):
55 args = ["krb5kdc", '-P', self.kdc_pid_file] + extra_args
56 return self._run_in_env(args, self.get_krb5_env())
58 def stop_kdc(self):
60 with open(self.kdc_pid_file, "r") as pid_file:
68 def teardown(self):
69 self.stop_kdc()
70 shutil.rmtree(self.kdc_basedir)
72 def set_up(self):
73 self._create_config()
74 self._create_acl()
75 self._create_kdb()
77 def get_krb5_env(self):
79 my_env['KRB5_CONFIG'] = self.krb5_conf_path
80 my_env['KRB5_KDC_PROFILE'] = self.kdc_conf_path
83 def add_config(self, include_files):
85 include_fpath = os.path.join(self.includedir, name)
89 def add_principal(self, princ, password=None):
95 return self._run_in_env(args, self.get_krb5_env())
97 def _run_in_env(self, args, env):
102 def _create_config(self):
104 os.makedirs(self.kdc_basedir)
105 os.makedirs(self.kdc_logdir)
106 os.makedirs(self.includedir)
111 kdc_conf = self._format_kdc_conf()
112 with open(self.kdc_conf_path, 'w') as kdc_conf_file:
115 krb5_conf = self._format_krb5_conf()
116 with open(self.krb5_conf_path, 'w') as krb5_conf_file:
119 def _create_acl(self):
120 with open(self.acl_file, 'w') as acl_fobject:
121 acl_fobject.write(self.admin_princ)
123 def _create_kdb(self):
124 self._run_in_env(
125 ['kdb5_util', 'create', '-W', '-s', '-P', self.master_key],
126 self.get_krb5_env()
129 def _format_kdc_conf(self):
130 database_path = self.kdc_basedir + "/principal"
131 key_stash = self.kdc_basedir + "/stash." + self.realm
133 kdc_logfile = "FILE:" + self.kdc_logdir + "/krb5kdc.log"
134 kadmin_logfile = "FILE:" + self.kdc_logdir + "/kadmin.log"
135 libkrb5_logfile = "FILE:" + self.kdc_logdir + "/libkrb5.log"
139 kdc_ports = {self.kdc_port}
140 kdc_tcp_ports = {self.kdc_port}
143 {self.realm} = {{
144 kadmind_port = {self.kadmin_port}
147 acl_file = {self.acl_file}
157 def _format_krb5_conf(self):
158 kdc_uri = "localhost:%d" % self.kdc_port
159 kadmin_uri = "localhost:%d" % self.kadmin_port
162 includedir {self.includedir}
165 default_realm = {self.realm}
170 {self.realm} = {{