summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2010-04-16 13:28:05 (GMT)
committerVictor Stinner <victor.stinner@haypocalc.com>2010-04-16 13:28:05 (GMT)
commit5bfe1467f7611da791856da7231c86e2e76f598c (patch)
tree0952b418fdc896d2fccdfcfa37815607ff73495d
parent876d7c84e6f59e99ae2a75e53fe9e7c1b97e518f (diff)
downloadcpython-5bfe1467f7611da791856da7231c86e2e76f598c.zip
cpython-5bfe1467f7611da791856da7231c86e2e76f598c.tar.gz
cpython-5bfe1467f7611da791856da7231c86e2e76f598c.tar.bz2
Issue #7606: XML-RPC traceback stored in X-traceback is now encoded to ASCII
using backslashreplace error handler.
-rw-r--r--Lib/xmlrpc/server.py4
-rw-r--r--Misc/NEWS3
2 files changed, 6 insertions, 1 deletions
diff --git a/Lib/xmlrpc/server.py b/Lib/xmlrpc/server.py
index 63df97f..eb231d3 100644
--- a/Lib/xmlrpc/server.py
+++ b/Lib/xmlrpc/server.py
@@ -499,7 +499,9 @@ class SimpleXMLRPCRequestHandler(BaseHTTPRequestHandler):
if hasattr(self.server, '_send_traceback_header') and \
self.server._send_traceback_header:
self.send_header("X-exception", str(e))
- self.send_header("X-traceback", traceback.format_exc())
+ trace = traceback.format_exc()
+ trace = str(trace.encode('ASCII', 'backslashreplace'), 'ASCII')
+ self.send_header("X-traceback", trace)
self.send_header("Content-length", "0")
self.end_headers()
diff --git a/Misc/NEWS b/Misc/NEWS
index c583fa3..81683c9 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -312,6 +312,9 @@ C-API
Library
-------
+- Issue #7606: XML-RPC traceback stored in X-traceback is now encoded to ASCII
+ using backslashreplace error handler
+
- Issue #8412: os.system() now accepts bytes, bytearray and str with
surrogates.