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
master
msoulier 2006-12-16 04:26:21 +00:00
parent f79a1e9828
commit ac2faa3926
4 changed files with 59 additions and 3 deletions

View File

@ -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.

12
README
View File

@ -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:

View File

@ -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:

View File

@ -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',