diff --git a/tftp-doc.patch b/tftp-doc.patch index 20352c9..f1cb511 100644 --- a/tftp-doc.patch +++ b/tftp-doc.patch @@ -25,3 +25,21 @@ Specify the use of filename remapping. The .I remap-file is a file containing the remapping rules. See the section on filename +@@ -243,7 +243,7 @@ option, but crash with an error if they + accepted by the server. + .SH "FILENAME REMAPPING" + The +-.B \-\-mapfile ++.B \-\-map\-file + option specifies a file which contains filename remapping rules. Each + non-comment line (comments begin with hash marks, + .BR # ) +@@ -395,7 +395,7 @@ flag is used to set up a chroot() enviro + once a connection has been set up. + .PP + Finally, the filename remapping +-.RB ( \-\-mapfile ++.RB ( \-\-map\-file + flag) support can be used to provide a limited amount of additional + access control. + .SH "CONFORMING TO" diff --git a/tftp-off-by-one.patch b/tftp-off-by-one.patch new file mode 100644 index 0000000..98b0874 --- /dev/null +++ b/tftp-off-by-one.patch @@ -0,0 +1,44 @@ +Resolves: #1485943 + +--- a/tftpd/tftpd.c 2017-08-28 09:12:11.681299000 +0200 ++++ b/tftpd/tftpd.c 2017-08-28 13:30:03.109312000 +0200 +@@ -1388,24 +1388,25 @@ + return strlen(p); + + case 'x': +- if (output) { +- if (from.sa.sa_family == AF_INET) { ++ if (from.sa.sa_family == AF_INET) { ++ if (output) { + sprintf(output, "%08lX", + (unsigned long)ntohl(from.si.sin_addr.s_addr)); +- l = 8; ++ } ++ l = 8; + #ifdef HAVE_IPV6 +- } else { +- unsigned char *c = (unsigned char *)SOCKADDR_P(&from); +- p = tb; +- for (l = 0; l < 16; l++) { +- sprintf(p, "%02X", *c); +- c++; +- p += 2; +- } ++ } else { ++ unsigned char *c = (unsigned char *)SOCKADDR_P(&from); ++ p = tb; ++ for (l = 0; l < 16; l++) { ++ sprintf(p, "%02X", *c); ++ c++; ++ p += 2; ++ } ++ if (output) + strcpy(output, tb); +- l = strlen(tb); ++ l = strlen(tb); + #endif +- } + } + return l; + + diff --git a/tftp.spec b/tftp.spec index 284a38d..eea404a 100644 --- a/tftp.spec +++ b/tftp.spec @@ -1,10 +1,9 @@ -%global systemctl_bin /usr/bin/systemctl %global _hardened_build 1 Summary: The client for the Trivial File Transfer Protocol (TFTP) Name: tftp Version: 5.2 -Release: 35%{?dist} +Release: 36%{?dist} License: BSD URL: http://www.kernel.org/pub/software/network/tftp/ Source0: http://www.kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-%{version}.tar.bz2 @@ -22,10 +21,13 @@ Patch8: tftp-hpa-5.2-pktinfo.patch Patch9: tftp-doc.patch Patch10: tftp-enhanced-logging.patch Patch11: tftp-hpa-5.2-gcc10.patch +Patch12: tftp-off-by-one.patch +BuildRequires: autoconf +BuildRequires: gcc BuildRequires: make -BuildRequires: gcc -BuildRequires: readline-devel autoconf systemd-units +BuildRequires: readline-devel +BuildRequires: systemd-rpm-macros %description The Trivial File Transfer Protocol (TFTP) is normally used only for @@ -61,6 +63,7 @@ systemd socket activation, and is disabled by default. %patch9 -p1 -b .doc %patch10 -p1 -b .logging %patch11 -p1 -b .gcc10 +%patch12 -p1 -b .off-by-one %build autoreconf @@ -68,7 +71,6 @@ autoreconf make %{?_smp_mflags} %install -rm -rf ${RPM_BUILD_ROOT} mkdir -p ${RPM_BUILD_ROOT}%{_bindir} mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man{1,8} mkdir -p ${RPM_BUILD_ROOT}%{_sbindir} @@ -103,6 +105,12 @@ install -p -m 644 %SOURCE2 ${RPM_BUILD_ROOT}%{_unitdir} %{_unitdir}/* %changelog +* Tue Mar 29 2022 Dominik Mierzejewski - 5.2-36 +- fix the --mapfile/--map-file discrepancy in the manual page (Lukáš Zaoral) +- fix off-by-one reads and writes when filename remapping with macro \x is used + (Lukáš Zaoral) +- use correct dependency for systemd rpm macros and sort deps alphabetically + * Sat Jan 22 2022 Fedora Release Engineering - 5.2-35 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild