Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix race condition when waiting for ACK | Marcin Lewandowski | 2022-03-23 | 1 | -0/+5 |
| | | | | | | | | | | | | | | | | | | TFTPy is designed in a way that socket timeout is used to calculate timeout when waiting for packet. During that time another unexpected packet may arrive. After that the socket operation is restarted and timeout is calculated from start. This might be a problem because both sides have timeout and these timeout may be different or one host may be significantly faster that another. In such situation the timeout will be never triggered as another host will always retransmit his packet faster. For most cases it does not matter because TFTP is always responding to packet sent and transmission may continue. The only one exception is no response to duplicate ACK. It is necessary to prevent Sorcerer's Apprentice Syndrome. This patch introduces additional exception TftpTimeoutExpectACK raised when reaching timeout during waiting on ACK of current block but receiving duplicate ACK of previous block. | ||||
* | Merged PR 104 | Michael P. Soulier | 2021-12-03 | 1 | -2/+5 |
|\ | |||||
| * | TftpServer: lower log level for clean shutdown msgs | Rafael Gago | 2019-09-17 | 1 | -3/+4 |
| | | | | | | | | | | | | | | | | | | Before this commit all clean shutdown sequences (without active sessions) were issuing warnings on the logs. Closing the server without active sessions is normal behavior, so it should not generate error messages. This commit fixes this. | ||||
* | | run pyupgrade | adehad | 2021-10-23 | 1 | -6/+5 |
| | | |||||
* | | re-lint after merge | adehad | 2021-10-21 | 1 | -9/+12 |
| | | |||||
* | | Merge remote-tracking branch 'upstream/master' | adehad | 2021-10-21 | 1 | -16/+12 |
|\ \ | |||||
| * | | Enhance PEP8 | Richard Vézina | 2021-10-15 | 1 | -0/+1 |
| | | | |||||
| * | | is None | Richard Vézina | 2021-10-15 | 1 | -1/+1 |
| | | | |||||
| * | | Improve natural english language readability | Richard Vézina | 2021-10-15 | 1 | -1/+1 |
| | | | |||||
| * | | No inline if | Richard Vézina | 2021-10-15 | 1 | -1/+2 |
| | | | |||||
| * | | Create list directly | Richard Vézina | 2021-10-15 | 1 | -2/+1 |
| | | | |||||
| * | | 120 is good (80 -> 120 line length) | Richard Vézina | 2021-10-15 | 1 | -25/+12 |
| | | | |||||
| * | | Optimize imports | Richard Vézina | 2021-10-15 | 1 | -6/+8 |
| | | | |||||
* | | | first attempt with github actions, various linting | adehad | 2021-10-11 | 1 | -49/+63 |
|/ / | |||||
* | | Merge pull request #115 from graingert/patch-1 | Michael P. Soulier | 2021-05-20 | 1 | -1/+1 |
|\ \ | | | | | | | allow overriding select timeout in listen | ||||
| * | | allow overriding select timeout in listen | Thomas Grainger | 2021-02-01 | 1 | -1/+1 |
| |/ | |||||
* | | Add retires paramater to client and server sessions | israelv | 2021-03-11 | 1 | -2/+3 |
| | | |||||
* | | Add retires to context initializers | israelv | 2021-03-11 | 1 | -1/+1 |
|/ | |||||
* | 2to3 | ¨Andreas | 2018-09-10 | 1 | -2/+2 |
| | | | | Not finished, a few type conversion errors still occur.2to3 | ||||
* | Adding some boilerplate | Michael P. Soulier | 2018-05-18 | 1 | -0/+2 |
| | |||||
* | Rationalized module includes and logging. | Michael P. Soulier | 2018-05-15 | 1 | -0/+3 |
| | |||||
* | Fix some deprecations and python3 incompatibilities | sedrubal | 2018-04-04 | 1 | -7/+6 |
| | |||||
* | Merged style updates, minor bug fixes | Michael P. Soulier | 2017-05-09 | 1 | -22/+21 |
|\ | |||||
| * | Release version 0.6.3_fork (forked version) | Francesco Fiorentino | 2015-07-21 | 1 | -36/+45 |
| | | | | | | | | | | | | | | | | Contains: Bug fixes in log.debug Fixes in broken code Fixes many PEP8 issues Created testWin Unit for Win environment | ||||
* | | Merge branch 'master' into dynamic | Paul Weaver | 2016-07-07 | 1 | -76/+49 |
|\ \ | | | | | | | | | | | | | | | | | | | To resolve conflict with latest changes on master Conflicts: tftpy/TftpServer.py | ||||
| * | | Fixing some python3 syntax errors | Michael P. Soulier | 2016-07-05 | 1 | -1/+1 |
| | | | |||||
| * | | Added recommended imports for python3 compatibility. | Michael P. Soulier | 2016-07-05 | 1 | -0/+1 |
| | | | |||||
| * | | Merging with master | Michael P. Soulier | 2016-07-04 | 1 | -4/+11 |
| |\ \ | |||||
| | * | | Revert "listen loop: Use epoll / poll instead of select" | Michael P. Soulier | 2016-07-04 | 1 | -64/+36 |
| | | | | | | | | | | | | | | | | This reverts commit f2ce9119d929b2040204e0aaadfac6d5f7e830d4. | ||||
| * | | | Adding python3 support | Doug O'Riordan | 2015-03-05 | 1 | -15/+15 |
| | |/ | |/| | |||||
* | | | Add a context to dynamic upload_open | Paul Weaver | 2016-06-17 | 1 | -2/+2 |
| | | | |||||
* | | | Implement dynamic upload support | Paul Weaver | 2016-06-17 | 1 | -12/+26 |
| | | | |||||
* | | | Clarify docs around dyn_file_func in TftpServer | Paul Weaver | 2016-06-17 | 1 | -3/+4 |
| |/ |/| | |||||
* | | listen loop: Use epoll / poll instead of select | Carl van Schaik | 2016-04-12 | 1 | -36/+64 |
| | | | | | | | | | | | | | | | | | | Update the main server loop to use more efficient epoll, or if not available, poll. This removes work recreating the select list on each itteration. Also add a dictionary to speed up translation of file descriptor back to a matching session. | ||||
* | | tests: fix failure due to alarm | Carl van Schaik | 2016-04-12 | 1 | -4/+11 |
|/ | | | | | | | Test cases raises an alarm in the server to call the stop() function. This actually interrupts the select system call and raises an exception instead. We catch the interrupted syscall in select and allow it to restart. | ||||
* | Added a comment. | Michael P. Soulier | 2014-09-06 | 1 | -0/+2 |
| | |||||
* | Set listenport to the port chosen by bind() | Philip Derrin | 2014-06-02 | 1 | -0/+1 |
| | | | | | | The server can be run with listenport=0, in which case bind() will select a port. In this case, it can be useful to inspect the port number, so we set self.listenport. | ||||
* | Set an event while TftpServer.listen() runs | Philip Derrin | 2014-06-02 | 1 | -0/+6 |
| | | | | | | Most non-trivial uses of TftpServer.listen() are in a dedicated thread. In this case, it can be useful to wait until the server thread is running, so we signal this with a threading.Event. | ||||
* | Added tests for server api stop. | Michael P. Soulier | 2013-09-27 | 1 | -4/+4 |
| | |||||
* | Fixing debug calls to be lazy when debug is off. | Michael P. Soulier | 2013-09-26 | 1 | -13/+12 |
| | |||||
* | Adding graceful exit condition. | Michael P. Soulier | 2013-07-27 | 1 | -0/+6 |
| | |||||
* | Adding a TftpServer.stop() method. | Michael P. Soulier | 2013-07-27 | 1 | -0/+31 |
| | |||||
* | Removing trailing whitespace | Michael P. Soulier | 2012-10-04 | 1 | -1/+1 |
| | |||||
* | improve the check on dyn_file_func of TftpServer | Michael Farrell | 2012-04-12 | 1 | -3/+3 |
| | |||||
* | allow TftpServer.root not to exist if a dyn_file_func is provided | Michael Farrell | 2012-04-11 | 1 | -2/+5 |
| | |||||
* | Fixing some pyflakes complaints | Michael P. Soulier | 2011-07-23 | 1 | -2/+1 |
| | |||||
* | Fixes issue #23, breaking up TftpStates into TftpStates and TftpContexts. | Michael P. Soulier | 2011-07-23 | 1 | -2/+2 |
| | |||||
* | Adding retries on timeouts, still have to exhaustively test. | Michael P. Soulier | 2011-07-23 | 1 | -2/+10 |
| | | | | Should close issue #21 on github. | ||||
* | Fix exceptions propagating out of TftpServer.listen() | Kenny Millington | 2010-10-22 | 1 | -1/+6 |
| | | | | Signed-off-by: Michael P. Soulier <msoulier@digitaltorque.ca> | ||||
* | Latest doc updates | Michael P. Soulier | 2010-07-11 | 1 | -6/+11 |
| |