]> granicus.if.org Git - python/commitdiff
SF patch 595846 by Brett Cannon: Update environ for CGIHTTPServer.py
authorGuido van Rossum <guido@python.org>
Tue, 20 Aug 2002 19:55:06 +0000 (19:55 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 20 Aug 2002 19:55:06 +0000 (19:55 +0000)
This patch causes CGIHTTPServer to update os.environ regardless of how
it tries to handle calls (fork, popen*, etc.).

Backport bugfix candidate.

Lib/CGIHTTPServer.py

index 0279117c7ad66160e79afaed85ad250f4c829691..eb1ee198b33e9c96e870d418aaea494dd8581592 100644 (file)
@@ -182,6 +182,7 @@ class CGIHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
             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 @@ class CGIHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
                 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 @@ class CGIHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
 
         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