171 lines
11 KiB
Plaintext
171 lines
11 KiB
Plaintext
MockFtpServer Change Log
|
||
-------------------------------------------------------------------------------
|
||
|
||
Changes in version 2.5 (May 2014)
|
||
------------------------------------------
|
||
- Fix #23 PWD response should have commentary: "{0}" is current directory.
|
||
Also adjusted reply text for MKD to adhere to RFC959: "{0}" created.
|
||
- Removed deprecation of assertSessionReply(int,Object)
|
||
- Fix broken internal links on the web site pages.
|
||
- Update “Log4J Configuration Required to See Log Output” section on “FakeFtpServer – Getting Started” with info for SLF4J.
|
||
- Added MockFtpServer logo image. Thanks to cooltext.com.
|
||
|
||
|
||
Changes in version 2.4 (15 Jul 2012)
|
||
------------------------------------------
|
||
- FEATURE #2466395: Remove log4j dependency. Switch to using SLF4J (http://www.slf4j.org/).
|
||
- FEATURE #3544349: Return MockFtpServer information as part of connect 220 response.
|
||
- Upgrade to Groovy 1.7.10; fix Maven site plugin incompatibility.
|
||
- Change “pom.xml” to use SFTP to deploy to Maven repo.
|
||
|
||
|
||
Changes in version 2.3 (05 Jun 2011)
|
||
------------------------------------------
|
||
- FEATURE #2996739: Use a dynamically chosen free port number ("ephemeral")for the server control port
|
||
if you specify 0 for the serverControlPort property of FakeFtpServer or StubFtpServer. Then call
|
||
getServerControlPort() AFTER start() has been called to determine the actual port number being used.
|
||
This is useful if you are running on a system where the default port (21) is already in use or cannot
|
||
be bound from a user process (such as Unix).
|
||
- FEATURE #3304849: Add a new readData(int numBytes) to Session
|
||
- BUG #3103132: shutting down takes too long.
|
||
|
||
|
||
Changes in version 2.2 (23 Mar 2010)
|
||
------------------------------------------
|
||
- FakeFtpServer: Support renaming of directories.
|
||
* BUG FIX: #2823519 "The RnfrCommandHandler is currently set to only support renaming of files": https://sourceforge.net/tracker/?func=detail&atid=1006533&aid=2823519&group_id=208647.
|
||
* Change fake RNTO and RNFR CommandHandlers to allow renaming directories.
|
||
- BUG FIX: #2828362: "Unit tests using FakeFtpServer are slow" https://sourceforge.net/tracker/?func=detail&atid=1006533&aid=2828362&group_id=208647. DefaultSession.readCommand().
|
||
* Reduce default socket read interval time to 20ms.
|
||
- BUG FIX: #2953392: "AbstractFtpServer waits endless if binding to port fails" https://sourceforge.net/tracker/?func=detail&atid=1006533&aid=2953392&group_id=208647.
|
||
- FakeFtpServer (AbstractFakeFileSystem): Change rename() to fail if the TO file already exists.
|
||
- Add sample directory listing(s) to online docs for StubFtpServer ListCommandHandler. Update online docs/javadoc describing that multiple directory entries in a file listing can be simulated.
|
||
- PatternUtil: Support plus sign ('+') within wildcard strings. See convertStringWithWildcardsToRegex().
|
||
- TESTS: Rename AbstractTest to AbstractTestCase and AbstractGroovyTest to AbstractGroovyTestCase.
|
||
|
||
|
||
Changes in version 2.1 (16 Jun 2009)
|
||
------------------------------------------
|
||
- Added support for IPv6 (EPRT and EPSV commands) to FakeFtpServer and StubFtpServer. Thanks to Fernando Martinez for testing.
|
||
- BUG FIX: #2696898: <20>WindowsFakeFilesystem DirectoryEntry case sensitivity<74> (https://sourceforge.net/tracker/?func=detail&atid=1006533&aid=2696898&group_id=208647).
|
||
- BUG FIX: #2797980: <20>UnixFakeFileSystem IsValidName Regex incorrect<63> (https://sourceforge.net/tracker/?func=detail&atid=1006533&aid=2797980&group_id=208647).
|
||
- Add getServerControlPort() to AbstractFtpServer.
|
||
- Create HostAndPort class. Refactor both PortCommandHandler(s) and the PortParser classes to use HostAndPort.
|
||
- TESTS: Convert PortParserTest to Groovy.
|
||
|
||
|
||
Changes in version 2.0.2 (09 Mar 2009)
|
||
------------------------------------------
|
||
- BUG FIX: #2654577: 'month' in UnixDirectoryListingFormatter is Locale specific. http://sourceforge.net/tracker/index.php?func=detail&aid=2654577&group_id=208647&atid=1006533.
|
||
- BUG FIX: #2653626: Cannot start() server after calling stop(). https://sourceforge.net/tracker2/index.php?func=detail&aid=2653626&group_id=208647&atid=1006533.
|
||
|
||
|
||
Changes in version 2.0.1 (09 Feb 2009)
|
||
------------------------------------------
|
||
- BUG FIX: #2543193 <20>"cd .." and "pwd" don't work properly together<65> (https://sourceforge.net/tracker2/?func=detail&aid=2543193&group_id=208647&atid=1006533).
|
||
- BUG FIX: #2540548 <20>Missing new line on directory listing<6E> (https://sourceforge.net/tracker2/?func=detail&aid=2540548&group_id=208647&atid=1006533).
|
||
- BUG FIX: #2540366 <20>FileEntry.setContents( byte [] contents ) change the content<6E> (https://sourceforge.net/tracker2/?func=detail&aid=2540366&group_id=208647&atid=1006533).
|
||
- AbstractFtpServer: Use entrySet() to iterate through sessions (From Rijk van Haaften).
|
||
|
||
|
||
Changes in version 2.0 (03 Jan 2009)
|
||
------------------------------------------
|
||
- BUG FIX: #2462794 filesystem.pathDoesNotExist key is missing from the ReplyText resource bundle. See https://sourceforge.net/tracker2/?func=detail&aid=2462794&group_id=208647&atid=1006533
|
||
- BUG FIX: #2462973 FileEntry.cloneWithNewPath doesn't clone out field. See https://sourceforge.net/tracker/index.php?func=detail&aid=2462973&group_id=208647&atid=1006533
|
||
- Add note to online doc about requiring Log4J configuration file if you want to see log output.
|
||
|
||
|
||
Changes in version 2.0-rc3 (14 Dec 2008)
|
||
------------------------------------------
|
||
- BUG FIX: ClassCastException in AbstractFtpServer during server cleanup.
|
||
- Reorganize sample code and include in online doc.
|
||
|
||
|
||
Changes in version 2.0-rc2 (12 Dec 2008)
|
||
------------------------------------------
|
||
- BUG FIX: AbstractFtpServer: Fix bug when iterating through sessions.
|
||
- [BREAKING CHANGE] Move ConnectCommandHandler into core package.
|
||
- [BREAKING CHANGE] Unify Fake and Stub CommandHandlers. Change ServerConfiguration to remove getReplyTextBundle(); make AbstractFakeCommandHandler implement ReplyTextBundleAware instead. Change FakeFtpServer to check for ReplyTextBundleAware and set replyTextBundle. Pull common from stub/fake into AbstractCommandHandler.
|
||
- [BREAKING CHANGE] Rename AbstractCommandHandler to AbstractTrackingCommandHandler.
|
||
- Create AbstractStaticReplyCommandHandler, and make both AbstractStubCommandHandler and StaticReplyCommandHandler subclasses.
|
||
- Create new UnrecognizedCommandHandler, and use to return 502 reply from FakeFtpServer and StubFtpServer when a requested command is not supported.
|
||
- Add support for STAT command; Add systemStatus property to FakeFtpServer.
|
||
- Add support for SMNT command to FakeFtpServer;
|
||
- AbstractFtpServer: Add createSession() method. Make some attributes protected.
|
||
- StubFtpServer: Introduce AbstractStorCommandHandler. Remove final from stub CommandHandler classes.
|
||
- Cleanup code and javadoc
|
||
- DOCS: Add <20>Requirements<74> section to main (index) page. Also <20>Maven<65> section.
|
||
- DOCS: Add "Configuring CommandHandler for New (Unsupported) Command" and <20>Creating Your Own Custom CommandHandler Class<73> sections to StubFtpServer Getting Started Guide.
|
||
- DOCS: Add "Configuring Custom CommandHandlers" section to Getting Started Guide (FakeFtpServer).
|
||
- TESTS: Move AbstractCommandHandlerTest into core package.
|
||
- TESTS: Create sample test of FakeFtpServer with StaticReplyCommandHandler command handler(s).
|
||
- Create source jar during package and include within assemblies.
|
||
- Change "assembly.xml" to include "fakeftpserver*.xml" files.
|
||
|
||
|
||
Changes in version 2.0-rc1 (23 Nov 2008)
|
||
------------------------------------------
|
||
NEW FakeFtpServer.
|
||
This is an alternative "mock" FTP server implementation. FakeFtpServer provides a higher-level abstraction
|
||
than StubFtpServer. You define a virtual file system, including directories and files, as well as a set of
|
||
valid user accounts and credentials. The FakeFtpServer then responds with appropriate replies and reply
|
||
codes based on that configuration. See online documentation for more information.
|
||
StubFtpServer
|
||
- StubFtpServer: Refactored to inherit from common AbstractFtpServer superclass.
|
||
- Change default org.mockftpserver.stub.command.CdupCommandHandler CDUP reply code from 250 to 200.
|
||
- Rename ReplyCodes.SEND_DATA_INITIAL_OK and SEND_DATA_FINAL_OK to TRANSFER_DATA_.. indicate bi-directionality.
|
||
- Rename Command.getRequiredString(int) to getRequiredParameter(int).
|
||
- Change StubFtpServer CommandHandlers to reply with 501 if required command parameters are missing. Changed AbstractCommandHandler and AbstractCommandHandlerTest.
|
||
- Refactor (Stub)PortCommandHandler - pull out common logic into PortParser util class.
|
||
|
||
|
||
Changes in version 1.2.4 (01 Sep 2008)
|
||
------------------------------------------
|
||
- BUG FIX: StubFtpServer: Only execute serverSocket.close() if serverSocket != null.
|
||
- BUG FIX: Terminate replies with <CRLF> (\r\n).
|
||
- DOCS: Fix Getting Started Guide code example: setOverrideFinalReplyCode() to setFinalReplyCode().
|
||
- DOCS: Add note to Getting Started Guide about calling setServerControlPort() if on Unix system.
|
||
|
||
|
||
Changes in version 1.2.3 (13 Aug 2008)
|
||
------------------------------------------
|
||
- BUG FIX: Tracker item #2047355. Parse host IP numbers as unsigned bytes.
|
||
See https://sourceforge.net/tracker/index.php?func=detail&aid=2047355&group_id=208647&atid=1006533
|
||
|
||
|
||
Changes in version 1.2.2 (27 May 2008)
|
||
------------------------------------------
|
||
- BUG FIX: Move serverThread.start() into synchronized block to avoid server hang if
|
||
server thread runs faster than main thread.
|
||
See https://sourceforge.net/tracker/?func=detail&atid=1006533&aid=1925590&group_id=208647
|
||
|
||
|
||
Changes in version 1.2.1 (10 Mar 2008)
|
||
------------------------------------------
|
||
- Change Maven POM (pom.xml) to enable sync-ing with central Maven repository (ibiblio).
|
||
|
||
Changes in version 1.2 (29 Feb 2008)
|
||
------------------------------------------
|
||
- BUG FIX: StubFtpServer: Add wait/notify to ensure that the server starts up and opens the server
|
||
control port before the start() method returns. This fixes a potential race condition, which
|
||
shows up on some Linux systems. (Thanks to Aasman Bajaj for identifying the problem and providing the fix)
|
||
- Modify tests to make server port configurable (through "ftp.server.port" system property), allowing
|
||
tests to run on non-Windows systems.
|
||
|
||
|
||
Changes in version 1.1 (20 Feb 2008)
|
||
------------------------------------------
|
||
- StubFtpServer: Allow configuring server control connection port other than the default (21).
|
||
- AbstractTest: Add some test convenience methods.
|
||
|
||
|
||
Changes in version 1.0 final (11 Dec 2007)
|
||
------------------------------------------
|
||
- Implement default CommandHandlers for NLST, REIN, SMNT, SITE, ABOR and ALLO commands.
|
||
- Handle command names in any case.
|
||
- CwdCommandHandler: Fix PATHNAME_KEY constant value; change to "pathname".
|
||
|
||
|
||
Changes in version 1.0-RC1 (1 Nov 2007)
|
||
---------------------------------------
|
||
Initial release. |