Skip to content

Releases: fclairamb/ftpserverlib

v0.8.0: Minor changes

13 Jul 00:32
1baf1d1
Compare
Choose a tag to compare
  • #147 by @drakkan: Directory handling file descriptor leak
  • #148 by @drakkan: Expose the client version
  • #149 by @drakkan: Correctly dealing with errors when opening a connection
  • #151: Improved code quality by adding one more linter
  • #152: go-kit/log API cleanup

v0.7.0

24 May 21:29
1c25764
Compare
Choose a tag to compare

Changes are:

  • It's now only a library, not a an independent server. The server side has been moved to ftpserver.
  • Logging changes:
    • Simplified the Logger interface so that the first argument is always the message and the remaining ones key/value pairs
    • This means "action" are not reported anymore. They added a lot of development effort and didn't bring much.
  • Moved all core files (server library and tests) to the root. Only the logs are in the sub-package
  • Clarified some APIs:
    • A bit of renaming
    • Adding some returned errors
  • Switched to afero.Fs for the files handling
  • Small refactoring and code cleanup

v0.6.0 - Various updates

03 May 16:13
Compare
Choose a tag to compare

It's been quite some time (2 years) since the last release 😬.

I'm really sorry about that. I'm not very active on this project but I still take the time to review and most of the time merge the PRs your provide.

Thank you for all the contributors that have participated in improving this library so that it can become quite useable.

Changes

  • #85 Various code changes, most of them coming from #63 made by @stevenh:
    • Variables renaming, constants declaration, comments fixes, cleaner map initialization, removed variable shadowing
    • Dial timeout for active connections and usage of SetDeadLine
  • #98 by @semouk as asked in #90 by @iofxl - NLST support
  • #111 by @marodere - Fix of error when reaching listening port exhaustion
  • #119 by @ernierasta - Fix MFMT/MDTM returned statuses
  • #123 by @zavla - Proper handling of files with spaces
  • #114 by @fahman - Chmod handling fix
  • #108 - Added a reference implementation of the disk driver
  • #94 by @adrianduke - Allowing to use an absolute path
  • #81 fixes #74 reported by @nifflerfox - Loopback handling
  • #89 - Switch to go.mod
  • #79 by @Lukino2000 - Changed the default config
  • #103 - Clearer explanation around improper ASCII support reported by @shellus
  • Updated to the latest version of go-kit/log
  • Switching to golangci-lint for linting
  • #128 - Switch to github actions
  • #132 - Passive allocation port fix on port range

Notes for the future

I'd like to make a few changes to:

  • Change the driver architecture to be compatible with some existing libraries
  • Provide a set of drivers (S3, Google Drive, Dropbox)
  • Create a much better sample server so that people can comfortably use it

v0.5

05 Mar 10:58
e8c6168
Compare
Choose a tag to compare

This is a bug fix release.

  • #64 : Files listing (fixed by @backlin, reviewed by @mgenov): LIST/MLSD files listing were adding incorrect caracters
  • #71 : Handling file transfers (contributions from @buyology, @marshallbrekka): File access errors and file transfers were not correctly handled. For file access errors, this resulted in possibly giving a false impression that the file was correctly flushed because the error on Close was discarded. For errors during connection handling, it was resulting in not closing the opened file, which means file descriptor leak.

v0.4 - Improvements + Docker sample

23 Jan 00:32
d2ce42e
Compare
Choose a tag to compare

Library improvements

  • Added support for MLST FTP command, it has taken a lot of time to properly support. Mostly because of laziness (#31)
  • Allowing to use PASV behind load balancer by allowing to provide a custom listener and a dynamic way to get our IP address (#53 thanks to @marshallbrekka's work)
  • Added a connection IDLE timeout (#59 thanks to @worddevfr's request)
  • Modified the ClientContext interface API to allow to provide slightly more info about the client to the driver.
  • Dropped logrus, replaced it by go-kit/log and allowed to path a logger at server's instantiation (#33)
  • TLS auth is now added to the tests (#51 thanks to @asv's work)
  • Dropped the last mutexes (#37)
  • Switched all tests to -race testing mode and fixed a small issue (#41)

Sample server improvements

Docker

  • Added a docker build
  • Automatic upload of docker builds on docker hub
  • Running some basic tests for each docker build
  • Updated the doc to make it the recommended way to test the lib

Multi-arch builds

  • Building for lots of architecture (linux/amd64, linux/x86, linux/arm, darwin/amd64, windows/amd64, windows/x86)
  • The builds should be available as part of this release assets (hope it works)
  • Making it possible to easily run it everywhere (config file isn't mandatory)

v0.3 - Transfer fix and cleanup

09 Oct 21:01
Compare
Choose a tag to compare
  • Correct handling of files transfer in case of error, thanks to @byrnedo for reporting #30
  • Strengthen the tests to make them more stable using secsy/goftp to test active and passive transfer
  • Added MLSD command support
  • Allowing non-standard transfer file port (not 20)
  • Various code cleanups
  • Added the code of conduct (everybody is nice in Goland anyway)

v0.2 - General cleanup

09 Apr 01:13
Compare
Choose a tag to compare
  • Active FTP connections
  • Configurable range of listening port
  • Chmod support
  • General code cleanup
  • Added full travis integration

v0.1 - First release

05 Nov 18:56
Compare
Choose a tag to compare