net-ftp/tftp-hpa: drop unused package
This commit is contained in:
parent
f7304a7e7d
commit
9d6cf98057
@ -1 +0,0 @@
|
|||||||
DIST tftp-hpa-5.2.tar.xz 89564 BLAKE2B 45917ca3d710f8a4b584dbe1e9a912e06fd181e4ffcfd8fba13008f08dbbce0fe339b61fb6f97236b8012e755025d05700214e365adac81dfce42b0edd636e80 SHA512 a5198e923a6e58281f749dc77b3f3ed8579e56b6f0fd6a17482cc88bdc8d34b6702c7c709717885b9b937ecae459d9a832328a49a2e3536dc7432cdb39d2a394
|
|
@ -1,15 +0,0 @@
|
|||||||
# /etc/init.d/in.tftpd
|
|
||||||
|
|
||||||
# Path to server files from
|
|
||||||
# Depending on your application you may have to change this.
|
|
||||||
# This is commented out to force you to look at the file!
|
|
||||||
#INTFTPD_PATH="/var/tftp/"
|
|
||||||
#INTFTPD_PATH="/tftpboot/"
|
|
||||||
#INTFTPD_PATH="/tftproot/"
|
|
||||||
|
|
||||||
# For more options, see in.tftpd(8)
|
|
||||||
# -R 4096:32767 solves problems with ARC firmware, and obsoletes
|
|
||||||
# the /proc/sys/net/ipv4/ip_local_port_range hack.
|
|
||||||
# -s causes $INTFTPD_PATH to be the root of the TFTP tree.
|
|
||||||
# -l is passed by the init script in addition to these options.
|
|
||||||
INTFTPD_OPTS="-R 4096:32767 -s ${INTFTPD_PATH}"
|
|
@ -1,19 +0,0 @@
|
|||||||
#!/sbin/openrc-run
|
|
||||||
# Copyright 1999-2005 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
need net
|
|
||||||
}
|
|
||||||
|
|
||||||
start() {
|
|
||||||
ebegin "Starting tftpd"
|
|
||||||
/usr/sbin/in.tftpd -l ${INTFTPD_OPTS}
|
|
||||||
eend $?
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
ebegin "Stopping tftpd"
|
|
||||||
start-stop-daemon --stop --exec /usr/sbin/in.tftpd
|
|
||||||
eend $?
|
|
||||||
}
|
|
@ -1,91 +0,0 @@
|
|||||||
--- tftp-hpa-5.1/tftpd/tftpd.c.orig 2009-12-26 13:17:35.000000000 +0300
|
|
||||||
+++ tftp-hpa-5.1/tftpd/tftpd.c 2009-12-26 13:19:01.000000000 +0300
|
|
||||||
@@ -46,6 +46,7 @@
|
|
||||||
#include <pwd.h>
|
|
||||||
#include <limits.h>
|
|
||||||
#include <syslog.h>
|
|
||||||
+#include <dirent.h>
|
|
||||||
|
|
||||||
#include "common/tftpsubs.h"
|
|
||||||
#include "recvfrom.h"
|
|
||||||
@@ -975,6 +976,8 @@
|
|
||||||
static int validate_access(char *, int, const struct formats *, const char **);
|
|
||||||
static void tftp_sendfile(const struct formats *, struct tftphdr *, int);
|
|
||||||
static void tftp_recvfile(const struct formats *, struct tftphdr *, int);
|
|
||||||
+int lookup_entry(const char *comp, char *dest);
|
|
||||||
+void lookup_file(char *filename);
|
|
||||||
|
|
||||||
struct formats {
|
|
||||||
const char *f_mode;
|
|
||||||
@@ -1353,6 +1356,62 @@
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+int lookup_entry(const char *comp, char *dest)
|
|
||||||
+{
|
|
||||||
+ DIR *dirp;
|
|
||||||
+ struct dirent *dptr;
|
|
||||||
+ dirp = opendir(dest[0] ? dest : ".");
|
|
||||||
+ if (!dirp) return 0;
|
|
||||||
+ while ((dptr = readdir(dirp)))
|
|
||||||
+ {
|
|
||||||
+ if (!strcasecmp(dptr->d_name, comp))
|
|
||||||
+ {
|
|
||||||
+ if (dest[0]) strcat(dest, "/");
|
|
||||||
+ strcat(dest, dptr->d_name);
|
|
||||||
+ closedir(dirp);
|
|
||||||
+ return 1;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ closedir(dirp);
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+void lookup_file(char *filename)
|
|
||||||
+{
|
|
||||||
+ int found = 0;
|
|
||||||
+ int len = 0;
|
|
||||||
+ char dest[1024];
|
|
||||||
+ char comp[1024];
|
|
||||||
+ char *check = filename;
|
|
||||||
+ char *seek = NULL;
|
|
||||||
+
|
|
||||||
+ dest[0] = 0;
|
|
||||||
+ check++;
|
|
||||||
+ while (*check)
|
|
||||||
+ {
|
|
||||||
+ seek = strchr(check, '\\');
|
|
||||||
+ if (!seek)
|
|
||||||
+ {
|
|
||||||
+ if ((*check) && (lookup_entry(check, dest)))
|
|
||||||
+ found = 1;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ len = seek - check;
|
|
||||||
+ memcpy(comp, check, len);
|
|
||||||
+ comp[len]=0;
|
|
||||||
+ if (!lookup_entry(comp, dest))
|
|
||||||
+ break;
|
|
||||||
+ check += len + 1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (found)
|
|
||||||
+ {
|
|
||||||
+ filename[0] = 0;
|
|
||||||
+ strcat(filename, dest);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static FILE *file;
|
|
||||||
/*
|
|
||||||
* Validate file access. Since we
|
|
||||||
@@ -1378,6 +1437,8 @@
|
|
||||||
tsize_ok = 0;
|
|
||||||
*errmsg = NULL;
|
|
||||||
|
|
||||||
+ if (*filename == '\\') lookup_file(filename);
|
|
||||||
+
|
|
||||||
if (!secure) {
|
|
||||||
if (*filename != '/') {
|
|
||||||
*errmsg = "Only absolute filenames allowed";
|
|
@ -1,42 +0,0 @@
|
|||||||
From 7afd5aa65fdabaa4583f6e1a84936eb9bdd33c65 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Sergei Trofimovich <slyfox@gentoo.org>
|
|
||||||
Date: Tue, 21 Jan 2020 23:10:46 +0000
|
|
||||||
Subject: [PATCH] tftp-hpa: fix build failure against gcc-10
|
|
||||||
|
|
||||||
On gcc-10 (and gcc-9 -fno-common) build fails as:
|
|
||||||
|
|
||||||
```
|
|
||||||
x86_64-pc-linux-gnu-gcc -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu tftp.o main.o ../common/libcommon.a -lreadline -liberty -o tftp
|
|
||||||
ld: main.o:(.bss+0x40):
|
|
||||||
multiple definition of `toplevel'; tftp.o:(.bss+0x100): first defined here
|
|
||||||
collect2: error: ld returned 1 exit status
|
|
||||||
make[1]: *** [Makefile:12: tftp] Error 1
|
|
||||||
```
|
|
||||||
|
|
||||||
gcc-10 will change the default from -fcommon to fno-common:
|
|
||||||
https://gcc.gnu.org/PR85678.
|
|
||||||
|
|
||||||
The error also happens if CFLAGS=-fno-common passed explicitly.
|
|
||||||
|
|
||||||
Bug: https://bugs.gentoo.org/705834
|
|
||||||
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
||||||
---
|
|
||||||
tftp/tftp.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/tftp/tftp.c b/tftp/tftp.c
|
|
||||||
index d15da22..d067f96 100644
|
|
||||||
--- a/tftp/tftp.c
|
|
||||||
+++ b/tftp/tftp.c
|
|
||||||
@@ -48,7 +48,7 @@ extern int maxtimeout;
|
|
||||||
#define PKTSIZE SEGSIZE+4
|
|
||||||
char ackbuf[PKTSIZE];
|
|
||||||
int timeout;
|
|
||||||
-sigjmp_buf toplevel;
|
|
||||||
+extern sigjmp_buf toplevel;
|
|
||||||
sigjmp_buf timeoutbuf;
|
|
||||||
|
|
||||||
static void nak(int, const char *);
|
|
||||||
--
|
|
||||||
2.25.0
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI="7"
|
|
||||||
|
|
||||||
inherit systemd toolchain-funcs
|
|
||||||
|
|
||||||
DESCRIPTION="Port of the OpenBSD TFTP server"
|
|
||||||
HOMEPAGE="https://www.kernel.org/pub/software/network/tftp/"
|
|
||||||
SRC_URI="https://www.kernel.org/pub/software/network/tftp/${PN}/${P}.tar.xz"
|
|
||||||
|
|
||||||
LICENSE="BSD-4"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos"
|
|
||||||
IUSE="ipv6 readline selinux tcpd +client +server"
|
|
||||||
|
|
||||||
DEPEND="
|
|
||||||
readline? ( sys-libs/readline:0= )
|
|
||||||
tcpd? ( sys-apps/tcp-wrappers )
|
|
||||||
"
|
|
||||||
|
|
||||||
RDEPEND="${DEPEND}
|
|
||||||
selinux? ( sec-policy/selinux-tftp )
|
|
||||||
!net-ftp/atftp
|
|
||||||
server? (
|
|
||||||
!net-misc/iputils[tftpd(+)]
|
|
||||||
!net-ftp/uftpd
|
|
||||||
)
|
|
||||||
"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/tftp-hpa-5.2-gcc-10.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
# Pinkbyte: additional patch for Windows clients
|
|
||||||
eapply "${FILESDIR}"/${P}-filecase.patch
|
|
||||||
#
|
|
||||||
sed -i "/^AR/s:ar:$(tc-getAR):" MCONFIG.in || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
local myconf=(
|
|
||||||
ac_cv_search_bsd_signal=no
|
|
||||||
$(use_with ipv6)
|
|
||||||
$(use_with tcpd tcpwrappers)
|
|
||||||
$(use_with readline)
|
|
||||||
)
|
|
||||||
econf "${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
emake version.h
|
|
||||||
emake -C lib
|
|
||||||
emake -C common
|
|
||||||
if use client; then
|
|
||||||
emake -C tftp
|
|
||||||
fi
|
|
||||||
if use server; then
|
|
||||||
emake -C tftpd
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
dodoc README* CHANGES tftpd/sample.rules
|
|
||||||
|
|
||||||
if use client; then
|
|
||||||
emake INSTALLROOT="${D}" -C tftp install
|
|
||||||
fi
|
|
||||||
if use server; then
|
|
||||||
emake INSTALLROOT="${D}" -C tftpd install
|
|
||||||
|
|
||||||
newconfd "${FILESDIR}"/in.tftpd.confd-0.44 in.tftpd
|
|
||||||
newinitd "${FILESDIR}"/in.tftpd.rc6 in.tftpd
|
|
||||||
|
|
||||||
systemd_dounit "${FILESDIR}"/tftp.service
|
|
||||||
systemd_dounit "${FILESDIR}"/tftp.socket
|
|
||||||
|
|
||||||
insinto /etc/xinetd.d
|
|
||||||
newins "${FILESDIR}"/tftp.xinetd tftp
|
|
||||||
fi
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user