diff options
author | msoulier <msoulier@63283fd4-ec1e-0410-9879-cb7f675518da> | 2006-12-16 04:26:21 +0000 |
---|---|---|
committer | msoulier <msoulier@63283fd4-ec1e-0410-9879-cb7f675518da> | 2006-12-16 04:26:21 +0000 |
commit | ac2faa3926aaf152a5796e39910b192e3293b59d (patch) | |
tree | 6c152e078e71ab3c53a86cb70669b219b682b037 | |
parent | f79a1e9828e1c477930ee0f80046eb3a9a11c7e7 (diff) | |
download | tftpy-ac2faa3926aaf152a5796e39910b192e3293b59d.tar.gz |
Updated ChangeLog, and rolled version to 0.4
git-svn-id: https://tftpy.svn.sourceforge.net/svnroot/tftpy/trunk@48 63283fd4-ec1e-0410-9879-cb7f675518da
-rw-r--r-- | ChangeLog | 46 | ||||
-rw-r--r-- | README | 12 | ||||
-rwxr-xr-x | lib/tftpy.py | 2 | ||||
-rw-r--r-- | setup.py | 2 |
4 files changed, 59 insertions, 3 deletions
@@ -1,4 +1,50 @@ ------------------------------------------------------------------------ +r47 | msoulier | 2006-12-15 18:35:48 -0500 (Fri, 15 Dec 2006) | 1 line + +Making server exit gracefully. +------------------------------------------------------------------------ +r46 | msoulier | 2006-12-14 23:08:20 -0500 (Thu, 14 Dec 2006) | 1 line + +Tweak to EOF handling in server. +------------------------------------------------------------------------ +r45 | msoulier | 2006-12-14 23:01:05 -0500 (Thu, 14 Dec 2006) | 2 lines + +First working server tests with two clients. + +------------------------------------------------------------------------ +r44 | msoulier | 2006-12-14 22:04:40 -0500 (Thu, 14 Dec 2006) | 3 lines + +Added lots in the server to support a download, with timeouts. +Not yet tested with a client, but the damn thing runs. + +------------------------------------------------------------------------ +r43 | msoulier | 2006-12-14 19:44:33 -0500 (Thu, 14 Dec 2006) | 1 line + +Fixed a bug in handling block number rollovers. +------------------------------------------------------------------------ +r42 | msoulier | 2006-12-13 21:45:18 -0500 (Wed, 13 Dec 2006) | 2 lines + +Got handling of file not found working in server. + +------------------------------------------------------------------------ +r40 | msoulier | 2006-12-13 21:29:46 -0500 (Wed, 13 Dec 2006) | 1 line + +Successful test on basic select loop +------------------------------------------------------------------------ +r39 | msoulier | 2006-12-10 21:59:19 -0500 (Sun, 10 Dec 2006) | 3 lines + +Added some security checks around the tftproot. +Further fleshed-out the handler. Still not actually starting the transfer. + +------------------------------------------------------------------------ +r38 | msoulier | 2006-12-10 18:23:59 -0500 (Sun, 10 Dec 2006) | 1 line + +Fleshing out server handler implementation. +------------------------------------------------------------------------ +r37 | msoulier | 2006-12-10 14:12:43 -0500 (Sun, 10 Dec 2006) | 1 line + +Started on the server +------------------------------------------------------------------------ r31 | msoulier | 2006-12-08 20:11:39 -0500 (Fri, 08 Dec 2006) | 1 line Changed the port variables to something more intelligent. @@ -1,5 +1,13 @@ Copyright, Michael P. Soulier, 2006. +About Release 0.4: +================== +This release adds a TftpServer class with a sample implementation in bin. +The server uses a single thread with multiple handlers and a select() loop to +handle multiple clients simultaneously. + +Only downloads are supported at this time. + About Release 0.3: ================== This release fixes a major RFC 1350 compliance problem with the remote TID. @@ -43,9 +51,9 @@ See COPYING in this distribution. Limitations: ------------ -- Server is not yet implemented +- Server only supports downloads. +- Client only supports downloads. - Only 'octet' mode is supported -- Uploading in the client is not yet implemented - The only option supported is blksize Author: diff --git a/lib/tftpy.py b/lib/tftpy.py index 824d2d8..4fd21bb 100755 --- a/lib/tftpy.py +++ b/lib/tftpy.py @@ -573,6 +573,7 @@ class TftpServer(TftpSession): logger.info("Server requested on ip %s, port %s" % (listenip if listenip else '0.0.0.0', listenport)) try: + # FIXME - sockets should be non-blocking? self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.sock.bind((listenip, listenport)) except socket.error, err: @@ -752,6 +753,7 @@ class TftpServerHandler(TftpSession): now, let the OS do this.""" random.seed() port = random.randrange(1025, 65536) + # FIXME - sockets should be non-blocking? sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) logger.debug("Trying a handler socket on port %d" % port) try: @@ -3,7 +3,7 @@ from distutils.core import setup setup(name='tftpy', - version='0.3', + version='0.4', description='Python TFTP library', author='Michael P. Soulier', author_email='msoulier@digitaltorque.ca', |