IPSocketAddress.st
changeset 3508 b1824372124b
parent 3228 00bf7f052ee1
child 3510 51b43eca349f
--- a/IPSocketAddress.st	Sat Feb 21 23:43:08 2015 +0100
+++ b/IPSocketAddress.st	Thu Feb 26 11:00:31 2015 +0100
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libbasic2' }"
 
+"{ NameSpace: Smalltalk }"
+
 SocketAddress variableByteSubclass:#IPSocketAddress
 	instanceVariableNames:''
 	classVariableNames:'CacheInvalidationTimeInterval AddressCacheSize NameCacheSize'
@@ -64,12 +66,18 @@
 !IPSocketAddress class methodsFor:'instance creation'!
 
 addressString:aString
-    "convert an address given in a dot notation like 123.456.78.9"
+    "convert an address given in a dot notation like 123.456.78.9.
+     handle IPv6SocketAddresses too."
 
+    (self == IPSocketAddress and:[aString includesAny:'[:']) ifTrue:[
+        ^ IPv6SocketAddress hostAddress:(IPv6SocketAddress hostAddressFromString:aString).
+    ].
     ^ self hostAddress:(self hostAddressFromString:aString).
 
     "
      IPSocketAddress addressString:'1.2.3.4'
+     IPSocketAddress addressString:'2001:4dd0:ffa3::1'
+     IPSocketAddress addressString:'[2001:4dd0:ffa3::1]'
     "
 !
 
@@ -587,10 +595,10 @@
 !IPSocketAddress class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic2/IPSocketAddress.st,v 1.42 2014-04-16 22:08:14 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic2/IPSocketAddress.st,v 1.43 2015-02-26 10:00:31 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic2/IPSocketAddress.st,v 1.42 2014-04-16 22:08:14 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic2/IPSocketAddress.st,v 1.43 2015-02-26 10:00:31 stefan Exp $'
 ! !