Apache Commons Net v3.0.1发布

Apache Commons Net项目中封装了各种网络协议的客户端,支持的协议包括:

FTP
NNTP
SMTP
POP3
Telnet
TFTP
Finger
Whois
rexec/rcmd/rlogin
Time (rdate) and Daytime
Echo
Discard
NTP/SNTP

最大的改进:

增加对 IMAP 和 IMAPS 的支持
增加对 SMTPS 和 POP3S 的支持

Apache Commons Net 3.0.1发行说明:

Fixed Bugs:
o NET-409:  FTPClient truncates file (storeFile method).
            Fix bug introduced in release 3.0.

The prior release 3.0 fixes many bugs (see below), and adds new functionality:
 - basic support for IMAP and IMAPS
 - support for SMTPS and POP3S

FTP changes:
 - default for lenient future dates is now true, which fixes short date parsing where host clock is ahead of client clock
 - no longer parses every response line twice
 - OS auto-detection can be overriden by defining the property 'org.apache.commons.net.ftp.systemType';
 - or by creating a properties file '/systemType.properties' which provides a mapping from getSystemType() to parser name
 See the Javadoc for FTPClient.initiateListParsing(String parserKey, String pathname).
 - SASL, PLAIN and CRAM-MD5 authentication added
 - added control channel keep-alive for use with misbehaving routers, see FTPClient.setControlKeepAliveTimeout(long controlIdle)

NNTP changes:
 - reworked to use long for article numbers
 - added streaming equivalents for the array methods

Added TrustManagerUtils and KeyManagerUtils classes to simplify setting up trust and key namagers. KeyManagerUtils can be used to provide client certificates.

This release is binary-compatible with 2.2, but there are some minor changes to source compatibility:
 - telnet.TelnetClient#addOptionHandler(TelnetOptionHandler) now additionally throws IOException
 - telnet.TelnetClient#deleteOptionHandler() now additionally throws IOException
 - ftp.FTPSClient ctors no longer throw NoSuchAlgorithmException
 - Redundant CODE_nnn definitions have been removed from FTPReply, SMTPReply and NNTPReply classes
 - Unused String constants KEYSTORE_ALGORITHM, PROVIDER, STORE_TYPE, TRUSTSTORE_ALGORITHM removed from FTPSClient

All users are recommended to upgrade.

Changes in this version include:

New features:
o NET-333:  Added basic IMAP/IMAPS implementation. Thanks to Bogdan Drozdowski.
o NET-326:  A KeyManager is required when the protection level is set to 'P' with FTPSClient on active mode.
            Added KeyManagerUtils class to simplify provision of client certificates.
o NET-273:  FEAT response parsing. Added FTPClient methods: boolean hasFeature(feature [,option]),
            String fetaureValue(feature), String[] featureValues(feature)
o NET-379:  FTPClient - support for processing arbitrary commands that only use the control channel
o NET-378:  FTP listing should support MLST and MLSD.
o NET-372:  FTPSClient: java.security.cert.CertificateException: No X509TrustManager implementation available if trustManager == null
o NET-371:  Create TrustManagerFactory to provide custom TrustManagers.
o NET-327:  "Unconnected sockets not implemented" when using FTPSClient
            Added disconnect() override which resets the socket factories to their defaults Thanks to Bogdan Drozdowski.
o NET-350:  "java.net.SocketException: Broken pipe" when calling "TelnetClient.sendAYT()"
            Added SocketClient#isAvailable() method to perform additional checks on a socket. Thanks to Bogdan Drozdowski.
o NET-237:  Add streaming methods (corresponding to array methods) to NNTPClient.
o NET-314:  The FTP client should autodetect the control encoding. Thanks to Bogdan Drozdowski.
o NET-361:  Implement Telnet Command sender.
o NET-343:  Telnet client: Support Client-initiated Subnegotiation Messages. Thanks to Archie Cobbs.
o NET-344:  Telnet client: Support Listener Notification of Incoming Data. Thanks to Archie Cobbs.
o NET-352:  SASL PLAIN and CRAM-MD5 authentication. Thanks to Bogdan Drozdowski.
o NET-357:  The POP3 client does not support SSL/TLS connections. Thanks to Bogdan Drozdowski.
o NET-229:  Use properties file (/systemType.properties) to handle new OS-type auto-detection.
o NET-332:  Commons net ftp cannot handle unknown type parser and should allow override of parser through vm argument.
            The system property "org.apache.commons.net.ftp.systemType" can be used to provide the system type.
o NET-156:  New FTPClient method to retrieve all directory names in the current working directory.
            Added methods listDirectories(), listDirectories(String path).
o NET-353:  The SMTPClient does not support authentication. Thanks to Bogdan Drozdowski.
o NET-356:  The SMTP client does not support SSL/TLS connections. Thanks to Bogdan Drozdowski.
o NET-358:  Implement copy Listener in FTPClient file operations.
o NET-351:  APOP authentication fails most of the time.
            Fix by adding leading 0 if necessary. Thanks to Bogdan Drozdowski.

Fixed Bugs:
o NET-404:  FTPSSocketFactory does not override createSocket(); causes java.net.SocketException: Unconnected sockets not implemented.
o NET-399:  ftp data connection does not use connectTimeout. Thanks to Noah Levitt.
o NET-402:  IMAP, NNTP, POP3 and SMTP classes uses BufferedReader for control channel, which does not follow the standard.
            Changed reader to CRLFLineReader.
o NET-401:  FTP class uses BufferedReader for control channel, which does not follow the standard.
            Changed reader to CRLFLineReader.
o NET-268:  Better handling of CIDR/31 and CIDR/32 where isInclusive = false.
            Return 0 for address count, and 0.0.0.0 for each of the addresses
o NET-389:  Unix parser should ignore "total nnn" lines.
o NET-367:  ntp.TimeStamp uses incorrect lazy initialisation of static fields simpleFormatter and utcFormatter.
o NET-388:  VMSVersioningFTPEntryParser#preParse should not call super.preParse().
o NET-362:  TelnetInputStream has various threading bugs.
o NET-89:  TelnetClient use of FromNetASCIIInputStream and ToNetASCIIOutputStream breaks binary mode.
            See also NET-387.
o NET-354:  FTPSClient not properly supporting CCC and PROT P. Thanks to Leif John Korshavn.
o NET-365:  FTPClient.listFiles() does not work properly, if remote server speaks German.
            Match non-space{3} instead of A-Za-z{3}
o NET-366:  FTPClientConfig: setServerLanguageCode and setShortMonthNames do not work.
            Ensure that config is passed to all parsers that can use it.
o NET-276:  NNTPClient has problems with group listings for large groups.
o NET-185:  Possible NPE in Threader.java
o NET-364:  nntp.Article is very inefficient and incorrect.
o NET-363:  Can't connect to a server behind firewall in passive mode. Thanks to daniel damon.
o NET-348:  Queue is full TelnetInputStream.
o NET-345:  Telnet client: not properly handling IAC bytes within subnegotiation messages:
            - failing to double IACs on output
            - failing to de-double IACs in input Thanks to Archie Cobbs.
o NET-270:  Incorrect error handling in method initiateListParsing of FTPClient.
o NET-258:  Implement A Keepalive Mechanism. Control channel keepalive implemented for the following methods:
            appendFile, storeFile, storeUniqueFile, retrieveFile.
o NET-289:  StackOverflowError in Threader. Thanks to Luc Claes.
o NET-317:  POP3MessageInfo fields should be final.
o NET-252:  Get rid of using deprecated API in VMSFTPEntryParser.
o NET-303:  FTPFileEntryParser API samples are wrong.
o NET-286:  Unhandled SecurityException in DefaultFTPFileEntryParserFactory.createFileEntryParser when using applets.
o NET-360:  DefaultFTPFileEntryParserFactory.createFileEntryParser(String key) always tries to load a class.
o NET-359:  CopyStreamAdapter unconditionally resets the CopyStreamEvent source and is inefficient.
o NET-355:  examples.nntp.NNTPUtils does not compile

Changes:
o NET-407:  Change lenientFutureDates to default to true.
            This means short dates will be parsed as the current year when the host clock is up to 1 day ahead of the client clock.
o NET-400:  Option to override SSL negotiation. Make FTPSClient#execAuth() and FTPSClient#sslNegotiation() protected Thanks to David Kocher.
o NET-331:  AS400 file timestamp format is wrong. Workround exists.
o NET-269:  Remove semi-redundant check in SubnetUtils.calculate().
o NET-219:  Should Telnet class Exception blocks write to System.err?
            Catch blocks removed, and throws clauses added to allow caller to more easily detect and recover.
o NET-397:  FTPSClient does not handle AUTH or ADAT and only partially handles PBSZ. FTPSCommand should be deprecated. Thanks to Bogdan Drozdowski.
o NET-395:  Move ProtocolCommandSupport to SocketClient.
o NET-393:  Should the sendCommandWithID() methods be public?
            Made methods private, and deleted currently unused ones.
o NET-394:  Are the sendUntaggedCommand() methods needed?
            Renamed the method as sendData(), as it's not a command.
o NET-392:  Use enum for IMAPCommand.
o NET-381:  Parsing is inefficient, as it parses everything twice.
o NET-385:  FTP does not apply timeout to initial responses.
o NET-384:  KeyManagerUtils - the KeyManager is not efficient.
o NET-383:  KeyManagerUtils - allow alias to be omitted when there is only one private key in the store
o NET-377:  NLST does not take notice of HiddenFiles setting.
o NET-373:  NNTP Listgroups not working - broken server implementation.
o NET-375:  DotTerminatedMessageReader should extend BufferedReader, rather than Reader.
o NET-374:  ParserInitializationException doesn't use standard JDK exception chaining
o NET-368:  Threader.thread should accept an Iterable rather than a List.

Removed:
o NET-369:  Article.addHeaderField() is currently write-only - there is no way to retrieve the headers - is it needed?
            Method was removed, along with the field.
o           Removed deprecated unused fields from FTPSClient:
            - KEYSTORE_ALGORITHM, PROVIDER, STORE_TYPE, TRUSTSTORE_ALGORITHM
o NET-330:  The method VMSFTPEntryParser.parseFileList(InputStream listStream) should not be present.

Always test available signatures, e.g.,
$ pgpk -a KEYS
$ pgpv commons-net-3.0.1.tar.gz.asc
or,
$ pgp -ka KEYS
$ pgp commons-net-3.0.1.tar.gz.asc
or,
$ gpg --import KEYS
$ gpg --verify commons-net-3.0.1.tar.gz.asc

下载地址:http://www.apache.org/dist/commons/net/source/commons-net-3.0.1-src.tar.gz

时间: 2024-11-05 12:24:09

Apache Commons Net v3.0.1发布的相关文章

Creative Commons Licenses v3.0中英文版

Creative Commons Licenses v3.0中英文版,转自:http://creativecommons.org/licenses/ ,经整理贴出   Name Characteristics Version 3.0 Licenses: Attribution     Attribution-NoDerivs   Attribution-NonCommercial-NoDerivs Attribution-NonCommercial   Attribution-NonCommer

Apache Jackrabbit Oak 1.0.7 发布

Apache Jackrabbit Oak 1.0.7 发布,此版本现已提供下载.此版本是个分支版本,包括 bug 修复和系统改进,建议每位用户都升级到最新版本!更多更新内容请看发行说明. Changes in Oak 1.0.7 -------------------- Bug 修复 [OAK-1768] - DocumentNodeBuilder.setChildNode() runs OOM with large tree [OAK-2118] - Aggregation cursor i

Phusion Passenger v3.0.7发布 为Apache和Nginx提供的模块

Phusion Passenger 3.0.7 发布了!Phusion Passenger 是为http://www.aliyun.com/zixun/aggregation/14417.html">Apache和Nginx提供的模块,可用于部署Rails应用程序,它主要关注易用性和功能的稳定性,一直在持续地维护和开发中.该版本是一个bug修复版本. 它是Apache的一个模块,在Apache上安装好以后部署Rails应用也可以简单得像PHP一样:直接上传文件到某个目录就好了. 主要改进如

Apache Commons FileUpload 1.3.3 发布

Apache Commons FileUpload 1.3.3 已发布. Apache Commons FileUpload 库解析符合 RFC 1867 (HTML 中基于表单的文件上传)的 HTTP 请求.也就是说,如果使用 POST 方法提交了 HTTP 请求,并且内容类型为 "multipart / form-data",则 FileUpload 可以解析该请求,并以调用者轻松使用的方式使结果可用. 此版本唯一的更改是: FILEUPLOAD-279:为了安全起见,DiskFi

DBImport v3.0 中文版发布:支持各大数据库数据互导(IT人员必备工具)

事隔一年,做为进军海外的CYQ.DBImport 数据库工具,终于发布新版本:DBImport V3.0. 为了广大国内同胞用的舒心,本次发布中文版本(V1.V2版本为英文版),同时去掉了个人商标CYQ前缀. 另外,本版本内置未面世版CYQ.Data V5内核.   DBImport 适合人群:IT人士.站长.及和数据库打交首的相关相关人员. 只要你是开发者,难免会与数据库打交道,而且,随着项目的不同,接触的数据库也会不同, 不管是你项目需要支持多种数据库切换.还是项目需要进行平台的移值,或者是

CYQ.Data 轻量数据层之路 V3.0版本发布-Xml绝对杀手(三十二)

前言: 继正式发布V2.0到现在,已30来天了,一直静悄悄的都没发布什么版本 中间仅有插播了一下:CYQ.Data 轻量数据层之路 V2.5 抢先体验版本功能说明演示 (二十九)   只因最近花了很多时间在重构一个以前的博客,目前已完成其基础功能,不日将发布相关文章. 提前预览网址:http://www.cyqdata.com/     本次版本升级内容大体说明: 1:Access应用调整2:修正对:uniqueidentifier.ntext.text.Image等几个类型的应用.3:扩展缓存

Apache MyFaces Trinidad 2.0.0-beta-2发布

Apache MyFaces Trinidad 2.0.0-beta-2是一个基于部分Oracle's ADF Faces构建的JSF1.2组件库. Apache MyFaces Trinidad is distributed as a zip archive (for Windows) and as a tar.gz archive (for UNIX). The content is the same. Please note that the tar.gz archives contain

PHPDevShell V3.0.0-Stable发布 开源的快速应用开发框架

PHPDevShell是一款开源(GNU/LGPL)的快速应用http://www.aliyun.com/zixun/aggregation/13435.html">开发框架,用于开发不含Javascript的纯PHP.它有一个完整的GUI管理员后台界面.其主要目标在于开发插件一类的基于管理的应用,其中速度.安全.稳定性及弹性是最优先考虑的重点.其设计形成了一个简单的学习曲线,PHP开发者无需学习复杂的新术语.PHPDevShell的到来满足了开发者们对于一个轻量级但是功能完善,可以无限制

同步推V3.0全新发布 率先适配iOS8界面风格

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   随着WWDC 2014的落幕,iOS8的时代已经来临,同步推V3.0在此之际重磅推出,不仅全新设计了适配iOS8的界面风格,更在功能体验上做出优化革新,对用户至诚相待,旨在以崭新姿态引领用户进入次世代. 诚意,就是用心诚让人满意: 同步推V3.0 寄宿着加班狂魔程序猿们满满的努力,历经多少通宵达旦.放弃假期才有了如今"全面进化"的成绩. 是的