You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xmlrpc-dev@ws.apache.org by Daniel Rall <dl...@finemaltcoding.com> on 2002/02/21 19:04:12 UTC
Re: XML-RPC applet fix: removed sun.misc dependency
Jon cleared this up for us by replacing the infected code.
Daniel Rall <dl...@finemaltcoding.com> writes:
> Hey Raymond. As soon as we get the Base64 class licensing issue
> cleared up with Kevin Kelley I can commit your changes.
>
> Raymond Penners <ra...@duologix.nl> writes:
>
>> Hi all,
>>
>> I am using your XML-RPC (1.0) in an applet. At first, things didn't
>> work because org.apache.xmlrpc.applet.XmlRpcSupport referred to
>> sun.misc.BASE64Encoder for encoding/decoding base64 data. This is Sun
>> specific and does not work on all browsers. On my setup, things only
>> functioned correctly only using Netscape 4.x. Both IE, and Mozilla
>> failed.
>>
>> Other users also encountered this problem, with no solution offered:
>>
>> http://helma.org/archives/xmlrpc/2000-August/000164.html
>>
>> I easily fixed this by removing the dependency on sun.misc.BASE64* to
>> org.apache.xmlrpc.Base64. Now, it works across all browsers.
>>
>> Please let me know what you think of this patch. I've successfully
>> transferred binary data between a PHP XML-RPC server and an XML-RPC
>> applet (both ways).
>>
>> Regards,
>> --
>> Raymond Penners -*- raymond@dotsphinx.com -*- www.dotsphinx.com
>> --- SimpleXmlRpcClient.java.orig Thu Jan 31 14:08:24 2002
>> +++ SimpleXmlRpcClient.java Thu Jan 31 14:09:17 2002
>> @@ -62,6 +62,7 @@
>> import java.util.*;
>> import java.text.*;
>> import java.net.*;
>> +import org.apache.xmlrpc.Base64;
>>
>>
>> /**
>> @@ -188,8 +189,7 @@
>> writer.endElement ("dateTime.iso8601");
>> } else if (what instanceof byte[]) {
>> writer.startElement ("base64");
>> - sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder ();
>> - writer.write (encoder.encodeBuffer ((byte[]) what));
>> + writer.write (Base64.encode ((byte[]) what));
>> writer.endElement ("base64");
>> } else if (what instanceof Vector) {
>> writer.startElement ("array");
>> @@ -543,12 +543,7 @@
>> }
>> break;
>> case BASE64:
>> - sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder ();
>> - try {
>> - value = decoder.decodeBuffer (cdata);
>> - } catch (IOException x) {
>> - throw new RuntimeException ("Error decoding base64 tag: "+x.getMessage ());
>> - }
>> + value = Base64.decode (cdata.toCharArray());
>> break;
>> case STRING:
>> value = cdata;
Re: XML-RPC applet fix: removed sun.misc dependency
Posted by Jon Scott Stevens <jo...@latchkey.com>.
I didn't know about that problem.
Fixed in CVS now...
-jon
on 3/7/02 8:53 AM, "Martin Poeschl" <mp...@marmot.at> wrote:
> Daniel Rall wrote:
>> Jon cleared this up for us by replacing the infected code.
>
> sure??
>
> the patch is still not applied!
> patched my local version in the meantime ..
>
> martin
>
>>
>> Daniel Rall <dl...@finemaltcoding.com> writes:
>>
>>
>>> Hey Raymond. As soon as we get the Base64 class licensing issue
>>> cleared up with Kevin Kelley I can commit your changes.
>>>
>>> Raymond Penners <ra...@duologix.nl> writes:
>>>
>>>
>>>> Hi all,
>>>>
>>>> I am using your XML-RPC (1.0) in an applet. At first, things didn't
>>>> work because org.apache.xmlrpc.applet.XmlRpcSupport referred to
>>>> sun.misc.BASE64Encoder for encoding/decoding base64 data. This is Sun
>>>> specific and does not work on all browsers. On my setup, things only
>>>> functioned correctly only using Netscape 4.x. Both IE, and Mozilla
>>>> failed.
>>>>
>>>> Other users also encountered this problem, with no solution offered:
>>>>
>>>> http://helma.org/archives/xmlrpc/2000-August/000164.html
>>>>
>>>> I easily fixed this by removing the dependency on sun.misc.BASE64* to
>>>> org.apache.xmlrpc.Base64. Now, it works across all browsers.
>>>>
>>>> Please let me know what you think of this patch. I've successfully
>>>> transferred binary data between a PHP XML-RPC server and an XML-RPC
>>>> applet (both ways).
>>>>
>>>> Regards,
>>>> --
>>>> Raymond Penners -*- raymond@dotsphinx.com -*- www.dotsphinx.com
>>>> --- SimpleXmlRpcClient.java.orig Thu Jan 31 14:08:24 2002
>>>> +++ SimpleXmlRpcClient.java Thu Jan 31 14:09:17 2002
>>>> @@ -62,6 +62,7 @@
>>>> import java.util.*;
>>>> import java.text.*;
>>>> import java.net.*;
>>>> +import org.apache.xmlrpc.Base64;
>>>>
>>>>
>>>> /**
>>>> @@ -188,8 +189,7 @@
>>>> writer.endElement ("dateTime.iso8601");
>>>> } else if (what instanceof byte[]) {
>>>> writer.startElement ("base64");
>>>> - sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder ();
>>>> - writer.write (encoder.encodeBuffer ((byte[]) what));
>>>> + writer.write (Base64.encode ((byte[]) what));
>>>> writer.endElement ("base64");
>>>> } else if (what instanceof Vector) {
>>>> writer.startElement ("array");
>>>> @@ -543,12 +543,7 @@
>>>> }
>>>> break;
>>>> case BASE64:
>>>> - sun.misc.BASE64Decoder decoder = new
>>>> sun.misc.BASE64Decoder ();
>>>> - try {
>>>> - value = decoder.decodeBuffer (cdata);
>>>> - } catch (IOException x) {
>>>> - throw new RuntimeException ("Error decoding base64
>>>> tag: "+x.getMessage ());
>>>> - }
>>>> + value = Base64.decode (cdata.toCharArray());
>>>> break;
>>>> case STRING:
>>>> value = cdata;
>>>
>>
>
>
Re: XML-RPC applet fix: removed sun.misc dependency
Posted by Jon Scott Stevens <jo...@latchkey.com>.
I didn't know about that problem.
Fixed in CVS now...
-jon
on 3/7/02 8:53 AM, "Martin Poeschl" <mp...@marmot.at> wrote:
> Daniel Rall wrote:
>> Jon cleared this up for us by replacing the infected code.
>
> sure??
>
> the patch is still not applied!
> patched my local version in the meantime ..
>
> martin
>
>>
>> Daniel Rall <dl...@finemaltcoding.com> writes:
>>
>>
>>> Hey Raymond. As soon as we get the Base64 class licensing issue
>>> cleared up with Kevin Kelley I can commit your changes.
>>>
>>> Raymond Penners <ra...@duologix.nl> writes:
>>>
>>>
>>>> Hi all,
>>>>
>>>> I am using your XML-RPC (1.0) in an applet. At first, things didn't
>>>> work because org.apache.xmlrpc.applet.XmlRpcSupport referred to
>>>> sun.misc.BASE64Encoder for encoding/decoding base64 data. This is Sun
>>>> specific and does not work on all browsers. On my setup, things only
>>>> functioned correctly only using Netscape 4.x. Both IE, and Mozilla
>>>> failed.
>>>>
>>>> Other users also encountered this problem, with no solution offered:
>>>>
>>>> http://helma.org/archives/xmlrpc/2000-August/000164.html
>>>>
>>>> I easily fixed this by removing the dependency on sun.misc.BASE64* to
>>>> org.apache.xmlrpc.Base64. Now, it works across all browsers.
>>>>
>>>> Please let me know what you think of this patch. I've successfully
>>>> transferred binary data between a PHP XML-RPC server and an XML-RPC
>>>> applet (both ways).
>>>>
>>>> Regards,
>>>> --
>>>> Raymond Penners -*- raymond@dotsphinx.com -*- www.dotsphinx.com
>>>> --- SimpleXmlRpcClient.java.orig Thu Jan 31 14:08:24 2002
>>>> +++ SimpleXmlRpcClient.java Thu Jan 31 14:09:17 2002
>>>> @@ -62,6 +62,7 @@
>>>> import java.util.*;
>>>> import java.text.*;
>>>> import java.net.*;
>>>> +import org.apache.xmlrpc.Base64;
>>>>
>>>>
>>>> /**
>>>> @@ -188,8 +189,7 @@
>>>> writer.endElement ("dateTime.iso8601");
>>>> } else if (what instanceof byte[]) {
>>>> writer.startElement ("base64");
>>>> - sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder ();
>>>> - writer.write (encoder.encodeBuffer ((byte[]) what));
>>>> + writer.write (Base64.encode ((byte[]) what));
>>>> writer.endElement ("base64");
>>>> } else if (what instanceof Vector) {
>>>> writer.startElement ("array");
>>>> @@ -543,12 +543,7 @@
>>>> }
>>>> break;
>>>> case BASE64:
>>>> - sun.misc.BASE64Decoder decoder = new
>>>> sun.misc.BASE64Decoder ();
>>>> - try {
>>>> - value = decoder.decodeBuffer (cdata);
>>>> - } catch (IOException x) {
>>>> - throw new RuntimeException ("Error decoding base64
>>>> tag: "+x.getMessage ());
>>>> - }
>>>> + value = Base64.decode (cdata.toCharArray());
>>>> break;
>>>> case STRING:
>>>> value = cdata;
>>>
>>
>
>
Re: XML-RPC applet fix: removed sun.misc dependency
Posted by Martin Poeschl <mp...@marmot.at>.
Daniel Rall wrote:
> Jon cleared this up for us by replacing the infected code.
sure??
the patch is still not applied!
patched my local version in the meantime ..
martin
>
> Daniel Rall <dl...@finemaltcoding.com> writes:
>
>
>>Hey Raymond. As soon as we get the Base64 class licensing issue
>>cleared up with Kevin Kelley I can commit your changes.
>>
>>Raymond Penners <ra...@duologix.nl> writes:
>>
>>
>>>Hi all,
>>>
>>>I am using your XML-RPC (1.0) in an applet. At first, things didn't
>>>work because org.apache.xmlrpc.applet.XmlRpcSupport referred to
>>>sun.misc.BASE64Encoder for encoding/decoding base64 data. This is Sun
>>>specific and does not work on all browsers. On my setup, things only
>>>functioned correctly only using Netscape 4.x. Both IE, and Mozilla
>>>failed.
>>>
>>>Other users also encountered this problem, with no solution offered:
>>>
>>>http://helma.org/archives/xmlrpc/2000-August/000164.html
>>>
>>>I easily fixed this by removing the dependency on sun.misc.BASE64* to
>>>org.apache.xmlrpc.Base64. Now, it works across all browsers.
>>>
>>>Please let me know what you think of this patch. I've successfully
>>>transferred binary data between a PHP XML-RPC server and an XML-RPC
>>>applet (both ways).
>>>
>>>Regards,
>>>--
>>>Raymond Penners -*- raymond@dotsphinx.com -*- www.dotsphinx.com
>>>--- SimpleXmlRpcClient.java.orig Thu Jan 31 14:08:24 2002
>>>+++ SimpleXmlRpcClient.java Thu Jan 31 14:09:17 2002
>>>@@ -62,6 +62,7 @@
>>> import java.util.*;
>>> import java.text.*;
>>> import java.net.*;
>>>+import org.apache.xmlrpc.Base64;
>>>
>>>
>>> /**
>>>@@ -188,8 +189,7 @@
>>> writer.endElement ("dateTime.iso8601");
>>> } else if (what instanceof byte[]) {
>>> writer.startElement ("base64");
>>>- sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder ();
>>>- writer.write (encoder.encodeBuffer ((byte[]) what));
>>>+ writer.write (Base64.encode ((byte[]) what));
>>> writer.endElement ("base64");
>>> } else if (what instanceof Vector) {
>>> writer.startElement ("array");
>>>@@ -543,12 +543,7 @@
>>> }
>>> break;
>>> case BASE64:
>>>- sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder ();
>>>- try {
>>>- value = decoder.decodeBuffer (cdata);
>>>- } catch (IOException x) {
>>>- throw new RuntimeException ("Error decoding base64 tag: "+x.getMessage ());
>>>- }
>>>+ value = Base64.decode (cdata.toCharArray());
>>> break;
>>> case STRING:
>>> value = cdata;
>>
>
Re: XML-RPC applet fix: removed sun.misc dependency
Posted by Martin Poeschl <mp...@marmot.at>.
Daniel Rall wrote:
> Jon cleared this up for us by replacing the infected code.
sure??
the patch is still not applied!
patched my local version in the meantime ..
martin
>
> Daniel Rall <dl...@finemaltcoding.com> writes:
>
>
>>Hey Raymond. As soon as we get the Base64 class licensing issue
>>cleared up with Kevin Kelley I can commit your changes.
>>
>>Raymond Penners <ra...@duologix.nl> writes:
>>
>>
>>>Hi all,
>>>
>>>I am using your XML-RPC (1.0) in an applet. At first, things didn't
>>>work because org.apache.xmlrpc.applet.XmlRpcSupport referred to
>>>sun.misc.BASE64Encoder for encoding/decoding base64 data. This is Sun
>>>specific and does not work on all browsers. On my setup, things only
>>>functioned correctly only using Netscape 4.x. Both IE, and Mozilla
>>>failed.
>>>
>>>Other users also encountered this problem, with no solution offered:
>>>
>>>http://helma.org/archives/xmlrpc/2000-August/000164.html
>>>
>>>I easily fixed this by removing the dependency on sun.misc.BASE64* to
>>>org.apache.xmlrpc.Base64. Now, it works across all browsers.
>>>
>>>Please let me know what you think of this patch. I've successfully
>>>transferred binary data between a PHP XML-RPC server and an XML-RPC
>>>applet (both ways).
>>>
>>>Regards,
>>>--
>>>Raymond Penners -*- raymond@dotsphinx.com -*- www.dotsphinx.com
>>>--- SimpleXmlRpcClient.java.orig Thu Jan 31 14:08:24 2002
>>>+++ SimpleXmlRpcClient.java Thu Jan 31 14:09:17 2002
>>>@@ -62,6 +62,7 @@
>>> import java.util.*;
>>> import java.text.*;
>>> import java.net.*;
>>>+import org.apache.xmlrpc.Base64;
>>>
>>>
>>> /**
>>>@@ -188,8 +189,7 @@
>>> writer.endElement ("dateTime.iso8601");
>>> } else if (what instanceof byte[]) {
>>> writer.startElement ("base64");
>>>- sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder ();
>>>- writer.write (encoder.encodeBuffer ((byte[]) what));
>>>+ writer.write (Base64.encode ((byte[]) what));
>>> writer.endElement ("base64");
>>> } else if (what instanceof Vector) {
>>> writer.startElement ("array");
>>>@@ -543,12 +543,7 @@
>>> }
>>> break;
>>> case BASE64:
>>>- sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder ();
>>>- try {
>>>- value = decoder.decodeBuffer (cdata);
>>>- } catch (IOException x) {
>>>- throw new RuntimeException ("Error decoding base64 tag: "+x.getMessage ());
>>>- }
>>>+ value = Base64.decode (cdata.toCharArray());
>>> break;
>>> case STRING:
>>> value = cdata;
>>
>