> Andy McKay wrote:
> >
> > > Yeah, I am currently base64'ing the data, and it works.
> >
> > Ive seen this in some code but didnt want to say anything for fear of
> > sounding stupid. It doesnt seem right somehow.
> See, this is the problem. I'm running into crunch-time at the moment, and I
> really don't have time to check the validity of third-party xmlrpc code. I
> honestly don't know if it's valid to send arbitrary binary data in an
> xmlrpc transaction.

Interestingly, it looks like xmlrpclib.py can *receive* base64-encoded
data automagically, but it never *sends* it.  ppml.py, found in
Zope2/lib/python/Shared/DC/xml, has a convert() method which could serve
as a guide for making a patch to xmlrpclib that will enable it to
automatically encode in base64 when appropriate.

The problem with sending binary data unencoded is line endings: \r\n
might be "helpfully" converted to \n and vice-versa.  Other characters
can be encoded but apparently parsers treat 
 as a
real line ending.

In fact it's time to convert xmlrpclib to use the Expat module (via SAX)
in Python 2.1.  It should speed it up dramatically.


Zope-Dev maillist  -  [EMAIL PROTECTED]
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope )

Reply via email to