From d98686e96758870cb4a56d41fb0aaae54d4067c5 Mon Sep 17 00:00:00 2001 From: John Dennis Date: Wed, 21 Nov 2007 13:11:10 -0500 Subject: Add radius profile implementations: get_radius_profile_by_uid add_radius_profile update_radius_profile delete_radius_profile find_radius_profiles Rewrite command line arg handling, now support pair entry, interactive mode with auto completion, reading pairs from a file, better handling of mandatory values, better help, long arg names now match attribute name in pairs Establish mappings for all attributes and names used in clients and profiles Add notion of containers to radius clients and profiles in LDAP Move common code, variables, constants, and strings into the files radius_client.py, radius_util.py, ipautil.py to eliminate redundant elements which could get out of sync if modified and to provide access to other code which might benefit from using these items in the future. Add utility functions: format_list() parse_key_value_pairs() Add utility class: AttributeValueCompleter Unify attribute usage in radius ldap schema --- ipa-python/rpcclient.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'ipa-python/rpcclient.py') diff --git a/ipa-python/rpcclient.py b/ipa-python/rpcclient.py index e756058a7..531bf72bf 100644 --- a/ipa-python/rpcclient.py +++ b/ipa-python/rpcclient.py @@ -594,12 +594,12 @@ class RPCClient: # radius support - def get_radius_client_by_ip_addr(self,ip_addr,sattrs=None): + def get_radius_client_by_ip_addr(self,ip_addr, container, sattrs=None): server = self.setup_server() - if sattrs is None: - sattrs = "__NONE__" + if container is None: container = "__NONE__" + if sattrs is None: sattrs = "__NONE__" try: - result = server.get_radius_client_by_ip_addr(ip_addr, sattrs) + 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): @@ -607,11 +607,13 @@ class RPCClient: return ipautil.unwrap_binary_data(result) - def add_radius_client(self,client): + 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)) + 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): @@ -633,11 +635,12 @@ class RPCClient: return ipautil.unwrap_binary_data(result) - def delete_radius_client(self,ip_addr): + 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) + 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): @@ -645,13 +648,14 @@ class RPCClient: return ipautil.unwrap_binary_data(result) - def find_radius_clients(self, criteria, sattrs=None, searchlimit=0, timelimit=-1): + 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, sattrs, searchlimit, timelimit) + 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): -- cgit