From: Michael Tremer Date: Fri, 16 Dec 2022 16:56:45 +0000 (+0000) Subject: tftp: Drop package X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8653ff5748997967f8d2e92a933e003d1ffcabc1;p=ipfire-3.x.git tftp: Drop package This is probably not needed right now, and tftp is pretty much out of fashion. Signed-off-by: Michael Tremer --- diff --git a/tftp/patches/tftp-0.40-remap.patch b/tftp/patches/tftp-0.40-remap.patch deleted file mode 100644 index 755a30755..000000000 --- a/tftp/patches/tftp-0.40-remap.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up tftp-hpa-0.49/tftpd/remap.c.zero tftp-hpa-0.49/tftpd/remap.c ---- tftp-hpa-0.49/tftpd/remap.c.zero 2008-10-20 18:08:31.000000000 -0400 -+++ tftp-hpa-0.49/tftpd/remap.c 2008-11-25 11:41:09.000000000 -0500 -@@ -286,6 +286,7 @@ struct rule *parserulefile(FILE * f) - int lineno = 0; - int err = 0; - -+ memset(this_rule, '\0', sizeof(struct rule)); - while (lineno++, fgets(line, MAXLINE, f)) { - rv = parseline(line, this_rule, lineno); - if (rv < 0) -@@ -294,6 +295,7 @@ struct rule *parserulefile(FILE * f) - *last_rule = this_rule; - last_rule = &this_rule->next; - this_rule = tfmalloc(sizeof(struct rule)); -+ memset(this_rule, '\0', sizeof(struct rule)); - } - } - diff --git a/tftp/patches/tftp-0.42-tftpboot.patch b/tftp/patches/tftp-0.42-tftpboot.patch deleted file mode 100644 index a0de58ddf..000000000 --- a/tftp/patches/tftp-0.42-tftpboot.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -up tftp-hpa-0.48/tftp-xinetd.tftpboot tftp-hpa-0.48/tftp-xinetd ---- tftp-hpa-0.48/tftp-xinetd.tftpboot 2007-01-31 00:51:05.000000000 +0100 -+++ tftp-hpa-0.48/tftp-xinetd 2008-05-20 12:05:53.000000000 +0200 -@@ -10,7 +10,7 @@ service tftp - wait = yes - user = root - server = /usr/sbin/in.tftpd -- server_args = -s /tftpboot -+ server_args = -s /var/lib/tftpboot - disable = yes - per_source = 11 - cps = 100 2 -diff -up tftp-hpa-0.48/README.security.tftpboot tftp-hpa-0.48/README.security ---- tftp-hpa-0.48/README.security.tftpboot 2008-05-29 17:36:32.000000000 +0200 -+++ tftp-hpa-0.48/README.security 2008-05-29 17:37:21.000000000 +0200 -@@ -17,10 +17,10 @@ probably the following: - - 1. Create a separate "tftpd" user and group only used for tftpd; - 2. Have all your boot files in a single directory tree (usually called -- /tftpboot). --3. Specify "-p -u tftpd -s /tftpboot" on the tftpd command line; if -+ /var/lib/tftpboot). -+3. Specify "-p -u tftpd -s /var/lib/tftpboot" on the tftpd command line; if - you want clients to be able to create files use -- "-p -c -U 002 -u tftpd -s /tftpboot" (replace 002 with whatever -+ "-p -c -U 002 -u tftpd -s /var/lib/tftpboot" (replace 002 with whatever - umask is appropriate for your setup.) - - ======================================= -@@ -40,12 +40,12 @@ directly. Thus, if your /etc/inetd.conf - line): - - tftp dgram udp wait root /usr/sbin/tcpd --/usr/sbin/in.tftpd -s /tftpboot -r blksize -+/usr/sbin/in.tftpd -s /var/lib/tftpboot -r blksize - - ... it's better to change to ... - - tftp dgram udp wait root /usr/sbin/in.tftpd --in.tftpd -s /tftpboot -r blksize -+in.tftpd -s /var/lib/tftpboot -r blksize - - You should make sure that you are using "wait" option in tftpd; you - also need to have tftpd spawned as root in order for chroot (-s) to -diff -up tftp-hpa-0.48/tftpd/sample.rules.tftpboot tftp-hpa-0.48/tftpd/sample.rules ---- tftp-hpa-0.48/tftpd/sample.rules.tftpboot 2008-05-29 17:38:46.000000000 +0200 -+++ tftp-hpa-0.48/tftpd/sample.rules 2008-05-29 17:38:05.000000000 +0200 -@@ -30,5 +30,5 @@ rg \\ / # Convert backslashes to slash - rg \# @ # Convert hash marks to @ signs - rg /../ /..no../ # Convert /../ to /..no../ - e ^ok/ # These are always ok --r ^[^/] /tftpboot/\0 # Convert non-absolute files -+r ^[^/] /var/lib/tftpboot/\0 # Convert non-absolute files - a \.pvt$ # Reject requests for private files diff --git a/tftp/patches/tftp-0.49-chk_retcodes.patch b/tftp/patches/tftp-0.49-chk_retcodes.patch deleted file mode 100644 index 6d63571d9..000000000 --- a/tftp/patches/tftp-0.49-chk_retcodes.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up tftp-hpa-0.49/tftpd/tftpd.c.chk_retcodes tftp-hpa-0.49/tftpd/tftpd.c ---- tftp-hpa-0.49/tftpd/tftpd.c.chk_retcodes 2009-01-15 15:28:50.000000000 +0100 -+++ tftp-hpa-0.49/tftpd/tftpd.c 2009-01-15 15:31:36.000000000 +0100 -@@ -932,7 +932,10 @@ int main(int argc, char **argv) - exit(EX_OSERR); - } - #ifdef __CYGWIN__ -- chdir("/"); /* Cygwin chroot() bug workaround */ -+ if (chdir("/") < 0) { /* Cygwin chroot() bug workaround */ -+ syslog(LOG_ERR, "chroot: %m"); -+ exit(EX_OSERR); -+ } - #endif - } - #ifdef HAVE_SETREGID diff --git a/tftp/patches/tftp-0.49-cmd_arg.patch b/tftp/patches/tftp-0.49-cmd_arg.patch deleted file mode 100644 index 2b9023a50..000000000 --- a/tftp/patches/tftp-0.49-cmd_arg.patch +++ /dev/null @@ -1,159 +0,0 @@ -diff -up tftp-hpa-0.49/config.h.cmd_arg tftp-hpa-0.49/config.h ---- tftp-hpa-0.49/config.h.cmd_arg 2010-04-19 15:29:10.567331454 +0200 -+++ tftp-hpa-0.49/config.h 2010-04-20 07:33:03.133232772 +0200 -@@ -291,6 +291,7 @@ typedef int socklen_t; - /* Prototypes for libxtra functions */ - - void *xmalloc(size_t); -+void *xrealloc(void *, size_t); - char *xstrdup(const char *); - - #ifndef HAVE_BSD_SIGNAL -diff -up tftp-hpa-0.49/configure.in.cmd_arg tftp-hpa-0.49/configure.in ---- tftp-hpa-0.49/configure.in.cmd_arg 2008-10-21 00:08:31.000000000 +0200 -+++ tftp-hpa-0.49/configure.in 2010-04-19 11:05:12.387340698 +0200 -@@ -152,6 +152,7 @@ OBJROOT=`pwd` - - XTRA=false - PA_SEARCH_LIBS_AND_ADD(xmalloc, iberty) -+PA_SEARCH_LIBS_AND_ADD(xrealloc, iberty) - PA_SEARCH_LIBS_AND_ADD(xstrdup, iberty) - PA_SEARCH_LIBS_AND_ADD(bsd_signal, bsd, bsdsignal) - PA_SEARCH_LIBS_AND_ADD(getopt_long, getopt, getopt_long) -diff -up tftp-hpa-0.49/lib/xrealloc.c.cmd_arg tftp-hpa-0.49/lib/xrealloc.c ---- tftp-hpa-0.49/lib/xrealloc.c.cmd_arg 2010-04-19 11:05:12.387340698 +0200 -+++ tftp-hpa-0.49/lib/xrealloc.c 2010-04-19 11:05:12.387340698 +0200 -@@ -0,0 +1,20 @@ -+/* -+ * xrealloc.c -+ * -+ * Simple error-checking version of realloc() -+ * -+ */ -+ -+#include "config.h" -+ -+void *xrealloc(void *ptr, size_t size) -+{ -+ void *p = realloc(ptr, size); -+ -+ if (!p) { -+ fprintf(stderr, "Out of memory!\n"); -+ exit(128); -+ } -+ -+ return p; -+} -diff -up tftp-hpa-0.49/tftp/main.c.cmd_arg tftp-hpa-0.49/tftp/main.c ---- tftp-hpa-0.49/tftp/main.c.cmd_arg 2008-10-21 00:08:31.000000000 +0200 -+++ tftp-hpa-0.49/tftp/main.c 2010-04-19 11:05:12.389329337 +0200 -@@ -89,11 +89,14 @@ int connected; - const struct modes *mode; - #ifdef WITH_READLINE - char *line = NULL; -+char *remote_pth = NULL; - #else - char line[LBUFLEN]; -+char remote_pth[LBUFLEN]; - #endif - int margc; --char *margv[20]; -+char **margv; -+int sizeof_margv=0; - const char *prompt = "tftp> "; - sigjmp_buf toplevel; - void intr(int); -@@ -379,6 +382,10 @@ static void getmoreargs(const char *part - free(line); - line = NULL; - } -+ if (remote_pth) { -+ free(remote_pth); -+ remote_pth = NULL; -+ } - line = xmalloc(len + elen + 1); - strcpy(line, partial); - strcpy(line + len, eline); -@@ -535,6 +542,7 @@ void put(int argc, char *argv[]) - int fd; - int n, err; - char *cp, *targ; -+ long dirlen, namelen, lastlen=0; - - if (argc < 2) { - getmoreargs("send ", "(file) "); -@@ -588,9 +596,22 @@ void put(int argc, char *argv[]) - } - /* this assumes the target is a directory */ - /* on a remote unix system. hmmmm. */ -- cp = strchr(targ, '\0'); -- *cp++ = '/'; -+ dirlen = strlen(targ)+1; -+#ifdef WITH_READLINE -+ remote_pth = xmalloc(dirlen+1); -+#endif -+ strcpy(remote_pth, targ); -+ remote_pth[dirlen-1] = '/'; -+ cp = remote_pth + dirlen; - for (n = 1; n < argc - 1; n++) { -+#ifdef WITH_READLINE -+ namelen = strlen(tail(argv[n])) + 1; -+ if (namelen > lastlen) { -+ remote_pth = xrealloc(remote_pth, dirlen + namelen + 1); -+ cp = remote_pth + dirlen; -+ lastlen = namelen; -+ } -+#endif - strcpy(cp, tail(argv[n])); - fd = open(argv[n], O_RDONLY | mode->m_openflags); - if (fd < 0) { -@@ -600,9 +621,9 @@ void put(int argc, char *argv[]) - } - if (verbose) - printf("putting %s to %s:%s [%s]\n", -- argv[n], hostname, targ, mode->m_mode); -+ argv[n], hostname, remote_pth, mode->m_mode); - sa_set_port(&peeraddr, port); -- tftp_sendfile(fd, targ, mode->m_mode); -+ tftp_sendfile(fd, remote_pth, mode->m_mode); - } - } - -@@ -801,6 +822,10 @@ static void command(void) - free(line); - line = NULL; - } -+ if (remote_pth) { -+ free(remote_pth); -+ remote_pth = NULL; -+ } - line = readline(prompt); - if (!line) - exit(0); /* EOF */ -@@ -872,7 +897,13 @@ struct cmd *getcmd(char *name) - static void makeargv(void) - { - char *cp; -- char **argp = margv; -+ char **argp; -+ -+ if (!sizeof_margv) { -+ sizeof_margv = 20; -+ margv = xmalloc(sizeof_margv * sizeof(char *)); -+ } -+ argp = margv; - - margc = 0; - for (cp = line; *cp;) { -@@ -882,6 +913,11 @@ static void makeargv(void) - break; - *argp++ = cp; - margc += 1; -+ if (margc == sizeof_margv) { -+ sizeof_margv += 20; -+ margv = xrealloc(margv, sizeof_margv * sizeof(char *)); -+ argp = margv + margc; -+ } - while (*cp != '\0' && !isspace(*cp)) - cp++; - if (*cp == '\0') diff --git a/tftp/patches/tftp-doc.patch b/tftp/patches/tftp-doc.patch deleted file mode 100644 index 20352c9f6..000000000 --- a/tftp/patches/tftp-doc.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- tftp-hpa-5.2/tftp/main.c 2013-04-19 09:34:09.737410319 +0200 -+++ tftp-hpa-5.2/tftp/main.c 2013-04-19 09:42:53.559946374 +0200 -@@ -195,9 +195,11 @@ - { - fprintf(stderr, - #ifdef HAVE_IPV6 -- "Usage: %s [-4][-6][-v][-l][-m mode] [host [port]] [-c command]\n", -+ "Usage: %s [-4][-6][-v][-V][-l][-m mode] [-R port:port] " -+ "[host [port]] [-c command]\n", - #else -- "Usage: %s [-v][-l][-m mode] [host [port]] [-c command]\n", -+ "Usage: %s [-v][-V][-l][-m mode] [-R port:port] " -+ "[host [port]] [-c command]\n", - #endif - program); - exit(errcode); ---- tftp-hpa-5.2/tftpd/tftpd.8.in 2012-11-20 09:43:46.000000000 +0100 -+++ tftp-hpa-5.2/tftpd/tftpd.8.in 2013-04-19 09:44:37.399057279 +0200 -@@ -155,7 +155,7 @@ - .B utimeout - option is negotiated. The default is 1000000 (1 second.) - .TP --\fB\-\-mapfile\fP \fIremap-file\fP, \fB\-m\fP \fIremap-file\fP -+\fB\-\-map\-file\fP \fIremap-file\fP, \fB\-m\fP \fIremap-file\fP - Specify the use of filename remapping. The - .I remap-file - is a file containing the remapping rules. See the section on filename diff --git a/tftp/patches/tftp-hpa-0.39-tzfix.patch b/tftp/patches/tftp-hpa-0.39-tzfix.patch deleted file mode 100644 index ded02efaa..000000000 --- a/tftp/patches/tftp-hpa-0.39-tzfix.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up tftp-hpa-0.49/tftpd/tftpd.c.tzfix tftp-hpa-0.49/tftpd/tftpd.c ---- tftp-hpa-0.49/tftpd/tftpd.c.tzfix 2008-10-20 18:08:31.000000000 -0400 -+++ tftp-hpa-0.49/tftpd/tftpd.c 2008-11-25 11:45:27.000000000 -0500 -@@ -350,6 +350,14 @@ int main(int argc, char **argv) - const char *pidfile = NULL; - u_short tp_opcode; - -+ time_t my_time = 0; -+ struct tm* p_tm; -+ char envtz[10]; -+ my_time = time(NULL); -+ p_tm = localtime(&my_time); -+ snprintf(envtz, sizeof(envtz) - 1, "UTC%+d", (p_tm->tm_gmtoff * -1)/3600); -+ setenv("TZ", envtz, 0); -+ - /* basename() is way too much of a pain from a portability standpoint */ - - p = strrchr(argv[0], '/'); diff --git a/tftp/patches/tftp-hpa-0.49-fortify-strcpy-crash.patch b/tftp/patches/tftp-hpa-0.49-fortify-strcpy-crash.patch deleted file mode 100644 index e9b70d471..000000000 --- a/tftp/patches/tftp-hpa-0.49-fortify-strcpy-crash.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -urN tftp-hpa-0.49.orig/tftp/tftp.c tftp-hpa-0.49/tftp/tftp.c ---- tftp-hpa-0.49.orig/tftp/tftp.c 2008-10-20 18:08:31.000000000 -0400 -+++ tftp-hpa-0.49/tftp/tftp.c 2009-08-05 09:47:18.072585848 -0400 -@@ -279,15 +279,16 @@ - struct tftphdr *tp, const char *mode) - { - char *cp; -+ size_t len; - - tp->th_opcode = htons((u_short) request); - cp = (char *)&(tp->th_stuff); -- strcpy(cp, name); -- cp += strlen(name); -- *cp++ = '\0'; -- strcpy(cp, mode); -- cp += strlen(mode); -- *cp++ = '\0'; -+ len = strlen(name) + 1; -+ memcpy(cp, name, len); -+ cp += len; -+ len = strlen(mode) + 1; -+ memcpy(cp, mode, len); -+ cp += len; - return (cp - (char *)tp); - } - diff --git a/tftp/patches/tftp-hpa-0.49-stats.patch b/tftp/patches/tftp-hpa-0.49-stats.patch deleted file mode 100644 index b6c9d05c9..000000000 --- a/tftp/patches/tftp-hpa-0.49-stats.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up tftp-hpa-0.49/tftp/tftp.c.stats tftp-hpa-0.49/tftp/tftp.c ---- tftp-hpa-0.49/tftp/tftp.c.stats 2011-01-03 15:38:34.217918067 +0100 -+++ tftp-hpa-0.49/tftp/tftp.c 2011-01-03 15:38:37.498917014 +0100 -@@ -400,8 +400,8 @@ static void printstats(const char *direc - { - double delta; - -- delta = (tstop.tv_sec + (tstop.tv_usec / 100000.0)) - -- (tstart.tv_sec + (tstart.tv_usec / 100000.0)); -+ delta = (tstop.tv_sec + (tstop.tv_usec / 1000000.0)) - -+ (tstart.tv_sec + (tstart.tv_usec / 1000000.0)); - if (verbose) { - printf("%s %lu bytes in %.1f seconds", direction, amount, delta); - printf(" [%.0f bit/s]", (amount * 8.) / delta); diff --git a/tftp/patches/tftp-hpa-5.2-pktinfo.patch b/tftp/patches/tftp-hpa-5.2-pktinfo.patch deleted file mode 100644 index d1fa75c3f..000000000 --- a/tftp/patches/tftp-hpa-5.2-pktinfo.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up tftp-hpa-5.2/tftpd/recvfrom.c.test tftp-hpa-5.2/tftpd/recvfrom.c ---- tftp-hpa-5.2/tftpd/recvfrom.c.test 2011-12-11 23:13:52.000000000 +0100 -+++ tftp-hpa-5.2/tftpd/recvfrom.c 2012-01-04 10:05:17.852042256 +0100 -@@ -149,16 +149,16 @@ myrecvfrom(int s, void *buf, int len, un - - /* Try to enable getting the return address */ - #ifdef IP_RECVDSTADDR -- if (from->sa_family == AF_INET) -+ if (from->sa_family == AF_INET || !from->sa_family) - setsockopt(s, IPPROTO_IP, IP_RECVDSTADDR, &on, sizeof(on)); - #endif - #ifdef IP_PKTINFO -- if (from->sa_family == AF_INET) -+ if (from->sa_family == AF_INET || !from->sa_family) - setsockopt(s, IPPROTO_IP, IP_PKTINFO, &on, sizeof(on)); - #endif - #ifdef HAVE_IPV6 - #ifdef IPV6_RECVPKTINFO -- if (from->sa_family == AF_INET6) -+ if (from->sa_family == AF_INET6 || !from->sa_family) - setsockopt(s, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on)); - #endif - #endif diff --git a/tftp/systemd/tftp.service b/tftp/systemd/tftp.service deleted file mode 100644 index b8484f13f..000000000 --- a/tftp/systemd/tftp.service +++ /dev/null @@ -1,6 +0,0 @@ -[Unit] -Description=Tftp Server - -[Service] -ExecStart=/usr/sbin/in.tftpd -u tftp -s /var/lib/tftpboot -StandardInput=socket diff --git a/tftp/systemd/tftp.socket b/tftp/systemd/tftp.socket deleted file mode 100644 index 8764c1de3..000000000 --- a/tftp/systemd/tftp.socket +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Tftp Server Activation Socket - -[Socket] -ListenDatagram=69 - -[Install] -WantedBy=sockets.target diff --git a/tftp/tftp.nm b/tftp/tftp.nm deleted file mode 100644 index a9e7fea00..000000000 --- a/tftp/tftp.nm +++ /dev/null @@ -1,125 +0,0 @@ -############################################################################### -# IPFire.org - An Open Source Firewall Solution # -# Copyright (C) - IPFire Development Team # -############################################################################### - -name = tftp -version = 5.2 -release = 1 - -groups = Applications/Network -url = http://www.kernel.org/pub/software/network/tftp/ -license = BSD -summary = Client and server for the Trivial File Transfer Protocol (TFTP). - -description - The Trivial File Transfer Protocol (TFTP) is normally used only for - booting diskless workstations. -end - -thisapp = %{name}-hpa-%{version} - -source_dl = http://www.kernel.org/pub/software/network/tftp/tftp-hpa/ - - -build - requires - autoconf - readline-devel - shadow-utils - end - - prepare_cmds - autoreconf -vfi - %{create_user} - end - - make_install_targets += \ - INSTALLROOT=%{BUILDROOT} - - install_cmds - mkdir -pv %{BUILDROOT}%{sharedstatedir}/tftpboot - chown tftp:tftp %{BUILDROOT}%{sharedstatedir}/tftpboot - end -end - -create_user - getent group tftp >/dev/null || /usr/sbin/groupadd -r tftp - getent passwd tftp >/dev/null || /usr/sbin/useradd -r -g tftp \ - -d %{sharedstatedir}/tftpboot -s /sbin/nologin tftp -end - -packages - package %{name} - requires - %{name}-client = %{thisver} - %{name}-server = %{thisver} - end - end - - package %{name}-client - summary = A client programm for the Trivial File Transfer Protocol (TFTP). - description - The tftp-client package provides the user - interface for TFTP, which allows users to transfer files to and from a - remote machine. This program and TFTP provide very little security, - and should not be enabled unless it is expressly needed. - end - - files - %{bindir}/tftp - %{mandir}/man1/tftp* - end - end - - package %{name}-server - summary = A Trivial File Transfer Protocol (TFTP) server. - description - The tftp-server package provides the - server for TFTP, which allows users to transfer files to and from a - remote machine. TFTP provides very little security, and should not be - enabled unless it is expressly needed. - end - - prerequires += \ - shadow-utils - - datafiles - %{sharedstatedir}/tftpboot - end - - files - %{sbindir}/in.tftpd - %{mandir}/man8/* - %{unitdir}/tftp.* - %{sharedstatedir}/tftpboot - end - - script prein - %{create_user} - end - - script postin - systemctl daemon-reload >/dev/null 2>&1 || : - end - - script preun - systemctl --no-reload disable tftp.socket >/dev/null 2>&1 || : - systemctl stop tftp.socket >/dev/null 2>&1 || : - systemctl stop tftp.service >/dev/null 2>&1 || : - end - - script postun - systemctl daemon-reload >/dev/null 2>&1 || : - end - - script postup - systemctl daemon-reload >/dev/null 2>&1 || : - systemctl try-restart tftp.service >/dev/null 2>&1 || : - end - end - - package %{name}-debuginfo - template DEBUGINFO - end -end