summaryrefslogtreecommitdiffstats
path: root/ipa-python/rpcclient.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipa-python/rpcclient.py')
-rw-r--r--ipa-python/rpcclient.py141
1 files changed, 141 insertions, 0 deletions
diff --git a/ipa-python/rpcclient.py b/ipa-python/rpcclient.py
index d7ff97405..6f039f9fa 100644
--- a/ipa-python/rpcclient.py
+++ b/ipa-python/rpcclient.py
@@ -714,3 +714,144 @@ class RPCClient:
raise xmlrpclib.Fault(value, msg)
return ipautil.unwrap_binary_data(result)
+
+# radius support
+
+ def get_radius_client_by_ip_addr(self, ip_addr, container, sattrs=None):
+ server = self.setup_server()
+ if container is None: container = "__NONE__"
+ if sattrs is None: sattrs = "__NONE__"
+ try:
+ result = server.get_radius_client_by_ip_addr(ip_addr, container, sattrs)
+ 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 add_radius_client(self, client, container=None):
+ server = self.setup_server()
+
+ if container is None: container = "__NONE__"
+
+ try:
+ result = server.add_radius_client(ipautil.wrap_binary_data(client), container)
+ 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 update_radius_client(self, oldclient, newclient):
+ server = self.setup_server()
+
+ try:
+ result = server.update_radius_client(ipautil.wrap_binary_data(oldclient),
+ ipautil.wrap_binary_data(newclient))
+ 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 delete_radius_client(self, ip_addr, container=None):
+ server = self.setup_server()
+ if container is None: container = "__NONE__"
+
+ try:
+ result = server.delete_radius_client(ip_addr, container)
+ 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 find_radius_clients(self, criteria, container=None, sattrs=None, searchlimit=0, timelimit=-1):
+ server = self.setup_server()
+ if container is None: container = "__NONE__"
+ try:
+ # None values are not allowed in XML-RPC
+ if sattrs is None:
+ sattrs = "__NONE__"
+ result = server.find_radius_clients(criteria, container, sattrs, searchlimit, timelimit)
+ 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_radius_profile_by_uid(self, ip_addr, user_profile, sattrs=None):
+ server = self.setup_server()
+ if user_profile is None: user_profile = "__NONE__"
+ if sattrs is None: sattrs = "__NONE__"
+ try:
+ result = server.get_radius_profile_by_uid(ip_addr, user_profile, sattrs)
+ 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 add_radius_profile(self, profile, user_profile=None):
+ server = self.setup_server()
+
+ if user_profile is None: user_profile = "__NONE__"
+
+ try:
+ result = server.add_radius_profile(ipautil.wrap_binary_data(profile), user_profile)
+ 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 update_radius_profile(self, oldprofile, newprofile):
+ server = self.setup_server()
+
+ try:
+ result = server.update_radius_profile(ipautil.wrap_binary_data(oldprofile),
+ ipautil.wrap_binary_data(newprofile))
+ 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 delete_radius_profile(self, ip_addr, user_profile=None):
+ server = self.setup_server()
+ if user_profile is None: user_profile = "__NONE__"
+
+ try:
+ result = server.delete_radius_profile(ip_addr, user_profile)
+ 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 find_radius_profiles(self, criteria, user_profile=None, sattrs=None, searchlimit=0, timelimit=-1):
+ server = self.setup_server()
+ if user_profile is None: user_profile = "__NONE__"
+ try:
+ # None values are not allowed in XML-RPC
+ if sattrs is None:
+ sattrs = "__NONE__"
+ result = server.find_radius_profiles(criteria, user_profile, sattrs, searchlimit, timelimit)
+ 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)
+