class: IPv6SocketAddress
changed: #hostAddressFromString:
allow [] around ipv6 addresses
--- a/IPv6SocketAddress.st Thu Feb 26 11:00:31 2015 +0100
+++ b/IPv6SocketAddress.st Thu Feb 26 11:01:22 2015 +0100
@@ -11,6 +11,8 @@
"
"{ Package: 'stx:libbasic2' }"
+"{ NameSpace: Smalltalk }"
+
IPSocketAddress variableByteSubclass:#IPv6SocketAddress
instanceVariableNames:''
classVariableNames:''
@@ -93,7 +95,13 @@
^ NameLookupError raiseRequestWith:aString
errorString:' - bad address string'.
].
-
+ "allow adresses formated like: '[2001:4dd0:ffa3::1]'"
+ components first first = $[ ifTrue:[
+ components at:1 put:(components first copyFrom:2).
+ components last last = $] ifTrue:[
+ components at:components size put:(components last copyButLast:1).
+ ].
+ ].
(components last occurrencesOf:$.) == 3 ifTrue:[
"IPV4 address embedded"
bytes := IPSocketAddress hostAddressFromString:components removeLast.
@@ -144,6 +152,7 @@
IPv6SocketAddress hostAddressFromString:'a:b:c:d:e:f:7:8'
IPv6SocketAddress hostAddressFromString:'1::2:3:4'
IPv6SocketAddress hostAddressFromString:'1:2:3::4'
+ IPv6SocketAddress hostAddressFromString:'[1:2:3::4]'
IPv6SocketAddress hostAddressFromString:'::1.2.3.4'
"
! !
@@ -364,10 +373,10 @@
!IPv6SocketAddress class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic2/IPv6SocketAddress.st,v 1.18 2013-07-16 07:34:26 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic2/IPv6SocketAddress.st,v 1.19 2015-02-26 10:01:22 stefan Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic2/IPv6SocketAddress.st,v 1.18 2013-07-16 07:34:26 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic2/IPv6SocketAddress.st,v 1.19 2015-02-26 10:01:22 stefan Exp $'
! !