[Python-Dev] new features for 2.3?

Eric S. Raymond esr@thyrsus.com
Mon, 6 Jan 2003 13:39:30 -0500


Guido van Rossum <guido@python.org>:
> First of all, reST is going to be used a lot in Zope3.  Maybe it could
> become a standard library module?

I'm unfamiliar with this issue.
 
> We can do that in Python 2.3.  Because this is backwards incompatible,
> I propose that you have to request this protocol explicitly.  I
> propose to "upgrade' the binary flag to a general "protocol version"
> flag, with values:
> 
> 0 - original protocol
> 1 - binary protocol
> 2 - new protocol

+0.  That is, I don't care but the change seems reasonable and harmless.

> I'd also like to get rid of __safe_for_unpickling__ and all other
> pseudo security features.  Attempting to unpickle pickles from an
> untrusted source is insane, and nothing can help us there; I'd rather
> make the marshal protocol bulletproof (all it needs is a few more
> checks for inconsistent data and a little better error handling).

I do care about *this*, and it's the reason I'm responding. The
`safety' feature always struck me as grubby and non-orthogonal, an
attempt to patch over a problem that fundamentally cannot be solved at
that level, and one that could only backfire by creating a false sense
of security in people who weren't really thinking about the underlying
difficulty.

If we're going to have a sandboxing[1] facility in Python, it should be
decoupled from pickling and more general.

+1.  Scrap that feature, it was wrong to begin with.
-- 
		<a href="http://www.tuxedo.org/~esr/">Eric S. Raymond</a>

[1] I just realized that `sandbox' in this sense isn't in the Jargon File.  
I'm off to add it...