forked from original ftp ruby1.8.6 p420