diff options
author | Rob Crittenden <rcritten@redhat.com> | 2007-10-22 17:06:52 -0400 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2007-10-22 17:06:52 -0400 |
commit | 04636b8ae7b759291fe0c49991b3df760d6ad4c2 (patch) | |
tree | 5ef85e2b057c2dc94c5744492ddd83f70efa3a2b /ipa-server/xmlrpc-server | |
parent | a47f893957a2b07b87f26429183f61d781a257fc (diff) | |
download | freeipa.git-04636b8ae7b759291fe0c49991b3df760d6ad4c2.tar.gz freeipa.git-04636b8ae7b759291fe0c49991b3df760d6ad4c2.tar.xz freeipa.git-04636b8ae7b759291fe0c49991b3df760d6ad4c2.zip |
Add an LDAP attribute -> label mapping function to XML-RPC layer
Move some ACI functions around in preparation for cli delegation
Diffstat (limited to 'ipa-server/xmlrpc-server')
-rw-r--r-- | ipa-server/xmlrpc-server/Makefile.am | 1 | ||||
-rw-r--r-- | ipa-server/xmlrpc-server/attrs.py | 53 | ||||
-rw-r--r-- | ipa-server/xmlrpc-server/funcs.py | 11 | ||||
-rw-r--r-- | ipa-server/xmlrpc-server/ipaxmlrpc.py | 1 |
4 files changed, 66 insertions, 0 deletions
diff --git a/ipa-server/xmlrpc-server/Makefile.am b/ipa-server/xmlrpc-server/Makefile.am index 97d57ca1..5e9da065 100644 --- a/ipa-server/xmlrpc-server/Makefile.am +++ b/ipa-server/xmlrpc-server/Makefile.am @@ -12,6 +12,7 @@ html_DATA = \ serverdir = $(IPA_DATA_DIR)/ipaserver server_PYTHON = \ + attrs.py \ funcs.py \ ipaxmlrpc.py \ $(NULL) diff --git a/ipa-server/xmlrpc-server/attrs.py b/ipa-server/xmlrpc-server/attrs.py new file mode 100644 index 00000000..239b8d8f --- /dev/null +++ b/ipa-server/xmlrpc-server/attrs.py @@ -0,0 +1,53 @@ +# Authors: Rob Crittenden <rcritten@redhat.com> +# +# Copyright (C) 2007 Red Hat +# see file 'COPYING' for use and warranty information +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; version 2 only +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +attr_label_list = { + "givenname":"Given Name", + "sn":"Family Name", + "cn":"Common Name", + "title":"Title", + "displayname":"Display Name", + "initials":"Initials", + "uid":"Login", + "userpassword":"Password", + "uidnumber":"UID", + "gidnumber":"GID", + "homedirectory":"Home Directory", + "loginshell":"Login Shell", + "gecos":"GECOS", + "mail":"E-mail Address", + "telephonenumber":"Work Number", + "facsimiletelephonenumber":"Fax Number", + "mobile":"Cell Number", + "homephone":"Home Number", + "street":"Street Address", + "l":"City", + "st":"State", + "postalcode":"ZIP", + "ou":"Org Unit", + "businesscategory":"Tags", + "description":"Description", + "employeetype":"Employee Type", + "manager":"Manager", + "roomnumber":"Room Number", + "secretary":"Secretary", + "carlicense":"Car License", + "labelduri":"Home Page", + "nsaccountlock":"Account Status" +} diff --git a/ipa-server/xmlrpc-server/funcs.py b/ipa-server/xmlrpc-server/funcs.py index f62a6aba..7ce83d57 100644 --- a/ipa-server/xmlrpc-server/funcs.py +++ b/ipa-server/xmlrpc-server/funcs.py @@ -28,6 +28,7 @@ import ipaserver.ipaldap import ipa.ipautil import xmlrpclib import copy +import attrs from ipa import ipaerror import string @@ -1051,6 +1052,16 @@ class IPAServer: raise return ret + def attrs_to_labels(self, attr_list, opts=None): + """Take a list of LDAP attributes and convert them to more friendly + labels.""" + label_list = {} + + for a in attr_list: + label_list[a] = attrs.attr_label_list.get(a,a) + + return label_list + def ldap_search_escape(match): """Escapes out nasty characters from the ldap search. See RFC 2254.""" diff --git a/ipa-server/xmlrpc-server/ipaxmlrpc.py b/ipa-server/xmlrpc-server/ipaxmlrpc.py index 2785c680..64e5fa68 100644 --- a/ipa-server/xmlrpc-server/ipaxmlrpc.py +++ b/ipa-server/xmlrpc-server/ipaxmlrpc.py @@ -349,6 +349,7 @@ def handler(req, profiling=False): h.register_function(f.remove_groups_from_user) h.register_function(f.update_group) h.register_function(f.delete_group) + h.register_function(f.attrs_to_labels) h.handle_request(req) finally: pass |