# # # patch "viewmtn.py" # from [b3f9aad3f3ab96d1e1efcdc67eb88ead4ccdb06b] # to [657d61af6a6a853bd10a1e38aaf5eb7f53588f9f] # ============================================================ --- viewmtn.py b3f9aad3f3ab96d1e1efcdc67eb88ead4ccdb06b +++ viewmtn.py 657d61af6a6a853bd10a1e38aaf5eb7f53588f9f @@ -33,7 +33,7 @@ import heapq import release hq = cgi.escape import heapq -import base64 +import binascii import web debug = web.debug @@ -122,8 +122,8 @@ class Link: return self.description rv = '%s' % (uri, d) if self.json_args != None: - enc_args = base64.encodestring(json.write(self.json_args)).rstrip() - rv = '' % (hq(enc_args), + enc_args = binascii.hexlify(json.write(self.json_args)) + rv = '' % (hq(enc_args), hq(str(self.__class__).split('.')[-1])) + rv + '' return rv @@ -1199,7 +1199,9 @@ class Json(object): def GET(self, method, encoded_args): writer = json.JsonWriter() - args = json.read(base64.decodestring((encoded_args))) + if not encoded_args.startswith('js_'): + return web.notfound() + args = json.read(binascii.unhexlify((encoded_args[3:]))) if hasattr(self, method): rv = getattr(self, method)(*args) else: