SF patch 595846 by Brett Cannon: Update environ for CGIHTTPServer.py

This patch causes CGIHTTPServer to update os.environ regardless of how
it tries to handle calls (fork, popen*, etc.).

Backport bugfix candidate.
This commit is contained in:
Guido van Rossum 2002-08-20 19:55:06 +00:00
parent 0d2d87d202
commit 0bd7832285

View file

@ -182,6 +182,7 @@ def run_cgi(self):
for k in ('QUERY_STRING', 'REMOTE_HOST', 'CONTENT_LENGTH',
'HTTP_USER_AGENT', 'HTTP_COOKIE'):
env.setdefault(k, "")
so.environ.update(env)
self.send_response(200, "Script output follows")
@ -221,7 +222,6 @@ def run_cgi(self):
popenx = os.popen3
else:
popenx = os.popen2
os.environ.update(env)
cmdline = scriptfile
if self.is_python(scriptfile):
interp = sys.executable
@ -259,7 +259,6 @@ def run_cgi(self):
else:
# Other O.S. -- execute script in this process
os.environ.update(env)
save_argv = sys.argv
save_stdin = sys.stdin
save_stdout = sys.stdout