summaryrefslogtreecommitdiffstats
path: root/ipa-python
diff options
context:
space:
mode:
authorKarl MacMillan <kmacmill@redhat.com>2007-11-21 23:28:25 -0500
committerKarl MacMillan <kmacmill@redhat.com>2007-11-21 23:28:25 -0500
commitedc7af1446af451ea5ed44420cceb05059a7b973 (patch)
treec8ef012239d7ed5f9cce0190d7f071b871e3d070 /ipa-python
parent9038bf71dd76d845746e0ea3e94bca9f52f60c03 (diff)
downloadfreeipa-edc7af1446af451ea5ed44420cceb05059a7b973.tar.gz
freeipa-edc7af1446af451ea5ed44420cceb05059a7b973.tar.xz
freeipa-edc7af1446af451ea5ed44420cceb05059a7b973.zip
Add xml-rpc interface for getting keytabs.
Warning: this lacks any sort of authorization.
Diffstat (limited to 'ipa-python')
-rw-r--r--ipa-python/ipaclient.py7
-rw-r--r--ipa-python/rpcclient.py24
2 files changed, 31 insertions, 0 deletions
diff --git a/ipa-python/ipaclient.py b/ipa-python/ipaclient.py
index cda8ceb9..c551f043 100644
--- a/ipa-python/ipaclient.py
+++ b/ipa-python/ipaclient.py
@@ -381,3 +381,10 @@ class IPAClient:
"""
result = self.transport.update_password_policy(policy.origDataDict(), policy.toDict())
return result
+
+ def add_service_principal(self, princ_name):
+ return self.transport.add_service_principal(princ_name)
+
+ def get_keytab(self, princ_name):
+ return self.transport.get_keytab(princ_name)
+
diff --git a/ipa-python/rpcclient.py b/ipa-python/rpcclient.py
index d4c3dcc8..d7ff9740 100644
--- a/ipa-python/rpcclient.py
+++ b/ipa-python/rpcclient.py
@@ -690,3 +690,27 @@ class RPCClient:
raise xmlrpclib.Fault(value, msg)
return ipautil.unwrap_binary_data(result)
+
+ def add_service_principal(self, princ_name):
+ server = self.setup_server()
+
+ try:
+ result = server.add_service_principal(princ_name)
+ except xmlrpclib.Fault, fault:
+ raise ipaerror.gen_exception(fault.faultCode, fault.faultString)
+ except socket.error, (value, msg):
+ raise xmlrpclib.Fault(value, msg)
+
+ return ipautil.unwrap_binary_data(result)
+
+ def get_keytab(self, princ_name):
+ server = self.setup_server()
+
+ try:
+ result = server.get_keytab(princ_name)
+ except xmlrpclib.Fault, fault:
+ raise ipaerror.gen_exception(fault.faultCode, fault.faultString)
+ except socket.error, (value, msg):
+ raise xmlrpclib.Fault(value, msg)
+
+ return ipautil.unwrap_binary_data(result)