summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormsoulier <msoulier@63283fd4-ec1e-0410-9879-cb7f675518da>2006-12-16 04:26:21 +0000
committermsoulier <msoulier@63283fd4-ec1e-0410-9879-cb7f675518da>2006-12-16 04:26:21 +0000
commitac2faa3926aaf152a5796e39910b192e3293b59d (patch)
tree6c152e078e71ab3c53a86cb70669b219b682b037
parentf79a1e9828e1c477930ee0f80046eb3a9a11c7e7 (diff)
downloadtftpy-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--ChangeLog46
-rw-r--r--README12
-rwxr-xr-xlib/tftpy.py2
-rw-r--r--setup.py2
4 files changed, 59 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 791e9ba..6baee0e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/README b/README
index 38ad26a..5cdcc00 100644
--- a/README
+++ b/README
@@ -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:
diff --git a/setup.py b/setup.py
index 702945f..969aa90 100644
--- a/setup.py
+++ b/setup.py
@@ -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',