]> granicus.if.org Git - python/commitdiff
Issue #7606: XML-RPC traceback stored in X-traceback is now encoded to ASCII
authorVictor Stinner <victor.stinner@haypocalc.com>
Fri, 16 Apr 2010 13:28:05 +0000 (13:28 +0000)
committerVictor Stinner <victor.stinner@haypocalc.com>
Fri, 16 Apr 2010 13:28:05 +0000 (13:28 +0000)
using backslashreplace error handler.

Lib/xmlrpc/server.py
Misc/NEWS

index 63df97fbce80cdf6fdb57217e627022058def463..eb231d3db497265374cb1dad5086a47ae58a561d 100644 (file)
@@ -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()
index c583fa372f281ea0bba02d8dc1630ab0a4ea288c..81683c98c593eccde4026e495a25004c55f48bbf 100644 (file)
--- 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.