| <?xml version="1.0"?> |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| --> |
| <!-- |
| This file is also used by the maven-changes-plugin to generate the release notes. |
| Useful ways of finding items to add to this file are: |
| |
| 1. Add items when you fix a bug or add a feature (this makes the |
| release process easy :-). |
| |
| 2. Do a JIRA search for tickets closed since the previous release. |
| |
| 3. Use the report generated by the maven-changelog-plugin to see all |
| SVN commits. Set the project.properties' maven.changelog.range |
| property to the number of days since the last release. |
| |
| To generate the release notes from this file: |
| |
| mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn] |
| |
| then tweak the formatting if necessary |
| and commit |
| |
| The <action> type attribute can be add,update,fix,remove. |
| --> |
| |
| <document> |
| <properties> |
| <title>Changes</title> |
| <author email="dev@commons.apache.org">Apache Commons developers</author> |
| </properties> |
| |
| <!-- NOTE: |
| The description below is specially formatted so as to improve the layout of the generated release notes: |
| The parsing process removes all line feeds, replacing them with a single space. |
| The Velocity template in resources/templates has been enhanced to replace pairs of adjacent spaces |
| with a new-line in the release notes. (These spaces are ignored when displaying HTML). |
| If the output is not quite correct, check for invisible trailing spaces! |
| |
| N.B. The release notes template groups actions by type, and only extracts data for the current release. |
| The changes report outputs actions in the order they appear in this file. |
| |
| To regenerate the release notes: |
| mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn] |
| |
| Defining changes.version allows one to create the RN without first removing the SNAPSHOT suffix. |
| --> |
| |
| <body> |
| <release version="3.6" date="TBA" description=" |
| This is mainly a bug-fix release. See further details below. |
| |
| |
| This release is binary compatible with previous releases. |
| However it is not source compatible with releases before 3.4, as some methods were added to the interface NtpV3Packet in 3.4 |
| |
| The code now requires a minimum of Java 1.6. |
| |
| Changes to functionality: |
| The FTP client now performs stricter checks on non-multiline command replies. |
| The 3 digit code must now be followed by a space and some text, as per RFC 959. |
| To suppress this stricter checking, call FTP#setStrictReplyParsing(false). This should not be needed with a well-behaved server. |
| Note also that if strict checking is disabled, some functions may unconditionally strip the next character after the code, |
| without checking it if is a space. |
| |
| The FTP client mlistFile() method now checks for a leading space before removing it. |
| If the space is missing, a MalformedServerReplyException is thrown. |
| This will only happen if the FTP server is not compliant with RFC 3659. |
| |
| Notable additions: |
| The POP3Mail examples can now get password from console, stdin or an environment variable. |
| |
| "> |
| <action issue="NET-588" type="fix" dev="sebb" due-to="Dave Nice / Thai H"> |
| FTPClient.setPassiveNatWorkaround assumes host is outside site local range |
| </action> |
| <action issue="NET-610" type="fix" dev="sebb" due-to="Sergey Yanzin"> |
| FTPClient.mlistFile incorrectly handles MLST reply |
| </action> |
| <action issue="NET-611" type="fix" dev="sebb"> |
| FTP does not validate command reply syntax fully |
| </action> |
| <action issue="NET-609" type="fix" dev="sebb" due-to="Tqup3"> |
| DefaultUnixFTPFileEntryParserFactory Issue (leading spaces removal configuration) |
| </action> |
| <action type="update" dev="sebb"> |
| POP3Mail example: support host port; allow reading password from Console/stdin/environment |
| </action> |
| <action issue="NET-597" type="fix" dev="sebb" due-to="Hiroki Taniura"> |
| FTP fails to parse listings for Solaris 10 FTPd in Japanese |
| </action> |
| <action issue="NET-599" type="update" dev="sebb"> |
| Add shorthand FTPClientConfig constructor |
| </action> |
| <action issue="NET-593" type="fix" dev="sebb" due-to="Jörg Weule"> |
| HostnameVerifier is called with ip addess instead of the provided hostname |
| </action> |
| <action issue="NET-594" type="fix" dev="sebb" due-to="Brad Worrral"> |
| TelnetClient._closeOutputStream unhandled exception from FilterOutputStream.close |
| </action> |
| <action issue="NET-592" type="fix" dev="sebb" due-to="Mark Ford"> |
| plainSocket in FTPSClient is never closed |
| </action> |
| </release> |
| <release version="3.5" date="2016-05-05" description=" |
| This is mainly a bug-fix release. See further details below. |
| |
| |
| This release is binary compatible with previous releases. |
| However it is not source compatible with releases before 3.4, as some methods were added to the interface NtpV3Packet in 3.4 |
| |
| The code now requires a minimum of Java 1.6. |
| |
| Notable additions: |
| The IMAP examples can now get password from console, stdin or an environment variable. |
| "> |
| <action issue="NET-583" type="fix" dev="sebb" due-to="Holger Rehn"> |
| FTPClient.getReplyString() returns wrong value after connect() |
| </action> |
| <action type="add" dev="sebb"> |
| Alternative password input methods for IMAP examples |
| </action> |
| <action type="add" dev="sebb"> |
| More tests for Feb 29 handling. |
| </action> |
| <action issue="NET-586" type="fix" dev="sebb"> |
| Don't use Feb 29 for short future date tests |
| </action> |
| <action type="fix" dev="sebb"> |
| Documentation tweaks |
| </action> |
| </release> |
| <release version="3.4" date="2015-11-26" description=" |
| This is mainly a bug-fix release. See further details below. |
| |
| This release is binary compatible with previous releases. |
| However it is not source compatible, as some methods have been added to the interface NtpV3Packet |
| |
| Notable additions: |
| IMAPExportMbox (example app) allows IMAP folders to be exported into an mbox file. |
| This is the inverse of the IMAPImportMbox example added previously |
| "> |
| <action issue="NET-581" type="fix" dev="sebb"> |
| SimpleSMTPHeader fails to supply the required Date: header |
| </action> |
| <action issue="NET-582" type="fix" dev="sebb"> |
| SimpleSMTPHeader does not allow for missing To: field |
| </action> |
| <action issue="NET-580" type="fix" dev="sebb" due-to="Simon Arlott"> |
| SMTPClient.sendSimpleMessage() silently ignores failed recipients |
| Update Javadoc |
| </action> |
| <action issue="NET-579" type="fix" dev="sebb" due-to="Simon Arlott"> |
| SSL/TLS SocketClients do not verify the hostname against the certificate |
| </action> |
| <action issue="NET-576" type="update" dev="sebb"> |
| Allow FTPClient to use SYST response if system type is not specified in configuration |
| </action> |
| <action issue="NET-575" type="update" dev="sebb"> |
| FTPClientExample should support setting the date format |
| </action> |
| <action issue="NET-538" type="fix" dev="sebb" due-to="Dzmitry"> |
| FTPHTTPClient should use socket factory to create sockets |
| </action> |
| <action issue="NET-566" type="fix" dev="sebb" due-to="Gary Russell"> |
| UnixFTPEntryParser Drops Leading Spaces from File Names |
| </action> |
| <action type="update" dev="sebb"> |
| examples/Main now uses a property file to define aliases instead of scanning class files |
| </action> |
| <action issue="NET-552" type="fix" dev="sebb" due-to="Quentin Devriendt"> |
| SocketTimeoutException connecting a FTP server via an HTTP Proxy |
| </action> |
| <action issue="NET-528" type="add" dev="sebb"> |
| FTPListParseEngine does not provide access to raw responses |
| </action> |
| <action issue="NET-565" type="add" dev="sebb"> |
| Add FTPClient method to return an FTPFile from an MDTM command |
| </action> |
| <action issue="NET-564" type="update" dev="sebb"> |
| FTPFile.toFormattedString - allow specification of TimeZone for display |
| </action> |
| <action issue="NET-562" type="update" dev="sebb"> |
| FTPFile.toFormattedString should print only signficant parts of the parsed date |
| </action> |
| <action issue="NET-563" type="fix" dev="sebb"> |
| MLSxEntryParser needs test cases; parsing is too lax |
| </action> |
| <action issue="NET-561" type="fix" dev="sebb"> |
| FTPFile.toFormattedString prints user and group in wrong order |
| </action> |
| <action issue="NET-544" type="fix" dev="sebb" due-to="Olivier Queyrut "> |
| FTPClient.initiateListParsing does not correctly check if parserKey was cached |
| </action> |
| <action issue="NET-554" type="update" dev="sebb"> |
| Simplify TelnetOptionHandler class hierarchy |
| </action> |
| <action issue="NET-558" type="fix" dev="sebb" due-to="Ralph Becker"> |
| FTPClient.getModificationTime(filename) returns complete received line including response code and EOL |
| Strip the response code and EOL |
| </action> |
| <action issue="NET-556" type="update" dev="sebb" due-to="Andy Rosa"> |
| Make SubnetInfo.isInRange(int) public |
| </action> |
| <action issue="NET-550" type="fix" dev="sebb" due-to="Geoffrey Hardy"> |
| Default FTPClient bufferSize results in very slow retrieve transfers |
| Fix code in Util#copyStream (also copyReader) that failed to use the proper default for buffer size 0 |
| </action> |
| <action issue="NET-551" type="fix" dev="sebb"> |
| Util copyReader calls CopyStreamListener.bytesTransferred with the incorrect value for bytesTransferred |
| </action> |
| <action type="update" dev="sebb"> |
| Added control character processing to TelnetClientExample |
| </action> |
| <action issue="NET-547" type="update" dev="sebb" due-to="Fabio Scippacercola"> |
| There is a lack of documentation regarding setControlKeepAliveTimeout |
| </action> |
| <action issue="NET-549" type="fix" dev="sebb" due-to="Pradeep Natarajan"> |
| Telnet does not convert LF to CRLF in ASCII mode |
| </action> |
| <action issue="NET-543" type="fix" dev="sebb" due-to="Ferry Huberts"> |
| telnet: spy read EOL is reversed |
| </action> |
| <action issue="NET-540" type="add" dev="sebb"> |
| Article#printThread should have option to use any PrintStream |
| </action> |
| <action issue="NET-539" type="fix" dev="sebb"> |
| NPE if Threader.thread invoked with empty list or with null array |
| </action> |
| <action issue="NET-536" type="add" dev="sebb"> |
| IMAP FETCH example |
| IMAPExportMbox can export selected nessages from an IMAP folder |
| </action> |
| <action issue="NET-535" type="add" dev="sebb"> |
| IMAP FETCH can overflow reply buffer; provide for partial responses |
| </action> |
| <action issue="NET-534" type="update" dev="sebb"> |
| Unnecesssary call to getReplyString() if no listeners configured |
| </action> |
| <action issue="NET-530" type="fix" dev="sebb" due-to="fish ship"> |
| input parameter of org.apache.commons.net.ftp.FTP.__getReply(boolean) is not used |
| </action> |
| <action issue="NET-529" type="fix" dev="sebb" due-to="Putinas Piliponis"> |
| SubnetUtils throws exception on valid input |
| </action> |
| <action issue="NET-527" type="add" dev="sebb" due-to="jason mathews"> |
| Add SimpleNTPServer as example and for testing |
| </action> |
| <action issue="NET-516" type="fix" dev="sebb" due-to="Asha K S & pavan"> |
| parser problem occurs if the filename contains one or more characters of which the second byte of Shift-JIS code is 0x85 |
| Fix NT parser |
| </action> |
| <action type="update" dev="sebb"> |
| Added control encoding option to FTPClientExample |
| </action> |
| <action issue="NET-526" type="update" dev="sebb" due-to="Jason Mathews, MITRE Corp"> |
| Added missing set methods on NTP class and interface |
| </action> |
| <action issue="NET-526" type="update" dev="sebb"> |
| Avoid greedy matches within a regex |
| </action> |
| <action issue="NET-520" type="fix" dev="sebb"> |
| SubnetUtils("0.0.0.0/0") does not behave as expected |
| Fixed range checking so network and broadcast addresses are treated as unsigned ints |
| </action> |
| <action issue="NET-521" type="fix" dev="sebb"> |
| SubnetUtils.SubnetInfo.getAddressCount() can overflow as it returns an int |
| </action> |
| <action issue="NET-515" type="fix" due-to="Sebastian Ritter"> |
| FTPClient sample in class javadoc "bug" |
| </action> |
| <action issue="NET-519" type="fix"> |
| Apache Commons Net 3.3 has a performance issue |
| </action> |
| <action issue="NET-517" dev="sebb" type="fix" due-to="David Kocher"> |
| FTPClient#reinitialize is package protected |
| </action> |
| <action issue="NET-512" dev="sebb" type="add" due-to="Thomas Raddatz"> |
| Downloading files or members from the AS400 QSYS file system is not supported |
| </action> |
| <action issue="NET-518" dev="sebb" type="fix" due-to="David Kocher"> |
| FTPClient#initFeatureMap should not initialize empty map if reply code is 530 |
| </action> |
| <action issue="NET-514" dev="sebb" type="fix"> |
| IMAP APPEND multiple issues in IMapClient. |
| Deprecated unusable append methods. |
| Added new append method, as well as example IMapImportMbox class to make use of it. |
| </action> |
| <action issue="NET-511" dev="ggregory" type="fix" due-to="Kyriacos Elia, Daniel Scott"> |
| Exception for new SubnetUtils("0.0.0.0/0"). |
| </action> |
| </release> |
| <release version="3.3" date="2013-06-11" description=" |
| This is mainly a bug-fix release. See further details below. |
| "> |
| <action issue="NET-509" dev="sebb" due-to="Anthony Dahanne" type="update"> |
| AuthenticatingSMTPClient needs a constructor with the isImplicit argument for SSL |
| </action> |
| <action issue="NET-501" dev="sebb" due-to="Julián Lastiri" type="fix"> |
| Race Condition on TelnetClient.disconnect() and TelnetInputStream.run() |
| java.lang.IllegalStateException: Queue is full! Cannot process another character. |
| </action> |
| <action issue="NET-505" dev="sebb" due-to="Sean Kelley" type="update"> |
| User specified bufferSize reset to default when FTPClient is disconnected or reinitialized resulting in performance degradation. |
| </action> |
| <action issue="NET-507" dev="sebb" due-to="Jiri Netolicky" type="update"> |
| Option to disable private IP replacement in FTP passive mode. |
| </action> |
| <action issue="NET-503" dev="sebb" due-to="Ofer Regev" type="add"> |
| AuthenticatingSMTPClient does not support non-default encoding |
| </action> |
| <action issue="NET-500" dev="sebb" due-to="Michael Frick" type="fix"> |
| Always call FTPClient#setFileType after connection. |
| Not all servers default to ASCII. |
| </action> |
| <action issue="NET-465" dev="sebb" due-to="Jim Kerwood" type="fix"> |
| FTPClient setSendBufferSize and setReceiveBufferSize on data socket. |
| The previous fix caused performance problems. |
| Added new getters and setters for the SO_SNDBUF and SO_RCVBUF values to be used on the data socket. |
| </action> |
| <action issue="NET-496" dev="sebb" type="add"> |
| Util copyReader/copyStream classes should use default buffer size for non-positive buffer size parameters. |
| </action> |
| <action issue="NET-310" dev="sebb" type="add"> |
| FTPCommand conversion to use enum; added FTPCmd emum and deprecated FTPCommand. |
| </action> |
| <action issue="NET-480" dev="sebb" due-to="Peter Naber" type="fix"> |
| Wrong passivHost when using FTPHTTPClient with EPSV |
| </action> |
| <action issue="NET-494" dev="sebb" type="fix"> |
| FTPClient.CSL.cleanUp() fails to restore timeout value on exception |
| </action> |
| <action issue="NET-492" dev="sebb" due-to="Tomasz Jedrzejewski" type="fix"> |
| FTPClient.printWorkingDirectory() incorrectly parses certain valid PWD command results |
| </action> |
| </release> |
| <release version="3.2" date="2012-12-03" description=" |
| This release fixes bugs and adds some new functionality (see below). |
| It is binary compatible with previous releases. |
| Note that Clirr shows that two public methods have been removed (NET-485). These are not used within NET. |
| "> |
| <action issue="NET-46" dev="sebb" type="fix"> |
| retrieveFileStream fails randomly or hangs |
| </action> |
| <action issue="NET-485" dev="sebb" type="fix"> |
| Remove unnecessary Base64 methods. |
| </action> |
| <action issue="NET-482" dev="sebb" type="update" due-to="Houman Atashbar"> |
| Support XOAUTH. |
| </action> |
| <action issue="NET-484" dev="sebb" type="fix"> |
| Base64.CHUNK_SEPARATOR should be private |
| </action> |
| <action issue="NET-483" dev="sebb" type="fix"> |
| Base64.encodeBase64(byte[], boolean, boolean, int) does not calculate output size correctly for unchunked output. |
| </action> |
| <action issue="NET-466" dev="sebb" type="fix" due-to="Martin Oberhuber"> |
| Regression: TelnetInputStream#available() blocks. |
| </action> |
| <action issue="NET-426" dev="sebb" type="fix" due-to="Ketan"> |
| FTPS: Hook to customize _openDataConnection_ SSLSocket before startHandshake() is called. |
| Implement _openDataConnection(String, String) method to properly |
| interface with FTPClient.openDataConnection(String, String) |
| </action> |
| <action issue="NET-456" dev="sebb" type="fix"> |
| TelnetClient hangs when reader-thread startup is delayed. |
| </action> |
| <action issue="NET-449" dev="sebb" type="fix"> |
| listFiles bug with folder that begins with "-". Clarify Javadoc. |
| </action> |
| <action issue="NET-473" dev="sebb" type="fix"> |
| FTPClient setSoTimeout (int time) will result in NullPointerException. Clarify Javadoc. |
| </action> |
| <action issue="NET-468" dev="sebb" type="add" due-to="Bogdan Drozdowski"> |
| Request for native support for socks proxy routing with Commons net FTP. |
| </action> |
| <action issue="NET-475" dev="sebb" type="fix"> |
| FtpClient sends REST when calling listFiles. Clarified Javadoc. |
| </action> |
| <action issue="NET-465" dev="sebb" type="add" due-to="Bogdan Drozdowski"> |
| FTPClient setSendBufferSize and setReceiveBufferSize on data socket. |
| </action> |
| <action issue="NET-462" dev="sebb" type="add" due-to="Bogdan Drozdowski"> |
| FTPClient in PASSIVE_LOCAL_DATA_CONNECTION_MODE cannot work when host have several different IP. |
| </action> |
| <action issue="NET-467" dev="sebb" type="fix"> |
| IMAPClient#fetch() does not handle literal strings. |
| </action> |
| <action issue="NET-458" dev="sebb" type="fix" due-to="Denis Molony"> |
| MVSFTPEntryParser.parseSimpleEntry - ArrayIndexOutOfBoundsException. |
| </action> |
| <action issue="NET-450" dev="sebb" type="fix" due-to="Roger Hardiman"> |
| Bug in documentation for FTPClient. |
| </action> |
| <action dev="sebb" type="add"> |
| The examples can now be run using "java -jar commons-net-examples-m.n.jar". |
| This will automatically include the main net jar in the classpath. |
| See documentation. |
| FTPClientExample now supports "-A" for anonymous login |
| </action> |
| <action issue="NET-442" dev="sebb" type="fix"> |
| StringIndexOutOfBoundsException: String index out of range: -1 if server respond with root is current directory. |
| </action> |
| <action issue="NET-444" dev="sebb" type="fix"> |
| FTPTimestampParserImpl fails to parse future dates correctly on Feb 28th in a leap year. |
| </action> |
| </release> |
| <release version="3.1" date="Feb 20, 2012" description=" |
| This release fixes a few bugs and adds some new functionality (see below). |
| It is binary compatible with previous releases |
| "> |
| <action issue="NET-441" dev="sebb" type="fix" due-to="consiliens"> |
| [FTP] mlistDir doc should be "MLSD" not "MSLD". |
| </action> |
| <action issue="NET-440" dev="sebb" type="add"> |
| [FTP] Allow user to provide default value in case SYST command fails. |
| </action> |
| <action issue="NET-438" dev="sebb" type="fix" due-to="Norman Maurer"> |
| POP3Client.capa() should call POP3Client.getAdditionalReply() |
| </action> |
| <action issue="NET-412" dev="sebb" type="fix" due-to="Chuck Wolber"> |
| TFTP implementation subject to Sorcerer's Apprentice Syndrome |
| </action> |
| <action issue="NET-410" dev="sebb" type="fix" due-to="Chuck Wolber"> |
| TFTP does not handle RFC 783 retransmits |
| </action> |
| <action issue="NET-437" dev="sebb" type="fix" due-to="Gavin Camp"> |
| TelnetInputStream doesn't support non-blocking IO when reader thread is not enabled |
| </action> |
| <action issue="NET-346" dev="sebb" type="add" due-to="Kevin Samuel"> |
| FTP should support reporting NATed external IP address |
| </action> |
| <action issue="NET-433" dev="sebb" type="add"> |
| Commons NET site should link to the examples |
| </action> |
| <action issue="NET-422" dev="sebb" type="fix" due-to="Tomas Mysik / Magnus Johansson"> |
| FTP using HTTP proxy not working |
| </action> |
| <action issue="NET-423" dev="sebb" type="fix" due-to="Jens Koch"> |
| FTPClient.storeFIle might fail when ControlKeepAliveTimeout is set (ditto for FTPCLient.retrieveFile) |
| </action> |
| <action issue="NET-426" dev="sebb" type="add" due-to="Ketan"> |
| FTPS: Hook to customize _openDataConnection_ SSLSocket before startHandshake() is called |
| </action> |
| <action issue="NET-430" dev="sebb" type="fix" due-to="Thomas Mathis"> |
| Can't login to POP3S Server using explicit mode |
| </action> |
| <action issue="NET-434" dev="sebb" type="fix" due-to="zhangyong"> |
| FTPClient fails to close local listener socket when command socket channel encounter "ReadTimeoutException" |
| </action> |
| <action issue="NET-436" dev="sebb" type="add" due-to="Jürgen Jung"> |
| [FTP] Support for SYST "Mac OS" listing - "MACOS Peter's Server" |
| </action> |
| <action issue="NET-425" dev="sebb" type="update" due-to="Steven Jardine"> |
| [FTP] _openDataConnection_, __storeFile, and __storeFileStream should be protected and take String for FTP command. |
| Likewise for receiveFile and receiveFileStream. |
| </action> |
| <action issue="NET-416" dev="sebb" type="update" due-to="Abhijeet Gaikwad"> |
| [Telnet] Increasing sub-negotiation message holder array size |
| </action> |
| <action issue="NET-428" dev="sebb" type="fix" due-to="sebb"> |
| SubnetUtils throws ArrayIndexOutOfBoundsException for new SubnetUtils( "1.2.3.4/32" ).getInfo().getAllAddresses() |
| </action> |
| <action issue="NET-421" dev="sebb" type="fix" due-to="Oliver Saggau"> |
| Problem connecting to TLS/SSL SMTP server using explicit mode. |
| </action> |
| <action issue="NET-415" dev="sebb" type="fix" due-to="george thomas"> |
| [Site] typo in migration how-to. |
| </action> |
| </release> |
| |
| <release version="3.0.1" date="June 6, 2011" description=" |
| This is a bug-fix release. |
| "> |
| <action issue="NET-409" dev="sebb" type="fix"> |
| FTPClient truncates file (storeFile method). |
| Fix bug introduced in release 3.0. |
| </action> |
| </release> |
| <release version="3.0" date="May 16, 2011" description=" |
| This release 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. |
| "> |
| <action issue="NET-407" dev="sebb" type="update"> |
| 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. |
| </action> |
| <action issue="NET-404" dev="sebb" type="fix"> |
| FTPSSocketFactory does not override createSocket(); causes java.net.SocketException: Unconnected sockets not implemented. |
| </action> |
| <action issue="NET-399" dev="sebb" type="fix" due-to="Noah Levitt"> |
| ftp data connection does not use connectTimeout. |
| </action> |
| <action issue="NET-400" dev="sebb" type="update" due-to="David Kocher"> |
| Option to override SSL negotiation. Make FTPSClient#execAuth() and FTPSClient#sslNegotiation() protected |
| </action> |
| <action issue="NET-402" dev="sebb" type="fix"> |
| IMAP, NNTP, POP3 and SMTP classes uses BufferedReader for control channel, which does not follow the standard. |
| Changed reader to CRLFLineReader. |
| </action> |
| <action issue="NET-401" dev="sebb" type="fix"> |
| FTP class uses BufferedReader for control channel, which does not follow the standard. |
| Changed reader to CRLFLineReader. |
| </action> |
| <action issue="NET-331" dev="sebb" type="update"> |
| AS400 file timestamp format is wrong. Workround exists. |
| </action> |
| <action issue="NET-269" dev="sebb" type="update"> |
| Remove semi-redundant check in SubnetUtils.calculate(). |
| </action> |
| <action issue="NET-219" dev="sebb" type="update"> |
| 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. |
| </action> |
| <action issue="NET-397" dev="sebb" type="update" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl"> |
| FTPSClient does not handle AUTH or ADAT and only partially handles PBSZ. FTPSCommand should be deprecated. |
| </action> |
| <action issue="NET-268" dev="sebb" type="fix"> |
| 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 |
| </action> |
| <action issue="NET-395" dev="sebb" type="update"> |
| Move ProtocolCommandSupport to SocketClient. |
| </action> |
| <action issue="NET-393" dev="sebb" type="update"> |
| Should the sendCommandWithID() methods be public? |
| Made methods private, and deleted currently unused ones. |
| </action> |
| <action issue="NET-394" dev="sebb" type="update"> |
| Are the sendUntaggedCommand() methods needed? |
| Renamed the method as sendData(), as it's not a command. |
| </action> |
| <action issue="NET-392" dev="sebb" type="update"> |
| Use enum for IMAPCommand. |
| </action> |
| <action issue="NET-333" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl"> |
| Added basic IMAP/IMAPS implementation. |
| </action> |
| <action issue="NET-389" dev="sebb" type="fix"> |
| Unix parser should ignore "total nnn" lines. |
| </action> |
| <action issue="NET-369" dev="sebb" type="remove"> |
| Article.addHeaderField() is currently write-only - there is no way to retrieve the headers - is it needed? |
| Method was removed, along with the field. |
| </action> |
| <action issue="NET-367" dev="sebb" type="fix"> |
| ntp.TimeStamp uses incorrect lazy initialisation of static fields simpleFormatter and utcFormatter. |
| </action> |
| <action issue="NET-381" dev="sebb" type="update"> |
| Parsing is inefficient, as it parses everything twice. |
| </action> |
| <action issue="NET-388" dev="sebb" type="fix"> |
| VMSVersioningFTPEntryParser#preParse should not call super.preParse(). |
| </action> |
| <action issue="NET-362" dev="sebb" type="fix"> |
| TelnetInputStream has various threading bugs. |
| </action> |
| <action issue="NET-89" dev="sebb" type="fix"> |
| TelnetClient use of FromNetASCIIInputStream and ToNetASCIIOutputStream breaks binary mode. |
| See also NET-387. |
| </action> |
| <action issue="NET-385" dev="sebb" type="update"> |
| FTP does not apply timeout to initial responses. |
| </action> |
| <action issue="NET-384" dev="sebb" type="update"> |
| KeyManagerUtils - the KeyManager is not efficient. |
| </action> |
| <action issue="NET-383" dev="sebb" type="update"> |
| KeyManagerUtils - allow alias to be omitted when there is only one private key in the store |
| </action> |
| <action issue="NET-326" dev="sebb" type="add"> |
| 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. |
| </action> |
| <action issue="NET-273" dev="sebb" type="add"> |
| FEAT response parsing. Added FTPClient methods: boolean hasFeature(feature [,option]), |
| String fetaureValue(feature), String[] featureValues(feature) |
| </action> |
| <action issue="NET-379" dev="sebb" type="add"> |
| FTPClient - support for processing arbitrary commands that only use the control channel |
| </action> |
| <action issue="NET-378" dev="sebb" type="add"> |
| FTP listing should support MLST and MLSD. |
| </action> |
| <action issue="NET-377" dev="sebb" type="update"> |
| NLST does not take notice of HiddenFiles setting. |
| </action> |
| <action issue="NET-373" dev="sebb" type="update"> |
| NNTP Listgroups not working - broken server implementation. |
| </action> |
| <action issue="NET-375" dev="sebb" type="update"> |
| DotTerminatedMessageReader should extend BufferedReader, rather than Reader. |
| </action> |
| <action issue="NET-374" dev="sebb" type="update"> |
| ParserInitializationException doesn't use standard JDK exception chaining |
| </action> |
| <action issue="NET-372" dev="sebb" type="add"> |
| FTPSClient: java.security.cert.CertificateException: No X509TrustManager implementation available if trustManager == null |
| </action> |
| <action issue="NET-371" dev="sebb" type="add"> |
| Create TrustManagerFactory to provide custom TrustManagers. |
| </action> |
| <action issue="NET-354" dev="sebb" type="fix" due-to="Leif John Korshavn"> |
| FTPSClient not properly supporting CCC and PROT P. |
| </action> |
| <action issue="NET-368" dev="sebb" type="update"> |
| Threader.thread should accept an Iterable rather than a List. |
| </action> |
| <action issue="NET-327" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl"> |
| "Unconnected sockets not implemented" when using FTPSClient |
| Added disconnect() override which resets the socket factories to their defaults |
| </action> |
| <action issue="NET-350" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl"> |
| "java.net.SocketException: Broken pipe" when calling "TelnetClient.sendAYT()" |
| Added SocketClient#isAvailable() method to perform additional checks on a socket. |
| </action> |
| <action issue="NET-237" dev="sebb" type="add"> |
| Add streaming methods (corresponding to array methods) to NNTPClient. |
| </action> |
| <action issue="NET-365" dev="sebb" type="fix"> |
| FTPClient.listFiles() does not work properly, if remote server speaks German. |
| Match non-space{3} instead of A-Za-z{3} |
| </action> |
| <action issue="NET-366" dev="sebb" type="fix"> |
| FTPClientConfig: setServerLanguageCode and setShortMonthNames do not work. |
| Ensure that config is passed to all parsers that can use it. |
| </action> |
| <action issue="NET-276" dev="sebb" type="fix"> |
| NNTPClient has problems with group listings for large groups. |
| </action> |
| <action issue="NET-185" dev="sebb" type="fix"> |
| Possible NPE in Threader.java |
| </action> |
| <action issue="NET-364" dev="sebb" type="fix"> |
| nntp.Article is very inefficient and incorrect. |
| </action> |
| <action issue="NET-314" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl"> |
| The FTP client should autodetect the control encoding. |
| </action> |
| <action issue="NET-363" dev="sebb" type="fix" due-to="daniel damon"> |
| Can't connect to a server behind firewall in passive mode. |
| </action> |
| <action issue="NET-348" dev="sebb" type="fix"> |
| Queue is full TelnetInputStream. |
| </action> |
| <action issue="NET-361" dev="sebb" type="add"> |
| Implement Telnet Command sender. |
| </action> |
| <action issue="NET-345" dev="sebb" type="fix" due-to="Archie Cobbs"> |
| Telnet client: not properly handling IAC bytes within subnegotiation messages: |
| - failing to double IACs on output |
| - failing to de-double IACs in input |
| </action> |
| <action issue="NET-343" dev="sebb" type="add" due-to="Archie Cobbs"> |
| Telnet client: Support Client-initiated Subnegotiation Messages. |
| </action> |
| <action issue="NET-344" dev="sebb" type="add" due-to="Archie Cobbs"> |
| Telnet client: Support Listener Notification of Incoming Data. |
| </action> |
| <action issue="NET-270" dev="sebb" type="fix"> |
| Incorrect error handling in method initiateListParsing of FTPClient. |
| </action> |
| <action issue="NET-352" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl"> |
| SASL PLAIN and CRAM-MD5 authentication. |
| </action> |
| <action issue="NET-357" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl"> |
| The POP3 client does not support SSL/TLS connections. |
| </action> |
| <action dev="sebb" type="remove"> |
| Removed deprecated unused fields from FTPSClient: |
| - KEYSTORE_ALGORITHM, PROVIDER, STORE_TYPE, TRUSTSTORE_ALGORITHM |
| </action> |
| <action issue="NET-258" dev="sebb" type="fix"> |
| Implement A Keepalive Mechanism. Control channel keepalive implemented for the following methods: |
| appendFile, storeFile, storeUniqueFile, retrieveFile. |
| </action> |
| <action issue="NET-289" dev="sebb" type="fix" due-to="Luc Claes"> |
| StackOverflowError in Threader. |
| </action> |
| <action issue="NET-317" dev="sebb" type="fix"> |
| POP3MessageInfo fields should be final. |
| </action> |
| <action issue="NET-252" dev="sebb" type="fix"> |
| Get rid of using deprecated API in VMSFTPEntryParser. |
| </action> |
| <action issue="NET-330" dev="sebb" type="remove"> |
| The method VMSFTPEntryParser.parseFileList(InputStream listStream) should not be present. |
| </action> |
| <action issue="NET-303" dev="sebb" type="fix"> |
| FTPFileEntryParser API samples are wrong. |
| </action> |
| <action issue="NET-229" dev="sebb" type="add"> |
| Use properties file (/systemType.properties) to handle new OS-type auto-detection. |
| </action> |
| <action issue="NET-332" dev="sebb" type="add"> |
| 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. |
| </action> |
| <action issue="NET-286" dev="sebb" type="fix"> |
| Unhandled SecurityException in DefaultFTPFileEntryParserFactory.createFileEntryParser when using applets. |
| </action> |
| <action issue="NET-360" dev="sebb" type="fix"> |
| DefaultFTPFileEntryParserFactory.createFileEntryParser(String key) always tries to load a class. |
| </action> |
| <action issue="NET-156" dev="sebb" type="add"> |
| New FTPClient method to retrieve all directory names in the current working directory. |
| Added methods listDirectories(), listDirectories(String path). |
| </action> |
| <action issue="NET-353" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl"> |
| The SMTPClient does not support authentication. |
| </action> |
| <action issue="NET-356" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl"> |
| The SMTP client does not support SSL/TLS connections. |
| </action> |
| <action issue="NET-358" dev="sebb" type="add"> |
| Implement copy Listener in FTPClient file operations. |
| </action> |
| <action issue="NET-359" dev="sebb" type="fix"> |
| CopyStreamAdapter unconditionally resets the CopyStreamEvent source and is inefficient. |
| </action> |
| <action issue="NET-355" dev="sebb" type="fix"> |
| examples.nntp.NNTPUtils does not compile |
| </action> |
| <action issue="NET-351" dev="sebb" type="add" due-to="Bogdan Drozdowski" due-to-email="bogdandr # op . pl"> |
| APOP authentication fails most of the time. |
| Fix by adding leading 0 if necessary. |
| </action> |
| </release> |
| <release version="2.2" date="Nov 22, 2010" description=" |
| This is primarily a maintenance release, but it also includes new features and enhancements. |
| |
| Users of version 2.0 are encouraged to upgrade to 2.2, as this release includes some important bug fixes. |
| |
| See the detailed list of changes below for full description of all bug fixes and enhancements. |
| |
| "> |
| <action issue="NET-334" dev="sebb" type="fix"> |
| FromNetASCIIInputStream can throw a NullPointerException |
| </action> |
| <action issue="NET-341" dev="sebb" type="fix"> |
| FTPClient.remoteAppend(String filename) uses STOR instead of APPE |
| </action> |
| <action issue="NET-339" dev="sebb" type="fix"> |
| Incorrect parsing of timestamp on Windows CE |
| Fix parsing to allow for new-style DOS listing using 24hr clock rather than AM/PM |
| </action> |
| <action issue="NET-338" dev="sebb" type="add"> |
| ftp.FTPClient.initiateListParsing(String parserKey, String pathname) |
| can call createFileEntryParser with null systemName. |
| Fix this by adding getSystemType() which does not return null, and deprecating getSystemName(). |
| </action> |
| <action issue="NET-244" dev="sebb" type="add"> |
| Add support for FTPFileFilter filters. New classes FTPFileFilter, FTPFileFilters, new methods: |
| FTPListParseEngine#getFiles(FTPFileFilter filter) |
| FTPClient.listFiles(String pathname, FTPFileFilter filter) |
| </action> |
| <action issue="NET-313" dev="sebb" type="fix"> |
| Optionally enable EPSV with IPv4; Only send EPRT with IPv6. |
| Fix incorrect port used with EPRT. Allow activeMaxPort == activeMinPort in getActivePort() method. |
| </action> |
| <action issue="NET-328" dev="sebb" type="fix"> |
| FromNetASCIIInputStream.read(byte[], int, int) may change length passed to superclass if not doing conversion |
| </action> |
| <action issue="NET-74" dev="sebb" type="add"> |
| Testcase to show WindowSizeOptionHandler is working OK |
| </action> |
| <action issue="NET-330" dev="sebb" type="fix"> |
| The method VMSFTPEntryParser.parseFileList(InputStream listStream) should not be present. |
| Partial fix - marked method as deprecated and to be removed |
| </action> |
| <action issue="NET-180" dev="sebb" type="fix"> |
| Telnet EOR is "consumed" by TelnetInputStream when in BINARY transmission. |
| Send notification to TelnetNotificationHandler. |
| </action> |
| <action issue="NET-329" dev="sebb" type="fix"> |
| TelnetInoutStream#__read() bug in the __receiveState handling for the _STATE_IAC state. |
| </action> |
| <action issue="NET-283" dev="sebb" type="fix"> |
| SocketClient should ensure input and output streams are closed |
| </action> |
| <action issue="NET-302" dev="sebb" type="fix"> |
| FTP: initiateListParsing should not cache entryParser |
| </action> |
| <action issue="NET-282" dev="rwinston" type="fix"> |
| Improvement to isInRange method in SubnetUtil.SubnetInfo class |
| </action> |
| <action issue="NET-266" dev="rwinston" type="fix"> |
| FTPClient.listFiles() corrupts file name in certain circumstances |
| </action> |
| <action issue="NET-264" dev="sebb" type="fix"> |
| Telnet spyStream NullPointerException |
| </action> |
| <action dev="sebb" type="update"> |
| Deprecated the following unused fields from org.apache.commons.net.ftp.FTPSClient: |
| KEYSTORE_ALGORITHM, PROVIDER, STORE_TYPE, TRUSTSTORE_ALGORITHM |
| </action> |
| <action dev="niallp" type="fix"> |
| Fix site reports |
| </action> |
| <action issue="NET-285" dev="rwinston" type="fix"> |
| Add support for setting external host ip/port range |
| </action> |
| <action issue="NET-290" dev="rwinston" type="fix"> |
| Add fix and testcase for DotTerminatedMessageReader |
| </action> |
| <action issue="NET-288" dev="rwinston" type="fix"> |
| Add support for IPv6 EPRT/EPSV |
| </action> |
| <action issue="NET-305" dev="rwinston" type="fix"> |
| Fix SubnetUtils for /32 subnets and add inclusive host count flag |
| </action> |
| <action issue="NET-300" dev="rwinston" type="fix"> |
| Fix NPE when listHiddenFiles was on |
| </action> |
| <action issue="NET-215" dev="rwinston" type="fix"> |
| UNIXFTPEntryParser didn't preserve trailing whitespace in files |
| </action> |
| <action issue="NET-236" dev="rwinston" type="fix"> |
| method SubnetUtils.SubnetInfo.isInRange(addr) returns incorrect result |
| </action> |
| <action issue="NET-242" dev="rwinston" type="fix"> |
| Method createServerSocket of FTPSSocketFactory never called and thus UseClientMode is incorrect in a secured ftp transfer using active mode. |
| </action> |
| <action issue="NET-248" dev="rwinston" type="fix"> |
| Fix inconsistent command list in FTPCommand |
| </action> |
| <action issue="NET-250" dev="rwinston" type="fix"> |
| DefaultFTPFileEntryParserFactory did not work with Netware FTP server returning "NETWARE TYPE: L8" |
| </action> |
| <action issue="NET-257" dev="rwinston" type="fix"> |
| FTP.getReplyStrings() returned array of null Strings |
| </action> |
| <action issue="NET-259" dev="rwinston" type="fix"> |
| UnixFTPEntryParser regex did not match some directory entries |
| </action> |
| <action issue="NET-260" dev="rwinston" type="fix"> |
| SubnetUtils.SubnetInfo.isInRange(...) returned incorrect values |
| </action> |
| <action issue="NET-261" dev="rwinston" type="update"> |
| SubnetUtils.SubnetInfo.isInRange(...) behaviour not documented |
| </action> |
| <action issue="NET-262" dev="rwinston" type="fix"> |
| SubnetUtils did not handle /31 and /32 CIDRs well |
| </action> |
| <action issue="NET-265" dev="rwinston" type="fix"> |
| UnixFTPEntryParser failed to parse entry in certain conditions |
| </action> |
| <action issue="NET-266" dev="rwinston" type="fix"> |
| FTPClient.listFiles() corrupted file name in certain circumstances |
| </action> |
| <action issue="NET-251" dev="rwinston" type="update"> |
| Moved class "ThreadContainer" from Threader.java into its own source file |
| </action> |
| <action issue="NET-256" dev="rwinston" type="fix"> |
| FTPSClient should accept a pre-configured SSLContext |
| </action> |
| <action issue="NET-263" dev="rwinston" type="add"> |
| SubnetUtils / SubNetInfo toString() implementations |
| </action> |
| <action dev="rwinston" type="fix"> |
| Improve NNTPClient handling of invalid articles |
| </action> |
| <action dev="rwinston" type="update"> |
| Refactor examples package. |
| </action> |
| <action dev="sebb" type="add"> |
| Javadoc fixes, improvements, and refactoring. |
| </action> |
| <action issue="NET-245" dev="rwinston" type="fix"> |
| Apply MFMT patch |
| </action> |
| <action issue="NET-279" dev="rwinston" type="fix"> |
| Fix copying of reply lines collection |
| </action> |
| <action issue="NET-277" dev="rwinston" type="fix"> |
| Fix incorrect NNTP constant |
| </action> |
| <action issue="NET-274" dev="rwinston" type="fix"> |
| Restore socket state after CCC command |
| </action> |
| <action issue="NET-275" dev="rwinston" type="fix"> |
| Example code in FTPClient doesn't compile |
| </action> |
| <action dev="rwinston" type="fix"> |
| Fix inconsistent handling of socket read/write buffer size |
| </action> |
| <action issue="NET-294" dev="sebb" type="fix"> |
| UnixFTPEntryParser fails to parse some entries |
| </action> |
| </release> |
| |
| <release version="2.1" description="Not released"/> |
| |
| <release version="2.0" date="October 20, 2008" description="Java 5.0 release"> |
| <action dev="rwinston" type="fix" issue="NET-307"> |
| One of the "connect" method in class org.apache.commons.net.SocketClient doesn't handle connection timeout properly |
| </action> |
| <action dev="rwinston" type="update"> |
| Add null check in TelnetClient::disconnect(). |
| </action> |
| <action dev="rwinston" type="remove"> |
| Remove deprecated FTPFileIterator and FTPFileList classes. |
| </action> |
| <action dev="rwinston" type="add"> |
| Add connection timeout functionality to SocketClient. |
| </action> |
| <action dev="rwinston" type="update"> |
| Make the KeyManager and TrustManager settable (niklas@protocol7.com). |
| </action> |
| <action dev="rwinston" type="update"> |
| Patch FTPSClient to set default SSLServerSocketFactory. Thanks niklas@protocol7.com |
| </action> |
| <action dev="rwinston" type="fix" issue="NET-68"> |
| Patch to prevent TFTPClient dropping last packet. Thanks palm@poplarware.com |
| </action> |
| <action dev="rwinston" type="update"> |
| Change isConnected() method to delegate to underlying socket connection. |
| </action> |
| <action dev="rwinston" type="add"> |
| FTPS (TLS and SSL) is now supported. Thanks to Jose Juan Montiel, Paul Ferraro, and Satoshi Ishigami. |
| </action> |
| <action dev="rwinston" type="update"> |
| Commons::Net now uses Maven 2. The project.xml has been replaced with a pom.xml, and the source tree layout |
| has been changed accordingly. |
| </action> |
| <action dev="rwinston" type="remove"> |
| Removed old ftp2 proposal directories. |
| </action> |
| <action dev="rwinston" type="update"> |
| Commons::Net now uses JDK regex functionality, saving on an extra [oro] dependency. There are now |
| no external dependencies required. |
| </action> |
| <action dev="rwinston" type="fix"> |
| Various syntactic issues (FindBugs issues, JDK 5.0 generics support) |
| </action> |
| <action dev="dfs" type="fix"> |
| Applied Rob Hasselbaum's |
| rhasselbaum -> alumni.ithaca.edu |
| patch for PR 38688 fixing a |
| TelnetInputStream hang. |
| </action> |
| <action dev="dfs" type="update"> |
| Exposed control connection of FTP |
| class via _controlInput_ and _controlOutput_ |
| protected member variables in response |
| to PR 38309 reported by |
| josejuan.montiel@gmail.com. |
| </action> |
| <action dev="dfs" type="fix"> |
| Reverted PR 32859 patch to TFTPClient |
| because it caused final packets to not |
| be sent. |
| </action> |
| <action dev="rwinston" type="update" issue="NET-36"> |
| Make FTPClient extend SocketClient instead of TelnetClient. From jhindsley@providerlink.com |
| </action> |
| <action dev="rwinston" type="fix" issue="NET-39"> |
| Adds an "e" symbolic link flag to the Unix FTP parser. From denisgaebler@netscape.net |
| </action> |
| <action dev="rwinston" type="fix" issue="NET-119"> |
| Allow hidden files to be listed. Thanks to mario@ops.co.at |
| </action> |
| <action dev="rwinston" type="update"> |
| Remove reflective check for Socket::isConnected() (no longer needed) |
| </action> |
| <action dev="rwinston" type="add" issue="NET-136"> |
| Added WindowSizeOptionHandler for TelnetClient. Thanks to yuvalkashtan@gmail.com |
| </action> |
| <action dev="rwinston" type="update"> |
| Refactored *Client classes under net/ package into separate subpackages, and move PrintCommandListener |
| out of the examples/ package. |
| </action> |
| <action dev="rwinston" type="add"> |
| Added an ant target to the Maven build to generate an FTP-only jar file, for clients who |
| wish to use only FTP-based functionality. |
| </action> |
| <action dev="rwinston" type="update"> |
| Custom SocketFactory interface has been replaced with the JDK SocketFactory implementation. Added |
| ServerSocketFactory instance to SocketClient. |
| </action> |
| <action dev="rwinston" type="update"> |
| Removed redundant FTP.IMAGE_FILE_TYPE flag. |
| </action> |
| <action dev="rwinston" type="update"> |
| Added heavily updated MVSFTPEntryParser from henrik.sorensen@balcab.ch |
| </action> |
| <action dev="rwinston" type="remove"> |
| Removed deprecated classes FTPFileListParser, FTPFileListParserImpl, and DefaultFTPFileListParser. Also |
| removed associated deprecated methods from FTPClient. |
| </action> |
| <action dev="rwinston" type="fix" issue="NET-164"> |
| Added encoding to FingerClient. From Ulrich Mayring. |
| </action> |
| <action dev="rwinston" type="fix" issue="NET-24"> |
| Catch BindException in RCommandClient::connect(). |
| </action> |
| <action dev="rwinston" type="fix" issue="NET-178"> |
| Add encoding specifier to SMTPClient. |
| </action> |
| <action dev="rwinston" type="add"> |
| Add setters for socket send/receive buffer size to SocketClient. |
| </action> |
| <action dev="rwinston" type="fix" issue="NET-177"> |
| Fix PASV specifiers that broke previously. From Chris Eagle. |
| </action> |
| <action dev="rwinston" type="fix" issue="NET-182"> |
| Catch NPE in FTP parser factory method. |
| </action> |
| <action dev="rwinston" type="fix" issue="NET-172"> |
| Don't bind a UDP socket to NTP protocol port. |
| </action> |
| <action dev="rwinston" type="fix"> |
| Better handling of user and group names with embedded spaces in FTP listings. |
| </action> |
| <action dev="rwinston" type="fix" issue="NET-173"> |
| Add configurable multiline parsing. |
| </action> |
| <action dev="rwinston" type="fix" issue="NET-188"> |
| Add fix for broken leap year date parsing. |
| </action> |
| <action dev="rwinston" type="add"> |
| Add SubnetUtils class (suggested by Kenny McLeod) |
| </action> |
| <action dev="rwinston" type="fix" issue="NET-169"> |
| Add Unix-type handling for UNKNOWN Type: L8 syst() message systems. |
| </action> |
| <action dev="rwinston" type="fix" issue="NET-198"> |
| Allow FTPTimestampParserImpl to take a predefined Calendar instance representing current time. |
| </action> |
| <action dev="sebb" type="fix" issue="NET-194"> |
| Replace Exception with IOException |
| </action> |
| <action dev="sebb" type="update" issue="NET-214"> |
| VMS file permission parsing |
| </action> |
| <action dev="sebb" type="fix" issue="NET-208"> |
| TelnetInputStream swallows interruptedexception as IOException |
| </action> |
| <action dev="sebb" type="fix" issue="NET-223"> |
| the data connection socket is not closed when an IOException occurred |
| </action> |
| <action dev="sebb" type="fix" issue="NET-230"> |
| ParserInitializationException when connecting to a Unix FTP server: comparison string must be upper case |
| </action> |
| <action dev="sebb" type="fix" issue="NET-225"> |
| FTPFileEntryParserImpl.preParse() doesn't remove unparsable entries at the end of the file list |
| </action> |
| </release> |
| |
| |
| <!-- 1.5.0 has not yet been released, so comment out the section until it is ready for release --> |
| <!-- |
| <release version="1.5.0" date="" description=""> |
| <action dev="dfs" type="fix" issue="NET-3"> |
| TelnetInputStream.java: Applied Rob |
| Hasselbaum's |
| rhasselbaum@alumni.ithaca.edu |
| patch for PR 38688 fixing a |
| TelnetInputStream hang. |
| </action> |
| <action dev="rwinston" type="fix" |
| issue="NET-73"> |
| TelnetInputStream.java: Fixing another |
| potential deadlock for |
| telnet and FTP (patch courtesy Rob Hasselbaum). |
| </action> |
| <action dev="dfs" type="update" issue="NET-57"> |
| FTP.java: Exposed control connection of |
| FTP |
| class via _controlInput_ and |
| _controlOutput_ |
| protected member variables in response |
| to PR 38309 reported by |
| josejuan.montiel@gmail.com. |
| </action> |
| <action dev="rwinston" type="fix" |
| issue="NET-68"> |
| TFTPClient.java: Fix bug causing final |
| packets |
| to not be sent. |
| </action> |
| <action dev="rwinston" type="fix" |
| issue="NET-161"> |
| TFTPClient.java: Fix sendFile() (related |
| to NET-68). |
| </action> |
| <action dev="rwinston" type="fix" |
| issue="NET-181"> |
| TFTPClient.java: block number |
| wraparound. |
| </action> |
| <action dev="scohen" type="fix" issue="NET-16"> |
| UNIXFTPEntryParser.java: support for |
| group names with |
| spaces (patch courtesy D. Kilzer). |
| </action> |
| <action dev="scohen" type="fix" issue="NET-62"> |
| DefaultFTPFileEntryParserFactory.java: |
| Wrap |
| NoClassDefFoundError in FTP parser exception |
| when ORO is not available. |
| </action> |
| <action dev="rwinston" type="add" |
| issue="NET-33"> |
| FTPClient.java: Fix closing FTP |
| ServerSocket after timeout |
| </action> |
| <action dev="rwinston" type="add"> |
| FTPClientConfig.java: Added an FTP |
| parser for Netware FTP servers. |
| Tested on Novell Netware 6.5. |
| </action> |
| <action dev="rwinston" type="fix" |
| issue="NET-188"> |
| FTPTimestampParserImpl.java: Fix leap |
| year date parsing bug. |
| </action> |
| <action dev="rwinston" type="fix"> |
| Article.java: Fix minor issues with NNTP |
| parsing. |
| </action> |
| </release> |
| --> |
| |
| |
| <release version="1.4.1" date="December 3, 2005" description="fix release to restore jdk 1.3 compatability"> |
| <action dev="scohen" type="fix"> |
| Applied patches for defect 37113. Code incompatible with jdk 1.3. Original patch submitted by Andrea Rombald |
| </action> |
| <action dev="scohen" type="fix"> |
| Applied patches for defect 37522. updated project.xml to correct compatibility level. |
| </action> |
| </release> |
| |
| <release version="1.4.0" date="May 7, 2005" description="Some additions and enhancements"> |
| <action dev="dfs" type="fix"> |
| Fixed typo in method name. |
| FTP.removeCommandListener() was missing |
| the L. Problem reported by |
| Per.Lindberger@linkon.se. |
| </action> |
| <action dev="rwinston" type="fix"> |
| Applied fix for PR 33942 and PR 31793. Original patch submitted by mario@ops.co.at |
| </action> |
| <action dev="rwinston" type="fix"> |
| TFTPClient was ignoring final ACK (PR 32859). Thanks to perttu.auramo@ekahau.com |
| </action> |
| <action dev="rwinston" type="fix"> |
| Applied fix for ACL parsing in the FTP client (PR 33972). Submitted by robertalasch@yahoo.com |
| </action> |
| <action dev="rwinston" type="fix"> |
| Added missing NTP/SNTP unit tests to the codebase. |
| </action> |
| <action dev="dfs" type="fix"> |
| Applied fix for POP3Client returning empty reply strings (PR 34133). Thanks to sammy_c@lineone.net |
| </action> |
| <action dev="rwinston" type="fix"> |
| NTP port parameter was being ignored (PR 34219). Fixed by felix.eichhorn@3soft.de |
| </action> |
| <action dev="scohen" type="add"> |
| An FTP parser for MVS was added. Submitted by wnoto@openfinance.com |
| </action> |
| <action dev="scohen" type="add"> |
| Added functionality for extensible parsing of FTP responses, using a configurable format string. This should enable the FTP client to operate across many different locales and date formats. |
| </action> |
| </release> |
| |
| <release version="1.3.0" date="December 15, 2004" description="many fixes and enhancements"> |
| <action dev="rwinston" type="fix"> |
| Applied patch for PR 31793. Thanks to mario@ops.co.at |
| </action> |
| <action dev="rwinston" type="add"> |
| Added message threading functionality to the NNTP client. |
| </action> |
| <action dev="rwinston" type="update"> |
| Added return code 521 to FTPReply.java - this should obviate the need for the Ant FTP task to manually declare it. |
| </action> |
| <action dev="rwinston" type="fix"> |
| Add explicit notify() in TelnetInputStream::read(), so available() returns an accurate value. Thanks to tpalkot@gmail.com. |
| </action> |
| <action dev="rwinston" type="add"> |
| Added SNTP/NTP components into the Commons-Net codebase, courtesy of |
| Jason Matthews. |
| </action> |
| <action dev="rwinston" type="add"> |
| Added POP3 test suite, courtesy of Mike George mike.george@comcast.net. |
| </action> |
| <action dev="scohen" type="fix"> |
| Applied fix for FTPClient returning null for certain timestamp formats (BUG #30737) |
| </action> |
| <action dev="rwinston" type="fix"> |
| Build.xml fixes - dont include example classes in redistributable |
| .jar, remove test dependency from javadoc target, and exclude private members from generated javadoc. |
| </action> |
| <action dev="rwinston" type="fix"> |
| Fixed bug in TFTPClient::setMaxTimeout(), spotted by steve@widge.net |
| </action> |
| <action dev="dfs" type="fix"> |
| Some changes to facilitate compilation under JDK 5.0 |
| </action> |
| <action dev="rwinston" type="fix"> |
| Return correct NNTP article count when high and low watermarks are 0. |
| Spotted by jmordax@terra.es |
| </action> |
| <action dev="rwinston" type="fix"> |
| Remove trailing null byte in TFTP packets. Thanks to gerard.dens@alcatel.be |
| </action> |
| <action dev="dfs" type="fix"> |
| Many javadoc fixes. |
| </action> |
| <action dev="rwinston" type="update"> |
| Allow FTPClient to set transfer buffer size. |
| </action> |
| <action dev="rwinston" type="update"> |
| Ensure consistent handling of encoding throughout FTPClient |
| operations. Patch submitted by leif@tanukisoftware.com. |
| </action> |
| <action dev="dfs" type="fix"> |
| Fix TelnetClient zombie thread issue |
| </action> |
| |
| |
| </release> |
| <release version="1.3.0-dev" date="July 28, 2004" |
| description="regression fix"> |
| <action dev="dfs" type="fix"> |
| Fixed regression from migration to new parsers. Most of the |
| new parsers parsed the file size as an integer instead of a |
| long. Changed all of them to set the size to long. This |
| problem was detected by the reporter of: |
| http://issues.apache.org/bugzilla/show_bug.cgi?id=30345 |
| </action> |
| </release> |
| <release version="1.2.2" date="June 25, 2004" description="fix release"> |
| <action dev="scohen" type="fix"> |
| fixed bug in the way FTPClient.listFiles worked when a directory was not |
| specified. Current directory was not being 'remembered'. This was most |
| problematic in the dependent ftp task of Ant. |
| </action> |
| <action dev="scohen" type="fix"> |
| fixed handling of certain unusual "special" file types in the Unix parser. |
| </action> |
| </release> |
| |
| <release version="1.2.1" date="May 6, 2004" description="fix release"> |
| <action dev="scohen" type="fix"> |
| changed code that rendered package uncompilable under JDK 1.2 |
| </action> |
| </release> |
| |
| <release version="1.2.0" date="April 30, 2004" description="autodetection of system for listings"> |
| <action dev="scohen" type="fix"> |
| Mario Ivankovits mario@ops.co.at added |
| functionality supporting correct handling of the "dirstyle" |
| attribute of NT and OS400 servers that allows them to mimic Unix ftp servers. |
| and a bug fix affecting handling of sticky and suid bits on Unix FTP servers. |
| </action> |
| <action dev="scohen" type="add"> |
| Mario Ivankovits mario@ops.co.at added parser for OS400. |
| </action> |
| <action dev="jbrekke,scohen" type="fix"> |
| Added a functional junit test testing list parsing against real servers |
| and fix several bugs found through this test. |
| </action> |
| <action dev="dfs" type="add"> |
| Ted Wise ctwise@bellsouth.net provided a |
| patch to add the XHDR extended NNTP command. |
| </action> |
| <action dev="scohen,dfs" type="update"> |
| Deprecated FTPFileListParser interface, DefaultFTPFileListParser |
| class, and the FTPClient.listFiles methods that accepted an |
| FTPFileListParser parameter. These deprecated classes and methods |
| will be removed in version 2.0. |
| </action> |
| <action dev="scohen" type="add"> |
| Added org.apache.commons.net.parser.FTPFileEntryParserFactory |
| interface and a default implementation: |
| DefaultFTPFileEntryParserFactory. This addition facilitates the |
| autodetection of which FTPFileEntryParser to use to generate |
| listings. FTPClient.listFiles methods were added that implement |
| autodetection. |
| </action> |
| </release> |
| |
| <!-- Not yet released; probably never will be |
| <release version="1.1.1" date="TBD" description="last jdk1.1 compatible release"> |
| <action dev="scohen" type="fix"> |
| Removed all JDK 1.1 incompatibilities that had been introduced |
| unintentionally in previous versions. Release 1.1.1 is the last |
| JDK 1.1 compatible release. Any future 1.1.x maintenance releases |
| will remain JDK !.1 compatible, but version 1.2 may break |
| compatibility and will be guaranteed to work with only J2SE 1.2 |
| and later. |
| </action> |
| </release> |
| --> |
| <release version="1.1.0" date="October 23, 2003" description="many enhancements and bug fixes"> |
| <action dev="dfs" type="add"> |
| Rory Winston Rory.Winston@telewest.co.uk provided |
| patches to add the following extended NNTP commands to |
| NNTPClient: XOVER, AUTHINFO USER, AUTHINFO PASS, and |
| LIST ACTIVE. |
| </action> |
| <action dev="dfs" type="fix"> |
| Changed connection hooks for FTP, SMTP, POP3, and NNTP classes |
| to force use of an 8-bit US-ASCII superset (ISO-8859-1) for |
| protocol communication. This was necessary because |
| InputStreamReader and OutputStreamWriter use the default |
| client-side character set encoding. fasselin@ca.ibm.com |
| reported failure of SMTP on OS/390 which has EBCDIC as the |
| native character set. |
| </action> |
| |
| <action dev="dfs" type="fix"> |
| Applied variation of fix suggested by Matthieu Recouly |
| matthieu.recouly@laposte.net so that |
| UnixFTPEntryParser may handle listings of the form: |
| "drwxr-xr-x 1 usernameftp 512 Jan 29 23:32 prog" |
| where the space between user name and group is omitted. |
| </action> |
| <action dev="dfs" type="fix"> |
| Applied patch from Stephane Este-Gracias |
| sestegra@free.fr that fixes the parsing of |
| VMS listings by VMSFTPEntryParser.. |
| </action> |
| <action dev="brekke" type="fix"> |
| If the buffer queue run full, the run() method sometimes hangs forever. |
| Changed wait() to wait(100) as with other changes in TelnetInputStream. |
| Fix submitted From: J. Matysiak ( j.matysiak@cenit.de ). |
| </action> |
| <action dev="brekke" type="fix"> |
| FTP.smnt(String dir) was not passing on the dir to the SMNT command as an argument. |
| </action> |
| <action dev="brekke" type="add"> |
| Added a link to the FAQ currently hosted on the Apache Wiki. |
| </action> |
| <action dev="dfs" type="update"> |
| Changed package private NNTP._reader and NNTP._writer member |
| variables to protected NNTP._reader_ and NNTP._writer_ |
| variables as suggested by issue report 16995 to facilitate |
| extending NNTPClient functionality in subclasses. |
| </action> |
| <action dev="dfs" type="update"> |
| Changed name of FTPClient.__openDataConnection() to |
| FTPClient._openDataConnection_() to remain consistent |
| with the convention in the code that protected members |
| are of the form _foo_. At some point __openDataConnection() |
| had been changed from private to protected. |
| </action> |
| <action dev="brekke" type="add"> |
| Added terminal option support to the telnet client with tests. |
| From Bruno D'Avanzo ( b.davanzo@inwind.it ). |
| </action> |
| <action dev="scohen" type="add"> |
| New parsers merged with mainline with support for old list parsers. |
| </action> |
| </release> |
| |
| <release version="1.0.0" date="February 23, 2003" description="first jakarta-commons release"> |
| <action dev="brekke" type="add"> |
| Added a migration document for moving from NetComponents to Commons/Net. |
| </action> |
| <action dev="brekke" type="fix"> |
| Moved the ftp2 tree with tests to a proposal directory and setup |
| a build for that code. This can grow in this area so users don't |
| think it is production ready. |
| </action> |
| <action dev="dfs" type="fix"> |
| Cleaned up license header on some source. |
| </action> |
| <action dev="dfs" type="fix"> |
| Moved .io and .util to .net.io and .net.util in preparation for |
| 1.0 release. |
| </action> |
| <action dev="dfs" type="fix"> |
| Fixed typo in NNTP.removeProtocolCommandListener() method name. It |
| was missing an L. From: joev@atg.com. |
| </action> |
| <action dev="brekke" type="add"> |
| Various site updates including this changes doc and publish |
| date information. |
| </action> |
| <action dev="dfs" type="fix"> |
| Patch for restarting FTP file transfers. The offset was not |
| being sent immediately before the data transfer command on |
| account. The bug was apparently introduced in NetComponents |
| when it was decided to always send a PORT command before each data |
| transfer to avoid socket reuse problems on Windows. |
| From: Tapan Karecha ( tapan@india.hp.com ). |
| </action> |
| <action dev="dfs" type="fix"> |
| Applied a fix for potential deadlock in TelnetInputStream by |
| changing a wait() to a wait(100). |
| From: Tapan Karecha ( tapan@india.hp.com ). |
| </action> |
| <action dev="dfs" type="update"> |
| FTP examples now use passive ftp connections. |
| </action> |
| </release> |
| </body> |
| </document> |