summaryrefslogtreecommitdiffstats
path: root/ipa-server/xmlrpc-server/ipaxmlrpc.py
diff options
context:
space:
mode:
authorrcritten@redhat.com <rcritten@redhat.com>2007-08-14 17:22:05 -0400
committerrcritten@redhat.com <rcritten@redhat.com>2007-08-14 17:22:05 -0400
commit5f0f23ee91d51b2a45206ce7d9ddc413d3fa9670 (patch)
tree92fd71833e1689e008ccb4844350c566ebfd0b16 /ipa-server/xmlrpc-server/ipaxmlrpc.py
parent547f501faee224d7d5d6998ce457fd2df0fd465d (diff)
downloadfreeipa-5f0f23ee91d51b2a45206ce7d9ddc413d3fa9670.tar.gz
freeipa-5f0f23ee91d51b2a45206ce7d9ddc413d3fa9670.tar.xz
freeipa-5f0f23ee91d51b2a45206ce7d9ddc413d3fa9670.zip
Ensure that the Apache server is in forked mode
Add ability to update existing users Try to prevent fetching and setting empty strings
Diffstat (limited to 'ipa-server/xmlrpc-server/ipaxmlrpc.py')
-rw-r--r--ipa-server/xmlrpc-server/ipaxmlrpc.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/ipa-server/xmlrpc-server/ipaxmlrpc.py b/ipa-server/xmlrpc-server/ipaxmlrpc.py
index 963117f0..7d8529d2 100644
--- a/ipa-server/xmlrpc-server/ipaxmlrpc.py
+++ b/ipa-server/xmlrpc-server/ipaxmlrpc.py
@@ -239,6 +239,11 @@ class ModXMLRPCRequestHandler(object):
def handle_request(self,req):
"""Handle a single XML-RPC request"""
+ # The LDAP connection pool is not thread-safe. Avoid problems and
+ # force the forked model for now.
+ if not apache.mpm_query(apache.AP_MPMQ_IS_FORKED):
+ raise Fault(3, "Apache must use the forked model")
+
# XMLRPC uses POST only. Reject anything else
if req.method != 'POST':
req.allow_methods(['POST'],1)
@@ -279,6 +284,7 @@ def handler(req, profiling=False):
h.register_function(f.get_add_schema)
h.register_function(f.get_all_users)
h.register_function(f.find_users)
+ h.register_function(f.update_user)
h.handle_request(req)
finally:
pass