blob: 83e7b9a2b1adc5e7200157a7f445bf1cb06a7d7e [file] [log] [blame]
#!/usr/bin/env python3
import cgi
import os
import sys
from urllib.parse import parse_qs
method = os.environ.get('REQUEST_METHOD', '')
sys.stdout.write(
'Content-Type: text/html; charset=UTF-8\r\n\r\n'
'<html><!-- webkit-test-runner [ KeygenElementEnabled=true ] -->\n'
'<head>\n'
'<script>\n'
'\n'
'function runTest()\n'
'{\n'
' var r = document.getElementById(\'result\');\n'
' var o = document.getElementById(\'output\').firstChild;\n'
' if (o.nodeValue == \'MIHFMHEwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAnX0TILJrOMUue%2BPtwBRE6XfV%0AWtKQbsshxk5ZhcUwcwyvcnIq9b82QhJdoACdD34rqfCAIND46fXKQUnb0mvKzQID%0AAQABFhFNb3ppbGxhSXNNeUZyaWVuZDANBgkqhkiG9w0BAQQFAANBAAKv2Eex2n%2FS%0Ar%2F7iJNroWlSzSMtTiQTEB%2BADWHGj9u1xrUrOilq%2Fo2cuQxIfZcNZkYAkWP4DubqW%0Ai0%2F%2FrgBvmco%3D\')\n'
' r.innerHTML = "SUCCESS: keygen was parsed correctly";\n'
' else\n'
' r.innerHTML = "FAILURE: keygen was not parsed correctly. value=" +\n'
' o.nodeValue;\n'
' \n'
' if (window.testRunner)\n'
' testRunner.notifyDone();\n'
'}\n'
'\n'
'</script>\n'
'</head>\n'
'<body onload="runTest()">\n'
'<p>\n'
'This is a regression test for keygen tag POST processing: https://bugs.webkit.org/show_bug.cgi?id=70617.\n'
'</p>\n'
'<div style=\'display: none;\' id=\'output\'>'
)
request = {}
if method == 'POST':
form = cgi.FieldStorage()
for key in form.keys():
request[key] = form.getvalue(key)
else:
query = parse_qs(os.environ.get('QUERY_STRING', ''), keep_blank_values=True)
for key in query.keys():
request[key] = query[key]
if 'HTTP_COOKIE' in os.environ:
header_cookies = os.environ['HTTP_COOKIE']
header_cookies = header_cookies.split('; ')
for cookie in header_cookies:
cookie = cookie.split('=')
request[cookie[0]] = cookie[1]
if 'spkac' in request.keys():
sys.stdout.write('{}'.format(request['spkac']))
else:
sys.stdout.write('spkac does not exist')
sys.stdout.write(
'</div>\n'
'<div id="result"></div>\n'
'</body>\n'
'</html>\n'
)