pyftpdlib

Open source Python FTP server library
Download

pyftpdlib Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Freeware
  • Price:
  • FREE
  • Publisher Name:
  • pyftpdlib Team
  • Publisher web site:
  • http://code.google.com/p/pyftpdlib/
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 105 KB

pyftpdlib Tags


pyftpdlib Description

Open source Python FTP server library Python FTP server library provides a high-level portable interface to easily write asynchronous FTP servers with Python. Based on the asyncore framework, pyftpdlib is currently the most complete RFC-959 FTP server implementation available for Python programming language. Here are some key features of "pyftpdlib": · High portability: entirely written in pure Python, no third party modules are used, it just should work on any system where select( ) or poll( ) are available; extremely flexible system of "authorizers" able to manage both "virtual" · High performance: multiplexing I/O with various client connections within a single process / thread. · Compact: the entire library is distributed in a single file (ftpserver.py). · Support for recent FTP commands like MLSD and MLST defined in RFC-3659. · Support for FXP, site-to-site transfers. · Support for IPv6 (RFC-2428). · NAT/Firewall support with PASV (passive) mode connections. · Support for resumed transfers. · Per-user permissions configurability. · Maximum connections limit. · Per-source-IP limits. Requirements: · Python What's New in This Release: Enhancements: · Issue #103: added unix_daemon.py script. · Issue #108: a new ThrottledDTPHandler class has been added for limiting the speed of downloads and uploads. Bugfixes: · Issue #100: fixed a race condition in FTPHandler constructor which could throw an exception in case of connection bashing (DoS). (thanks Bram Neijt) · Issue #102: FTPServer.close_all() now removes any unfired delayed call left behind to prevent potential memory leaks. · Issue #104: fixed a bug in FTPServer.handle_accept() where socket.accept() could return None instead of a valid address causing the server to crash. (OS X only, reported by Wentao Han) · Issue #104: an unhandled EPIPE exception might be thrown by asyncore.recv() when dealing with ill-behaved clients on OS X . (reported by Wentao Han) · Issue #105: ECONNABORTED might be thrown by socket.accept() on FreeBSD causing the server to crash. · Issue #109: an unhandled EBADF exception might be thrown when using poll() on OS X and FreeBSD. · Issue #111: the license used was not MIT as stated in source files. · Issue #112: fixed a MDTM related test case failure occurring on 64 bit OSes. · Issue #113: fixed unix_ftp.py which was treating anonymous as a normal user. · Issue #114: MLST is now denied unless the "l" permission has been specified for the user. · Issue #115: asyncore.dispatcher.close() is now called before doing any other cleanup operation when client disconnects. This way we avoid an endless loop which hangs the server in case an exception is raised in close() method. (thanks Arkadiusz Wahlig) · Issue #116: extra carriage returns were added to files transferred in ASCII mode. · Issue #118: CDUP always changes to "/". · Issue #119: QUIT sent during a transfer caused a memory leak. API changes since 0.5.1: · ThrottledDTPHandler class has been added. · FTPHandler.process_command() method has been added.


pyftpdlib Related Software