summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarl MacMillan <kmacmillan@mentalrootkit.com>2007-07-30 17:25:41 -0400
committerKarl MacMillan <kmacmillan@mentalrootkit.com>2007-07-30 17:25:41 -0400
commit4d656111e6eb035ef06eeb1a9b10ed33a095adc5 (patch)
tree7fa5004fce2778af4e6c1121d5b19eb428d3b4c6
parent95bdb1bdf01256499aa16e2ea87bc02a6140dddb (diff)
downloadfreeipa.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/README2
-rw-r--r--ipa-server/ipaserver/__init__.py56
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
+