summaryrefslogtreecommitdiff
path: root/README.rst
blob: f20db2dcf56245f7a78e477906483a6acb9f2430 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
Copyright, Michael P. Soulier, 2010-2021.

Note: ChangeLog produced with python's git-changelog

About Release 0.8.2:
====================

Bugfix release:

- / hardcoded making problems for windows users

About Release 0.8.1:
====================

Bugfix release:

- replace deprecated log.warn( with log.warning(
- fixing a security issue in breaking out of the tftproot
- setup with setuptools instead of distutils.
- allow overriding select timeout in listen
- fixing reading binary data from stdin on multiple platforms
- defaulting Makefile to python3 interpreter

About Release 0.8.0:
====================
This version introduces Python 3.X support.
And there was much rejoicing.

About Release 0.7.0:
====================
Various bugfixes and refactoring for improved logging.
Now requiring python 2.7+ and tightening syntax in
preparation for supporting python 3.

About Release 0.6.2:
====================
Maintenance release to fix a couple of reported issues.

About Release 0.6.1:
====================
Maintenance release to fix several reported problems, including a rollover
at 2^16 blocks, and some contributed work on dynamic file objects.

About Release 0.6.0:
====================
Maintenance update to fix several reported issues, including proper
retransmits on timeouts, and further expansion of unit tests.

About Release 0.5.1:
====================
Maintenance update to fix a bug in the server, overhaul the documentation for
the website, fix a typo in the unit tests, fix a failure to set default
blocksize, and a divide by zero error in speed calculations for very short
transfers.

Also, this release adds support for input/output in client as stdin/stdout

About Release 0.5.0:
====================
Complete rewrite of the state machine.
Now fully implements downloading and uploading.

About Release 0.4.6:
====================
Feature release to add the tsize option.
Thanks to Kuba Kończyk for the patch.

About Release 0.4.5:
====================
Bugfix release for compatibility issues on Win32, among other small issues.

About Release 0.4.4:
====================
Bugfix release for poor tolerance of unsupported options in the server.

About Release 0.4.3:
====================
Bugfix release for an issue with the server's detection of the end of the file
during a download.

About Release 0.4.2:
====================
Bugfix release for some small installation issues with earlier Python
releases.

About Release 0.4.1:
====================
Bugfix release to fix the installation path, with some restructuring into a
tftpy package from the single module used previously.

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.

About Release 0.2:
==================
This release adds variable block sizes, and general option support,
implementing RFCs 2347 and 2348. This is accessible in the TftpClient class
via the options dict, or in the sample client via the --blocksize option.

About Release 0.1:
==================

This is an initial release in the spirit of "release early, release often".
Currently the sample client works, supporting RFC 1350. The server is not yet
implemented, and RFC 2347 and 2348 support (variable block sizes) is underway,
planned for 0.2.

About Tftpy:
============

Purpose:
--------
Tftpy is a TFTP library for the Python programming language. It includes
client and server classes, with sample implementations. Hooks are included for
easy inclusion in a UI for populating progress indicators. It supports RFCs
1350, 2347, 2348 and the tsize option from RFC 2349.

Dependencies:
-------------
Python 2.7+, hopefully. Let me know if it fails to work.

Trifles:
--------
Home page: http://tftpy.sf.net/
Project page: http://sourceforge.net/projects/tftpy/

License is the MIT License

See COPYING in this distribution.

Limitations:
------------
- Only 'octet' mode is supported.
- The only options supported are blksize and tsize.

Author:
=======
Michael P. Soulier <msoulier@digitaltorque.ca>