summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2008-04-23 14:49:47 -0400
committerMichael DeHaan <mdehaan@redhat.com>2008-04-23 14:49:47 -0400
commit899a61bdf1a1369c656a9e34513b17f558e864bc (patch)
tree51b2cf6e02e63c5531e7e5db88f7f0794be51384 /scripts
parent5cde562c195f159c460cd2ef181a402eadad3bf2 (diff)
downloadthird_party-cobbler-899a61bdf1a1369c656a9e34513b17f558e864bc.tar.gz
third_party-cobbler-899a61bdf1a1369c656a9e34513b17f558e864bc.tar.xz
third_party-cobbler-899a61bdf1a1369c656a9e34513b17f558e864bc.zip
Support "fake" query string URLs to support xend's esoteric parser that doesn't like query strings on the kernel options line.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/services.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/scripts/services.py b/scripts/services.py
index b41d6a0..8fcb8f8 100755
--- a/scripts/services.py
+++ b/scripts/services.py
@@ -33,6 +33,8 @@ def handler(req):
"""
my_uri = req.uri
+
+
# apache.log_error("cannot load /var/lib/cobbler/web.ss")
req.add_common_vars()
@@ -42,6 +44,26 @@ def handler(req):
form = {}
for x in fs.keys():
form[x] = str(fs.get(x,'default'))
+
+ if my_uri.find("?") == -1:
+ # support fake query strings
+ # something log /cobbler/web/op/ks/server/foo
+ # which is needed because of xend parser errors
+ # not tolerating ";" and also libvirt on 5.1 not
+ # tolerating "&amp;" (nor "&").
+
+ tokens = my_uri.split("/")
+ tokens = tokens[3:]
+ label = True
+ field = ""
+ for t in tokens:
+ if label:
+ field = t
+ apache.log_error("field %s" % field)
+ else:
+ form[field] = t
+ apache.log_error("adding %s to %s" % (field,t))
+ label = not label
form["REMOTE_ADDR"] = req.subprocess_env.get("REMOTE_ADDR",None)
form["REMOTE_MAC"] = req.subprocess_env.get("HTTP_X_RHN_PROVISIONING_MAC_0",None)