Tim Felgentreff uploaded a new version of Network to project The Trunk:
http://source.squeak.org/trunk/Network-tfel.183.mcz==================== Summary ====================
Name: Network-tfel.183
Author: tfel
Time: 21 August 2016, 4:46:56.513391 pm
UUID: 8ae05b6c-9e45-4b04-af1a-510969feb0f8
Ancestors: Network-ul.182, Network-tfel.181
merge trunk
=============== Diff against Network-ul.182 ===============
Item was changed:
----- Method: FTPClient>>openPassiveDataConnection (in category 'private protocol') -----
openPassiveDataConnection
| portInfo list dataPort remoteHostAddress |
self sendCommand: 'PASV'.
self lookForCode: 227 ifDifferent: [:response | (TelnetProtocolError protocolInstance: self) signal: 'Could not enter passive mode: ' , response].
-
portInfo := (self lastResponse findTokens: '()') at: 2.
list := portInfo findTokens: ','.
+ remoteHostAddress := NetNameResolver addressForName: (list at: 1)
+ , '.'
+ , (list at: 2) , '.'
+ , (list at: 3) , '.'
+ , (list at: 4) timeout: 30.
- remoteHostAddress := ByteArray
- with: (list at: 1) asNumber
- with: (list at: 2) asNumber
- with: (list at: 3) asNumber
- with: (list at: 4) asNumber.
dataPort := (list at: 5) asNumber * 256 + (list at: 6) asNumber.
+ self openDataSocket: remoteHostAddress port: dataPort!
- self openDataSocket: remoteHostAddress port: dataPort
- !
Item was changed:
----- Method: HTTPServerDirectory>>entries (in category 'file directory') -----
+ entries
+ ^ [HTTPClient
+ getDirectoryListing: (self dirListUrl
+ ifNil: [^ #()])]
+ on: NameLookupFailure
+ do: [^ #()]!
- entries
- ^HTTPClient getDirectoryListing: self dirListUrl!
Item was changed:
----- Method: ProtocolClient>>port (in category 'private') -----
port
+ ^self connectionInfo at: #port ifAbsent: [nil]!
- ^self connectionInfo at: #port!
Item was changed:
----- Method: ServerDirectory>>isRoot (in category 'testing') -----
isRoot
+ ^ directory = '/'!
- ^directory = (String with: self pathNameDelimiter)!
Item was changed:
----- Method: Socket>>waitForAcceptFor:ifTimedOut: (in category 'waiting') -----
waitForAcceptFor: timeout ifTimedOut: timeoutBlock
"Wait and accept an incoming connection"
self waitForConnectionFor: timeout ifTimedOut: [^timeoutBlock value].
+ ^self isConnected
+ ifTrue:[self accept]
+ !
- ^self accept!