summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xfrontends/cgi/live-build-cgi10
1 files changed, 8 insertions, 2 deletions
diff --git a/frontends/cgi/live-build-cgi b/frontends/cgi/live-build-cgi
index 5a65bce89..dbc1ef53b 100755
--- a/frontends/cgi/live-build-cgi
+++ b/frontends/cgi/live-build-cgi
@@ -33,9 +33,15 @@ echo "Content-type: text/html"
echo
#QUERY_STRING=`cat /dev/stdin`
-QUERY_STRING=$(cat /dev/stdin)
+#QUERY_STRING=$(cat /dev/stdin)
+# If we are passed something then read it in.
+if [[ "$REQUEST_METHOD" = "POST" ]] && [[ "$CONTENT_LENGTH" -gt 0 ]]
+then
+ read -n $CONTENT_LENGTH POST_DATA <&0
+fi
+
# Translate parameters
-QUERY_STRING=$(echo "${QUERY_STRING}" | sed -e 's/%2F/\//g' -e 's/+/ /g' -e 's/%3B/;/g' -e 's/%7E/~/g' -e 's/%3A/:/g' -e 's/%40/@/g' -e 's/%3D/=/g' -e 's/%2B/+/g')
+QUERY_STRING=$(echo "${POST_DATA}" | sed -e 's/%2F/\//g' -e 's/+/ /g' -e 's/%3B/;/g' -e 's/%7E/~/g' -e 's/%3A/:/g' -e 's/%40/@/g' -e 's/%3D/=/g' -e 's/%2B/+/g')
# Debug the filtering string
# echo ${QUERY_STRING}