FTP server v1.07
Changelog v1.07:
- Fixed the memory leak.
- Implemented FTP command MDTM.
- FTP commands are now case-insensitive, as required by the FTP standard.
- FTP command LIST now supports non-directory arguments, as required by the FTP standard.
- FTP command LIST now receives the actual UID/GID and correct number of hard links.
- FTP command LIST now receives a file's last modification time (instead of last status change time).
- FTP command LIST now correctly receives set-ID on execute bits (s/S) and sticky bits (t/T) file permissions.
- Other minor improvements.
Changelog v1.06:
- Extensive code cleanup: better error handling, many small bug fixes and improvements.
- FTP commands MKD and PWD now respond correctly if filenames contain double quotes.
- FTP command QUIT now actively quits.
- Implemented FTP command NLST.
- Implemented FTP commands MODE and STRU to comply with the FTP standard's minimum requirements.
- FTP command FEAT now mentions SIZE.
- The FTP server now runs on Linux, too.
Changelog v1.05a:
- Support for clients that send "LIST -a" (i.e. Wget).
Changelog v1.05:
- The FTP server now sends an error message if the requested path does not exist (before, it sent the current directory).
- Fixed several buffer overflows when sending paths that are too long, which resulted in server crashs.
- Fixed FTP server becoming slower when cancelling the download of huge files (once and for all).
- Included some scripts to test FTP servers for some of the bugs.
- Added debug header to make future debugging easier.
- Increased file buffer from 512 B to 8192 B.
- Ready for firmware 9.03 up to 9.60.
Previous changes:
- A custom KILL command kills downloads that otherwise the server would keep sending.
- Downloading multiple SELF files simultaneously while SELF decryption is enabled won't corrupt them anymore.
- The FTP server will shutdown itself if port 1337 is already in use.
- The FTP server reports correct file sizes for encrypted files when decryption is enabled, no longer corrupting resumed downloads.
- Files larger than 4 GiB now properly resume.
The payload should work on all firmwares up to and including 10.01 (jailbreak required).