'From etoys4.0 of 9 October 2008 [latest update: #2335] on 20 October 2009 at 3:50:33 pm'! "Change Set: ftpClient-kzy Date: 17 October 2009 Author: Koji Yokokawa Make FTPClient work again"! !FTPClient methodsFor: 'private protocol' stamp: 'kzy 10/17/2009 23:05'! 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. dataPort := (list at: 5) asNumber * 256 + (list at: 6) asNumber. self openDataSocket: remoteHostAddress port: dataPort! !