On 09/18/2017 11:22 AM, Levente Uzonyi wrote:
Unfortunately, things are a bit more complicated.
localhost may not be a name assigned to ::1. For example on my Ubuntu 14.04 it is not. However, there's ip6-localhost which resolves to ::1.
NetNameResolver class >> #localHostName returns the name of the machine instead of 'localhost'. This is fine, but again, if there's no IPv6 address assigned to that name, it won't work as you would expect.
NetNameResolver class >> #localAddressString will only return the string representation of the first address assigned to the machine's name.
There's NetNameResolver class >> #addressesForName: which can be more useful, because it'll return all names. So, here's a snippet to get a collection with the assigned IPv6 addresses' string representation:
(NetNameResolver addressesForName: NetNameResolver localHostName) select: [ :each | each addressFamilyName == #inet6 ] thenCollect: [ :each | each socketAddress hostNumber ].
Here are my results. For some reason the #addressesForName: is not seeing my wireless DHCP, though my machine claims it is ETHERNET.
(NetNameResolver addressesForName: NetNameResolver localHostName) select: [ :each | each addressFamilyName == #inet6 ] thenCollect: [ :each | each socketAddress hostNumber ]. an OrderedCollection()
NetNameResolver addressesForName: NetNameResolver localHostName an OrderedCollection(127.0.1.1(callisto),0(0)-inet4-stream-tcp)
wlp2s0 Link encap:Ethernet HWaddr 40:25:c2:b0:7b:0c inet addr:192.168.43.32 Bcast:192.168.43.255 Mask:255.255.255.0 inet6 addr: fe80::94ac:2d16:6700:1ed5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:97074 errors:0 dropped:0 overruns:0 frame:0 TX packets:52659 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:106056900 (106.0 MB) TX bytes:9058187 (9.0 MB)
NetNameResolver useOldNetwork. "true" false NetNameResolver hasIpv6PrimSupport. "true" true NetNameResolver enableIPv6. true NetNameResolver enableIPv6: true. NetNameResolver NetNameResolver useOldNetwork. " false" false NetNameResolver localHostAddress. 127.0.1.1(callisto),0(0) NetNameResolver localHostName. 'callisto' NetNameResolver addressForName: 'localhost'. "::1(localhost),0(0)" 127.0.0.1(localhost),0(0)
-=-=-=-=-=-=-
So far so good.
If you now try to, for example get some IPv6-enabled url, your should see
(WebClient httpGet: 'http://ipv6-test.com') status. " 'HTTP/1.1 200 OK'" 'HTTP/1.1 200 OK'
It's localhost is still ipv4 but supports ipv6 calls is what I am seeing, plus missing the wireless interface.
I appreciate your consideration, Alan
Levente
On Mon, 18 Sep 2017, Tobias Pape wrote:
Hi Alan
On 18.09.2017, at 10:19, Alan Pinch alan.c.pinch@gmail.com wrote:
I am running the Ubuntu 32-bit vm and I enabledIPv6: through the preferences browser. I am able to run yet it seems it is still IPv4. I do not know enough how IPv6 should work. I get the following host addresses:
Connection running..<cap://127.0.1.1:10012/Xrlgak8yDT0hgspNx0AyWoCdoZo=, cap://127.0.0.1:47684/FL4dilz6eq2sZDG5wKp3TFDoQEE=>
I get the following from NetNameResolver localAddressString 127.0.1.1
I just checked. Bear with me here:
In most imaged you will see for printIt NetNameResolver useOldNetwork. "true"
If your VM and OS supports IPv6 (it should) you will see
printIt NetNameResolver hasIpv6PrimSupport. "true"
So you then can
doIt NetNameResolver enableIPv6: true.
If that worked, you will find
printIt NetNameResolver useOldNetwork. " false"
From now on, you will get more "interesting" network names. Look at the result of
NetNameResolver localHostAddress. NetNameResolver localHostName.
(note that those are typically NOT localhost) Also you should see
printIt NetNameResolver addressForName: 'localhost'. "::1(localhost),0(0)"
-=-=-=-=-=-=-
So far so good.
If you now try to, for example get some IPv6-enabled url, your should see
printIt (WebClient httpGet: 'http://ipv6-test.com') status. " 'HTTP/1.1 200 OK'"
But this won't probably work _unless_ you have the fixes in your image which I uploaded just 5 minutes ago (WebClient-topa.110, Network-topa.205) ;)
Best regards -Tobias
Alan
On 09/17/2017 10:44 PM, David T. Lewis wrote:
On Sun, Sep 17, 2017 at 09:46:49PM -0400, Alan Pinch wrote:
Could anyone be able to point me to working IPv6 code for squeak, please? I would appreciate any link.
Alan
In the preferences browser, catagory general, set the preference for "Enable IPv6 and new network support" to true.
The default setting is false, largely because of some network name resolver issues on the Windows platform.
I do not think that the IPv6 code is exercised much, because most people probably leave their image in the default mode. So if you are using this and find problems with it, please let us know what does not work.
Dave