<html>
    <head />
        <body>
            Hi David -<br /> <br /> Are these patches needed only for IPv6 or also to support IPv4? If the  latter, this would bother me greatly. I can understand why IPv6 may be  implemented in incompatible ways but I can't see why there should be an  incompatible interface to IPv4 addresses which have been used for  eternity in Squeak. In particular given that (I believe) SocketAddress is a subclass of ByteArray it strikes me as not particularly hard to have Sockets support ByteArrays of length 4 as IPv4 socket addresses (and perhaps return instances of SocketAddress with length 4 or so). In any case, I'm not looking forward to seeing every last bit of networking code break - there has to be a better way...<br /><br /> Cheers,<br /> &nbsp; - Andreas<br /><br /> <blockquote type="cite">
            <p>-------- Original-Nachricht --------<br />Datum: Sun, 15 Jul 2012 11:46:54 -0400<br />Von: &quot;David T. Lewis&quot; &lt;lewis@mail.msen.com&gt;<br />An: The general-purpose Squeak developers list &lt;squeak-dev@lists.squeakfoundation.org&gt;, andreas.raab@gmx.de<br />Betreff: Re: [squeak-dev] WebClient test fails in trunk<br /><br /></p>
            On Wed, Jul 04, 2012 at 11:46:58PM +0200, Levente Uzonyi wrote:<br />&gt; On Tue, 3 Jul 2012, Frank Shearar wrote:<br />&gt; <br />&gt; &gt;On 3 July 2012 17:42, Frank Shearar &lt;frank.shearar@gmail.com&gt; wrote:<br />&gt; &gt;&gt;On 3 July 2012 17:38, Levente Uzonyi &lt;leves@elte.hu&gt; wrote:<br />&gt; &gt;&gt;&gt;On Tue, 3 Jul 2012, Frank Shearar wrote:<br />&gt; &gt;&gt;&gt;<br />&gt; &gt;&gt;&gt;&gt;Hi,<br />&gt; &gt;&gt;&gt;&gt;<br />&gt; &gt;&gt;&gt;&gt;I took WebClient for a spin in a trunk image, and found a failing<br />&gt; &gt;&gt;&gt;&gt;test: WebClientServerTest &gt;&gt; #testServerDestroy throws a<br />&gt; &gt;&gt;&gt;&gt;&quot;ConnectionClosed: Connection closed while waiting for data&quot;. That<br />&gt; &gt;&gt;&gt;&gt;sounds familiar - I think this was introduced in a recent Network<br />&gt; &gt;&gt;&gt;&gt;change.<br />&gt; &gt;&gt;&gt;&gt;<br />&gt; &gt;&gt;&gt;&gt;Still, it means WebClient needs fixing. I'll try fix it on my evening<br />&gt; &gt;&gt;&gt;&gt;commute, but if anyone feels like racing me, I'll be happy!<br />&gt; &gt;&gt;&gt;<br />&gt; &gt;&gt;&gt;<br />&gt; &gt;&gt;&gt;Interesting, I had no issue with it on windows, except for some extension<br />&gt; &gt;&gt;&gt;methods trying to use the CrLf class variable in HTTPSocket (or some <br />&gt; &gt;&gt;&gt;other<br />&gt; &gt;&gt;&gt;class), but that variable doesn't exist.<br />&gt; &gt;&gt;<br />&gt; &gt;&gt;Which reminds me of an important fact I should mention: I'm testing<br />&gt; &gt;&gt;this on an Ubuntu Lynx box.<br />&gt; <br />&gt; The VM also matters in this case. I tried it with an older CogVM which <br />&gt; doesn't have the new socket primitives.<br /><br />I wanted to check that the recent network updates were not causing<br />problems for WebClient. I found that some updates to WebClient are<br />needed to account for the fact that network addresses are now being<br />represented as SocketAddress rather than ByteArray when running on<br />a VM that supports the new network primitives.<br /><br />Attached is a change set that addresses all the issues that I could<br />find. I'm assuming that the testServerDestroy issue discussed above<br />has already been addressed, as I had no failures for that test.<br /><br />From the preamble:<br /><br />  Change Set:                WebClient-networkPatches-dtl<br />  Date:                        15 July 2012<br />  Author:                        David T Lewis<br />  <br />  These patches update WebClient to work with new network code in Squeak<br />  trunk (all tests green).<br />  <br />  Explanation: When using the new network code along with a VM that supports the<br />  IPV6 primitives, socket addresses are instances of SocketAddress rather than<br />  ByteArray. Conversion of a socket address to a string must be implemented<br />  differently for SocketAddress.<br />  <br />  Also use String crlf instead of undeclared CrLf in HTTPSocket class&gt;&gt;httpPostMultipart:args:accept:request:<br />  <br />  Note: Squeak automatically uses SocketAddress if the VM supports it at image<br />  start time. To force use of old style ByteArray addresses, evaluate<br />  NetNameResolver useOldNetwork: true.<br />  <br />  Follow up: The WebClient methods in HTTPSocket are marked as overrides (category<br />  *WebClient-HTTP-override) but are not overrides with respect to Squeak trunk.<br />  The override category prevents these methods from appearing in a change set<br />  fileout. Should these methods just be adopted in trunk?<br /><br />Dave<br /><br /></blockquote>
        </body>
    </html>