summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcgi-bin/and-then-js.cgi3
-rwxr-xr-xcgi-bin/auth.cgi7
-rwxr-xr-xcgi-bin/cookies.cgi7
-rwxr-xr-xcgi-bin/env.cgi3
-rwxr-xr-xcgi-bin/image.cgi7
-rwxr-xr-xcgi-bin/ordered-list.cgi23
-rwxr-xr-xcgi-bin/sleep.cgi7
7 files changed, 31 insertions, 26 deletions
diff --git a/cgi-bin/and-then-js.cgi b/cgi-bin/and-then-js.cgi
index 6c03589..dc26ed3 100755
--- a/cgi-bin/and-then-js.cgi
+++ b/cgi-bin/and-then-js.cgi
@@ -1,5 +1,6 @@
#!/usr/bin/python3
+from urllib.parse import parse_qs
import cgi
import cgitb
import os
@@ -7,7 +8,7 @@ import time
cgitb.enable()
-qs = cgi.parse_qs(os.getenv("QUERY_STRING", "t=1&val=async-cb-adds-timeout"))
+qs = parse_qs(os.getenv("QUERY_STRING", "t=1&val=async-cb-adds-timeout"))
content = qs.get("val", ["async-cb-adds-timeout"])[0]
diff --git a/cgi-bin/auth.cgi b/cgi-bin/auth.cgi
index 5eebf4e..3f49135 100755
--- a/cgi-bin/auth.cgi
+++ b/cgi-bin/auth.cgi
@@ -1,16 +1,13 @@
#!/usr/bin/python3
-import cgi
-import cgitb
-cgitb.enable()
-
import os
+from urllib.parse import parse_qs
from base64 import b64decode
auth = os.getenv("HTTP_AUTHORIZATION")
query = os.getenv("QUERY_STRING") or "user=foo&pass=bar&realm=NetSurf+Authentication+Test"
-query = cgi.parse_qs(query)
+query = parse_qs(query)
username = query.get("user", ["foo"])[0]
password = query.get("pass", query.get("password", ["bar"]))[0]
realm = query.get("realm", ["NetSurf Authentication Test"])[0]
diff --git a/cgi-bin/cookies.cgi b/cgi-bin/cookies.cgi
index be12589..96d9d25 100755
--- a/cgi-bin/cookies.cgi
+++ b/cgi-bin/cookies.cgi
@@ -1,13 +1,10 @@
#!/usr/bin/python3
-import cgi
-import cgitb
import os
import sys
import io
import json
-
-cgitb.enable()
+from html import escape as html_escape
print("Content-Type: text/html")
print("")
@@ -28,7 +25,7 @@ print("""
""")
for k, v in cookies.items():
- print(" <li>{}: {}</li>".format(cgi.escape(k), cgi.escape(v)))
+ print(" <li>{}: {}</li>".format(html_escape(k), html_escape(v)))
print("""
</ul>
<hr />
diff --git a/cgi-bin/env.cgi b/cgi-bin/env.cgi
index ffd6785..dc02349 100755
--- a/cgi-bin/env.cgi
+++ b/cgi-bin/env.cgi
@@ -1,5 +1,6 @@
#!/usr/bin/python3
+from urllib.parse import parse_qs
import cgi
import cgitb
import os
@@ -33,7 +34,7 @@ for k in sorted(os.environ.keys()):
print("ENV:{}:{}".format(k, os.environ[k]))
if "QUERY_STRING" in os.environ:
- qs = cgi.parse_qs(os.getenv("QUERY_STRING"))
+ qs = parse_qs(os.getenv("QUERY_STRING"))
for k, vs in qs.items():
for i, v in enumerate(vs):
if len(vs) > 1:
diff --git a/cgi-bin/image.cgi b/cgi-bin/image.cgi
index edcca1e..429851e 100755
--- a/cgi-bin/image.cgi
+++ b/cgi-bin/image.cgi
@@ -1,17 +1,14 @@
#!/usr/bin/python3
-import cgi
-import cgitb
+from urllib.parse import parse_qs
import sys
-cgitb.enable()
-
import os
from io import BytesIO
auth = os.getenv("HTTP_AUTHORIZATION")
query = os.getenv("QUERY_STRING") or ""
-query = cgi.parse_qs(query)
+query = parse_qs(query)
width = query.get("width", ["100"])[0]
height = query.get("height", ["100"])[0]
diff --git a/cgi-bin/ordered-list.cgi b/cgi-bin/ordered-list.cgi
index 6548699..838e81d 100755
--- a/cgi-bin/ordered-list.cgi
+++ b/cgi-bin/ordered-list.cgi
@@ -25,15 +25,25 @@ def main():
liststyle = 'decimal'
listcount = 1000
+ liststart = 1
+ listreverse = 0
+ # get cgi parameters
if 'liststyle' in params and re.match('^[A-Za-z0-9-]+$', params['liststyle'].value):
liststyle = params['liststyle'].value
if 'listcount' in params and re.match('^[0-9]+$', params['listcount'].value):
listcount = int(params['listcount'].value)
- if listcount > 10000:
- listcount = 10000
+ if 'liststart' in params and re.match('^[0-9-]+$', params['liststart'].value):
+ liststart = int(params['liststart'].value)
+
+ if 'listreverse' in params and re.match('^[0-1]+$', params['listreverse'].value):
+ listreverse = int(params['listreverse'].value)
+
+ # ensure count is reasonable
+ if listcount > 100000:
+ listcount = 100000
print('Content-Type: text/html')
print('')
@@ -47,8 +57,13 @@ def main():
print('</head>')
print('<body>')
print('<h1>ordered list marker test with',liststyle,'style</h1>')
- print('<ol class="a">')
- for num in range(1, listcount):
+ print('<ol class="a"', end='')
+ if liststart != 1:
+ print(' start="{}"'.format(liststart), end='')
+ if listreverse != 0:
+ print(' reversed', end='')
+ print('>')
+ for num in range(liststart, (liststart + listcount)):
print('<li>',num,'</li>', sep="")
print('</ol>')
diff --git a/cgi-bin/sleep.cgi b/cgi-bin/sleep.cgi
index 87c017c..270d3bc 100755
--- a/cgi-bin/sleep.cgi
+++ b/cgi-bin/sleep.cgi
@@ -1,13 +1,10 @@
#!/usr/bin/python3
-import cgi
-import cgitb
+from urllib.parse import parse_qs
import os
import time
-cgitb.enable()
-
-qs = cgi.parse_qs(os.getenv("QUERY_STRING", "t=10&ct=text/javascript"))
+qs = parse_qs(os.getenv("QUERY_STRING", "t=10&ct=text/javascript"))
content_type = qs.get("ct", ["text/javascript"])[0]