From 899a61bdf1a1369c656a9e34513b17f558e864bc Mon Sep 17 00:00:00 2001 From: Michael DeHaan Date: Wed, 23 Apr 2008 14:49:47 -0400 Subject: Support "fake" query string URLs to support xend's esoteric parser that doesn't like query strings on the kernel options line. --- scripts/services.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) 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 "&" (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) -- cgit