diff options
author | Karl MacMillan <kmacmillan@mentalrootkit.com> | 2007-07-30 17:25:41 -0400 |
---|---|---|
committer | Karl MacMillan <kmacmillan@mentalrootkit.com> | 2007-07-30 17:25:41 -0400 |
commit | 4d656111e6eb035ef06eeb1a9b10ed33a095adc5 (patch) | |
tree | 7fa5004fce2778af4e6c1121d5b19eb428d3b4c6 | |
parent | 95bdb1bdf01256499aa16e2ea87bc02a6140dddb (diff) | |
download | freeipa.git-4d656111e6eb035ef06eeb1a9b10ed33a095adc5.tar.gz freeipa.git-4d656111e6eb035ef06eeb1a9b10ed33a095adc5.tar.xz freeipa.git-4d656111e6eb035ef06eeb1a9b10ed33a095adc5.zip |
First part of xml-rpc patch.
-rw-r--r-- | ipa-server/ipa-install/README | 2 | ||||
-rw-r--r-- | ipa-server/ipaserver/__init__.py | 56 |
2 files changed, 58 insertions, 0 deletions
diff --git a/ipa-server/ipa-install/README b/ipa-server/ipa-install/README index 31e7375f..2e1dd0d4 100644 --- a/ipa-server/ipa-install/README +++ b/ipa-server/ipa-install/README @@ -6,6 +6,8 @@ fedora-ds-base openldap-clients krb5-server-ldap cyrus-sasl-gssapi +httpd +mod_auth_kerb Installation example: diff --git a/ipa-server/ipaserver/__init__.py b/ipa-server/ipaserver/__init__.py index 8e20eb1b..6d254d6a 100644 --- a/ipa-server/ipaserver/__init__.py +++ b/ipa-server/ipaserver/__init__.py @@ -1 +1,57 @@ +#! /usr/bin/python -E +# Authors: Karl MacMillan <kmacmillan@mentalrootkit.com> +# see inline +# +# 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 or later +# +# 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 +# + __all__ = ["dsinstance", "krbinstance"] + +# +# Functions common for the XML RPC client and server +# +# Authors: +# Mike McLean <mikem@redhat.com> (from koji) + +# functions for encoding/decoding optional arguments + +def encode_args(*args,**opts): + """The function encodes optional arguments as regular arguments. + + This is used to allow optional arguments in xmlrpc calls + Returns a tuple of args + """ + if opts: + opts['__starstar'] = True + args = args + (opts,) + return args + +def decode_args(*args): + """Decodes optional arguments from a flat argument list + + Complementary to encode_args + Returns a tuple (args,opts) where args is a tuple and opts is a dict + """ + opts = {} + if len(args) > 0: + last = args[-1] + if type(last) == dict and last.get('__starstar',False): + del last['__starstar'] + opts = last + args = args[:-1] + return args,opts + |