| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: uftpd | Distribution: openSUSE Tumbleweed |
| Version: 2.16 | Vendor: openSUSE |
| Release: 1.1 | Build date: Sun Jun 21 15:34:30 2026 |
| Group: Productivity/Networking/Ftp/Servers | Build host: reproducible |
| Size: 74763 | Source RPM: uftpd-2.16-1.1.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: https://troglobit.com/uftpd.html | |
| Summary: A combined TFTP/FTP server | |
uftpd serves both TFTP and FTP without any configuration file, starts automatically from the traditional UNIX inetd super server, and is tcpwrapped.
ISC
* Sun Jun 21 2026 Martin Hauke <mardnh@gmx.de>
- Update to version 2.16
Changes
* Issue #40: IPv6 support. uftpd now opens separate IPv6
listeners for both FTP and TFTP, alongside the IPv4 ones. The
FTP data channel works over IPv6 using EPSV and EPRT (EPRT was
previously unimplemented); the legacy PASV/PORT commands stay
IPv4 only, as the protocol requires.
Build with configure --disable-ipv6 to leave IPv6 out
Fixes
* Fix #32: a session failing during setup (e.g. chroot or the
writable root check) returned into the parent's accept loop
instead of exiting, becoming a rogue listener that forked
endless sessions and left defunct (zombie) processes behind
until the system ran out of PIDs.
* Fix #41: a retransmitted TFTP WRQ reopened the destination
file, leaking a descriptor on every retry until "Too many open
files", and truncating already-received data; duplicate WRQs
are now re-acknowledged instead.
* Fix #42: bogus file size in FTP MLST/MLSD listings on 32-bit
platforms, st_size was not cast to the type expected by the
%PRIu64 format.
* Fix #43: malformed TFTP OACK, the option acknowledgment
included extra trailing NUL bytes that strict clients (e.g.
Cisco switches, U-Boot) reject.
* Fix #44: TFTP server ignored the ACK block number; a lost DATA
packet is now detected and the missing block retransmitted,
instead of streaming past it.
* Fix TFTP ACK packets padded with four stray NUL bytes (8-byte
instead of 4-byte ACK), sent when receiving an upload (WRQ).
* Fix #45: TFTP transfers larger than 65535 blocks failed at the
16-bit block number rollover; the wrapped block is now mapped
back to its absolute position so large files (or small block
sizes) transfer fully.
* Mon Dec 20 2021 Martin Hauke <mardnh@gmx.de>
- Update to version 2.15
Changes
* Silence some developer debug messages
* Always skip . and .. in FTP listings
* Internal refactoring and code cleanup
Fixes
* Fix regression introduced in v2.14, server directory name shown
in FTP
* listings instead of ., e.g. MLST . showed the directory name
* Fix #36: for real this time, now also with a test case to verify
* Fix #38: duplicate entries in FTP listings, regression in v2.14
Caused by (initially unintentional) removal of sorted listings,
where directories prior to v2.14 were listed first. This change,
albeit an accident, actually helped clean up the code base and
speed up replies
* Sat Dec 11 2021 Martin Hauke <mardnh@gmx.de>
- Update to version 2.14
* Add support for -o pasv_addr=ADDR command line argument to
override
* Add support for -p PIDFILE command line argument
* the address passed to the client in passive mode, useful for
some types of NAT setup
* Mon Oct 04 2021 Martin Hauke <mardnh@gmx.de>
- Run testsuite only on x86_64
* Tue Jun 30 2020 Martin Hauke <mardnh@gmx.de>
- Update to version 2.13
Changes
* Unit test framework in place, with regression test for issue
Fixes
* Socket leak in daemon accept() handling causing "Too many open
files". Effectively causing denial of service
* Minor memory leak fixed, only allocated once at startup.
Affects only non-MMU systems
- Run testsuite
* Mon May 25 2020 Martin Hauke <mardnh@gmx.de>
- Update to version 2.12
Changes
* Use common log message format and log level when user enters
an invalid path. This unfortunately affects changes introduced
in v2.11 to increase logging at default log level.
* Fixes
Issue #30: When entering an invalid directory with the FTP
command CWD, a NULL ptr was deref. in a DBG() message even
though the log level is set to a value lower than LOG_DEBUG.
This caused uftpd to crash and cause denial of service.
Depending on the init/inetd system used this could be
permanent.
* Sun Jan 05 2020 Martin Hauke <mardnh@gmx.de>
- Update to version 2.11
* Increased logging at default log level. Now all relevant
interaction is logged. See the man page for how to adjust.
* Fix buffer overflow in FTP PORT parser
* Fix TFTP/FTP directory traversal regression
* Fix potential DOS through non-busy loop and segfault
* Fix potential segfault through empty FTP password
* Fix potential segfault through FTP PORT command
* Mon Aug 26 2019 Martin Hauke <mardnh@gmx.de>
- Update to version 2.10
* Add support for TFTP WRQ, i.e. for clients sending files to
server
* Fix invalid TFTP error codes, now uses custom error string to
code 0
* Slightly improved debug messages
* Mon Jul 29 2019 Martin Hauke <mardnh@gmx.de>
- Update to version 2.9
* Check FTP root security after dropping privileges
* Revert insecure default: "writable FTP root", introduced in v2.8
* Revert part of issue #18 to fix issue #23; "CWD /" doesn't work
* Fix spelling errors found by Lintian
* Fix package description, more formal and less personal
* Tue May 28 2019 Martin Hauke <mardnh@gmx.de>
- Update to version 2.8
Changes:
* The FTP command processor now always converts all inbound
commands to uppercase to handle clients sending commands in
lowercase
* Any arguments to the FTP LIST command are now ignored
* Improved user feedback on bad FTP root error message
Fixes
* Fix #18: KDE Dolphin, FTP client interop problems.
* Fix off-by-one regression introduced in v2.5
/usr/sbin/in.ftpd /usr/sbin/in.tftpd /usr/sbin/uftpd /usr/share/doc/packages/uftpd /usr/share/doc/packages/uftpd/README.md /usr/share/licenses/uftpd /usr/share/licenses/uftpd/LICENSE /usr/share/man/man8/in.ftpd.8.gz /usr/share/man/man8/in.tftpd.8.gz /usr/share/man/man8/uftpd.8.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Sun Aug 2 03:56:04 2026