mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-05-07 05:10:20 +00:00
tftp-hpa: upgrade 5.2 -> 5.3
* Use git instead of tarball in SRC_URI. * Update configuration options. * Clean up and refresh local patches. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
-64
@@ -1,64 +0,0 @@
|
|||||||
From 941038fc05be21202cab7a7a9434097fb55ecbe0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Thorsten Glaser <tg@mirbsd.de>
|
|
||||||
Date: Thu, 31 Jul 2014 16:29:41 +0930
|
|
||||||
Subject: [PATCH] __progname[] is provided by libc
|
|
||||||
|
|
||||||
Rename local variable to tftpd_progname to avoid a clash with glibc
|
|
||||||
global symbols and work around Debian bug #519006 (Closes: #564052).
|
|
||||||
|
|
||||||
[ hpa: specifically, double-underscore symbols in C are reserved for
|
|
||||||
the implementation, i.e. compiler/libc. ]
|
|
||||||
|
|
||||||
Signed-off-by: Ron Lee <ron@debian.org>
|
|
||||||
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
||||||
---
|
|
||||||
Upstream-Status: Pending
|
|
||||||
|
|
||||||
tftpd/tftpd.c | 10 +++++-----
|
|
||||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/tftpd/tftpd.c b/tftpd/tftpd.c
|
|
||||||
index e247b97..5fec7bf 100644
|
|
||||||
--- a/tftpd/tftpd.c
|
|
||||||
+++ b/tftpd/tftpd.c
|
|
||||||
@@ -76,7 +76,7 @@ static int ai_fam = AF_INET;
|
|
||||||
#define TRIES 6 /* Number of attempts to send each packet */
|
|
||||||
#define TIMEOUT_LIMIT ((1 << TRIES)-1)
|
|
||||||
|
|
||||||
-const char *__progname;
|
|
||||||
+const char *tftpd_progname;
|
|
||||||
static int peer;
|
|
||||||
static unsigned long timeout = TIMEOUT; /* Current timeout value */
|
|
||||||
static unsigned long rexmtval = TIMEOUT; /* Basic timeout value */
|
|
||||||
@@ -395,9 +395,9 @@ int main(int argc, char **argv)
|
|
||||||
/* basename() is way too much of a pain from a portability standpoint */
|
|
||||||
|
|
||||||
p = strrchr(argv[0], '/');
|
|
||||||
- __progname = (p && p[1]) ? p + 1 : argv[0];
|
|
||||||
+ tftpd_progname = (p && p[1]) ? p + 1 : argv[0];
|
|
||||||
|
|
||||||
- openlog(__progname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
|
|
||||||
+ openlog(tftpd_progname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
|
|
||||||
|
|
||||||
srand(time(NULL) ^ getpid());
|
|
||||||
|
|
||||||
@@ -946,14 +946,14 @@ int main(int argc, char **argv)
|
|
||||||
syslog daemon gets restarted by the time we get here. */
|
|
||||||
if (secure && standalone) {
|
|
||||||
closelog();
|
|
||||||
- openlog(__progname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
|
|
||||||
+ openlog(tftpd_progname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef HAVE_TCPWRAPPERS
|
|
||||||
/* Verify if this was a legal request for us. This has to be
|
|
||||||
done before the chroot, while /etc is still accessible. */
|
|
||||||
request_init(&wrap_request,
|
|
||||||
- RQ_DAEMON, __progname,
|
|
||||||
+ RQ_DAEMON, tftpd_progname,
|
|
||||||
RQ_FILE, fd,
|
|
||||||
RQ_CLIENT_SIN, &from, RQ_SERVER_SIN, &myaddr, 0);
|
|
||||||
sock_methods(&wrap_request);
|
|
||||||
--
|
|
||||||
2.14.1
|
|
||||||
|
|
||||||
-30
@@ -1,30 +0,0 @@
|
|||||||
From 2a12174a5059e84d4ff6fad8f983a4d0f2127e73 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
|
||||||
Date: Wed, 12 Aug 2020 12:17:31 -0700
|
|
||||||
Subject: [PATCH] tftp: Mark toplevel definition as external
|
|
||||||
|
|
||||||
Fixes
|
|
||||||
multiple definition of `toplevel'; tftp.o:/usr/src/debug/tftp-hpa/5.2-r0/tftp-hpa-5.2/tftp/tftp.c:51: first defined here
|
|
||||||
|
|
||||||
Upstream-Status: Pending
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
---
|
|
||||||
tftp/tftp.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/tftp/tftp.c b/tftp/tftp.c
|
|
||||||
index 9d15022..109848c 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.28.0
|
|
||||||
|
|
||||||
-39
@@ -1,39 +0,0 @@
|
|||||||
From e9ed48d91642d384ce07cbb9bec788f07fc6354c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
|
||||||
Date: Tue, 6 Sep 2022 14:51:42 -0700
|
|
||||||
Subject: [PATCH] tftp: Remove double inclusion of signal.h
|
|
||||||
|
|
||||||
Undefine __USE_XOPEN2K8 so we can get bsd_signal definition from system
|
|
||||||
headers
|
|
||||||
|
|
||||||
Upstream-Status: Pending
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
---
|
|
||||||
config.h | 4 +++-
|
|
||||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/config.h b/config.h
|
|
||||||
index 3ff2915..ae1a14b 100644
|
|
||||||
--- a/config.h
|
|
||||||
+++ b/config.h
|
|
||||||
@@ -93,7 +93,6 @@
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <errno.h>
|
|
||||||
-#include <signal.h>
|
|
||||||
|
|
||||||
#ifdef HAVE_SYS_SOCKET_H
|
|
||||||
#include <sys/socket.h>
|
|
||||||
@@ -296,6 +295,9 @@ char *xstrdup(const char *);
|
|
||||||
|
|
||||||
#ifndef HAVE_BSD_SIGNAL
|
|
||||||
void (*bsd_signal(int, void (*)(int))) (int);
|
|
||||||
+#else
|
|
||||||
+#undef __USE_XOPEN2K8
|
|
||||||
+#include <signal.h>
|
|
||||||
#endif
|
|
||||||
#ifndef HAVE_DUP2
|
|
||||||
int dup2(int, int);
|
|
||||||
--
|
|
||||||
2.37.3
|
|
||||||
|
|
||||||
+9
-9
@@ -1,19 +1,19 @@
|
|||||||
From bd5773947af5ca80ca546ad5625818fc912bdd60 Mon Sep 17 00:00:00 2001
|
From 0b89c5bd9723ebd5207590016a14e5f2c6a0bdc9 Mon Sep 17 00:00:00 2001
|
||||||
From: "Roy.Li" <rongqing.li@windriver.com>
|
From: "Roy.Li" <rongqing.li@windriver.com>
|
||||||
Date: Thu, 22 Aug 2013 08:56:09 +0800
|
Date: Thu, 22 Aug 2013 08:56:09 +0800
|
||||||
Subject: [PATCH] tftp-hpa: add error check for disk filled up
|
Subject: [PATCH] tftp-hpa: add error check for disk filled up
|
||||||
|
|
||||||
Upstream-Status: Pending [Sent to http://www.syslinux.org/archives/2013-August/020765.html]
|
|
||||||
|
|
||||||
Add error check when the write-buffer is finally flushed to the file,
|
Add error check when the write-buffer is finally flushed to the file,
|
||||||
the caller can detect if the disk filled up (or had an i/o error) and
|
the caller can detect if the disk filled up (or had an i/o error) and
|
||||||
return a NOSAPCE nak to the other side.
|
return a NOSAPCE nak to the other side.
|
||||||
|
|
||||||
|
Upstream-Status: Pending [Sent to http://www.syslinux.org/archives/2013-August/020765.html]
|
||||||
|
|
||||||
Signed-off-by: Ming Liu <ming.liu@windriver.com>
|
Signed-off-by: Ming Liu <ming.liu@windriver.com>
|
||||||
Signed-off-by: Roy.Li <rongqing.li@windriver.com>
|
Signed-off-by: Roy.Li <rongqing.li@windriver.com>
|
||||||
---
|
---
|
||||||
common/tftpsubs.c | 8 +++++---
|
common/tftpsubs.c | 8 +++++---
|
||||||
tftpd/tftpd.c | 12 ++++++++++--
|
tftpd/tftpd.c | 12 ++++++++++--
|
||||||
2 files changed, 15 insertions(+), 5 deletions(-)
|
2 files changed, 15 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
diff --git a/common/tftpsubs.c b/common/tftpsubs.c
|
diff --git a/common/tftpsubs.c b/common/tftpsubs.c
|
||||||
@@ -47,10 +47,10 @@ index 8c999f6..b4d4ffe 100644
|
|||||||
|
|
||||||
/* When an error has occurred, it is possible that the two sides
|
/* When an error has occurred, it is possible that the two sides
|
||||||
diff --git a/tftpd/tftpd.c b/tftpd/tftpd.c
|
diff --git a/tftpd/tftpd.c b/tftpd/tftpd.c
|
||||||
index 1873e70..c2adbda 100644
|
index 3158c6d..001237b 100644
|
||||||
--- a/tftpd/tftpd.c
|
--- a/tftpd/tftpd.c
|
||||||
+++ b/tftpd/tftpd.c
|
+++ b/tftpd/tftpd.c
|
||||||
@@ -1681,7 +1681,11 @@ static void tftp_recvfile(const struct formats *pf, struct tftphdr *oap, int oac
|
@@ -1690,7 +1690,11 @@ static void tftp_recvfile(const struct formats *pf, struct tftphdr *oap, int oac
|
||||||
syslog(LOG_WARNING, "tftpd: write(ack): %m");
|
syslog(LOG_WARNING, "tftpd: write(ack): %m");
|
||||||
goto abort;
|
goto abort;
|
||||||
}
|
}
|
||||||
@@ -63,7 +63,7 @@ index 1873e70..c2adbda 100644
|
|||||||
for (;;) {
|
for (;;) {
|
||||||
n = recv_time(peer, dp, PKTSIZE, 0, &r_timeout);
|
n = recv_time(peer, dp, PKTSIZE, 0, &r_timeout);
|
||||||
if (n < 0) { /* really? */
|
if (n < 0) { /* really? */
|
||||||
@@ -1712,7 +1716,11 @@ static void tftp_recvfile(const struct formats *pf, struct tftphdr *oap, int oac
|
@@ -1721,7 +1725,11 @@ static void tftp_recvfile(const struct formats *pf, struct tftphdr *oap, int oac
|
||||||
goto abort;
|
goto abort;
|
||||||
}
|
}
|
||||||
} while (size == segsize);
|
} while (size == segsize);
|
||||||
@@ -77,5 +77,5 @@ index 1873e70..c2adbda 100644
|
|||||||
|
|
||||||
ap->th_opcode = htons((u_short) ACK); /* send the "final" ack */
|
ap->th_opcode = htons((u_short) ACK); /* send the "final" ack */
|
||||||
--
|
--
|
||||||
1.7.10.4
|
2.34.1
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
[PATCH] fix the empty file writting
|
From 1ce974f1cf6afbc528c941a8cdf0817a3fd7c5a7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Roy.Li" <rongqing.li@windriver.com>
|
||||||
Upstream-Status: Pending
|
Date: Mon, 30 Mar 2026 22:37:22 +0800
|
||||||
|
Subject: [PATCH] fix the empty file writting
|
||||||
|
|
||||||
With the feature that checking the disk filled up, the return
|
With the feature that checking the disk filled up, the return
|
||||||
value of function write_behind was checked and used to detect
|
value of function write_behind was checked and used to detect
|
||||||
@@ -11,13 +12,15 @@ error was miss-raised.
|
|||||||
make write_behind to return 0 if written file is empty, to fix
|
make write_behind to return 0 if written file is empty, to fix
|
||||||
the this bug.
|
the this bug.
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
Signed-off-by: Roy.Li <rongqing.li@windriver.com>
|
Signed-off-by: Roy.Li <rongqing.li@windriver.com>
|
||||||
---
|
---
|
||||||
common/tftpsubs.c | 5 ++++-
|
common/tftpsubs.c | 5 ++++-
|
||||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/common/tftpsubs.c b/common/tftpsubs.c
|
diff --git a/common/tftpsubs.c b/common/tftpsubs.c
|
||||||
index b4ea3f2..9f6cafc 100644
|
index b4ea3f2..30e749a 100644
|
||||||
--- a/common/tftpsubs.c
|
--- a/common/tftpsubs.c
|
||||||
+++ b/common/tftpsubs.c
|
+++ b/common/tftpsubs.c
|
||||||
@@ -198,9 +198,12 @@ int write_behind(FILE * file, int convert)
|
@@ -198,9 +198,12 @@ int write_behind(FILE * file, int convert)
|
||||||
@@ -35,5 +38,5 @@ index b4ea3f2..9f6cafc 100644
|
|||||||
return write(fileno(file), buf, count);
|
return write(fileno(file), buf, count);
|
||||||
|
|
||||||
--
|
--
|
||||||
1.9.1
|
2.34.1
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
Patch originally from Fedora
|
Patch originally from Fedora
|
||||||
|
|
||||||
http://pkgs.fedoraproject.org/cgit/tftp.git/
|
https://src.fedoraproject.org/rpms/tftp.git
|
||||||
|
|
||||||
Upstream-Status: Pending
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
Patch originally from Fedora
|
Patch originally from Fedora
|
||||||
|
|
||||||
http://pkgs.fedoraproject.org/cgit/tftp.git/
|
https://src.fedoraproject.org/rpms/tftp.git
|
||||||
|
|
||||||
Upstream-Status: Pending
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
Patch originally from Fedora
|
Patch originally from Fedora
|
||||||
|
|
||||||
http://pkgs.fedoraproject.org/cgit/tftp.git/
|
https://src.fedoraproject.org/rpms/tftp.git
|
||||||
|
|
||||||
Upstream-Status: Pending
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
Patch originally from Fedora
|
Patch originally from Fedora
|
||||||
|
|
||||||
http://pkgs.fedoraproject.org/cgit/tftp.git/
|
https://src.fedoraproject.org/rpms/tftp.git
|
||||||
|
|
||||||
Upstream-Status: Pending
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
Patch originally from Fedora
|
Patch originally from Fedora
|
||||||
|
|
||||||
http://pkgs.fedoraproject.org/cgit/tftp.git/
|
https://src.fedoraproject.org/rpms/tftp.git
|
||||||
|
|
||||||
Upstream-Status: Pending
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
Patch originally from Fedora
|
Patch originally from Fedora
|
||||||
|
|
||||||
http://pkgs.fedoraproject.org/cgit/tftp.git/
|
https://src.fedoraproject.org/rpms/tftp.git
|
||||||
|
|
||||||
Upstream-Status: Pending
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
Patch originally from Fedora
|
|
||||||
|
|
||||||
http://pkgs.fedoraproject.org/cgit/tftp.git/
|
|
||||||
|
|
||||||
Upstream-Status: Pending
|
|
||||||
|
|
||||||
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
|
|
||||||
+12
-23
@@ -1,34 +1,23 @@
|
|||||||
Patch originally from Fedora
|
Patch originally from Fedora
|
||||||
|
|
||||||
http://pkgs.fedoraproject.org/cgit/tftp.git/
|
https://src.fedoraproject.org/rpms/tftp.git
|
||||||
|
|
||||||
Upstream-Status: Pending
|
Upstream-Status: Pending
|
||||||
|
|
||||||
diff -up tftp-hpa-0.49/config.h.cmd_arg tftp-hpa-0.49/config.h
|
diff -up tftp-hpa-5.3/config.h.cmd_arg tftp-hpa-5.3/config.h
|
||||||
--- tftp-hpa-0.49/config.h.cmd_arg 2010-04-19 15:29:10.567331454 +0200
|
--- tftp-hpa-5.3/config.h.cmd_arg 2024-05-30 00:40:13.000000000 +0200
|
||||||
+++ tftp-hpa-0.49/config.h 2010-04-20 07:33:03.133232772 +0200
|
+++ tftp-hpa-5.3/config.h 2025-12-26 22:27:30.933202754 +0100
|
||||||
@@ -291,6 +291,7 @@ typedef int socklen_t;
|
@@ -277,6 +277,7 @@ typedef int socklen_t;
|
||||||
/* Prototypes for libxtra functions */
|
/* Prototypes for libxtra functions */
|
||||||
|
|
||||||
void *xmalloc(size_t);
|
void *xmalloc(size_t);
|
||||||
+void *xrealloc(void *, size_t);
|
+void *xrealloc(void *, size_t);
|
||||||
char *xstrdup(const char *);
|
char *xstrdup(const char *);
|
||||||
|
|
||||||
#ifndef HAVE_BSD_SIGNAL
|
#ifndef HAVE_SIGHANDLER_T
|
||||||
diff -up tftp-hpa-0.49/configure.in.cmd_arg tftp-hpa-0.49/configure.in
|
diff -up tftp-hpa-5.3/lib/xrealloc.c.cmd_arg tftp-hpa-5.3/lib/xrealloc.c
|
||||||
--- tftp-hpa-0.49/configure.in.cmd_arg 2008-10-21 00:08:31.000000000 +0200
|
--- tftp-hpa-5.3/lib/xrealloc.c.cmd_arg 2025-12-26 22:19:59.751870026 +0100
|
||||||
+++ tftp-hpa-0.49/configure.in 2010-04-19 11:05:12.387340698 +0200
|
+++ tftp-hpa-5.3/lib/xrealloc.c 2025-12-26 22:19:59.751870026 +0100
|
||||||
@@ -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 @@
|
@@ -0,0 +1,20 @@
|
||||||
+/*
|
+/*
|
||||||
+ * xrealloc.c
|
+ * xrealloc.c
|
||||||
@@ -50,9 +39,9 @@ diff -up tftp-hpa-0.49/lib/xrealloc.c.cmd_arg tftp-hpa-0.49/lib/xrealloc.c
|
|||||||
+
|
+
|
||||||
+ return p;
|
+ return p;
|
||||||
+}
|
+}
|
||||||
diff -up tftp-hpa-0.49/tftp/main.c.cmd_arg tftp-hpa-0.49/tftp/main.c
|
diff -up tftp-hpa-5.3/tftp/main.c.cmd_arg tftp-hpa-5.3/tftp/main.c
|
||||||
--- tftp-hpa-0.49/tftp/main.c.cmd_arg 2008-10-21 00:08:31.000000000 +0200
|
--- tftp-hpa-5.3/tftp/main.c.cmd_arg 2024-05-30 00:40:13.000000000 +0200
|
||||||
+++ tftp-hpa-0.49/tftp/main.c 2010-04-19 11:05:12.389329337 +0200
|
+++ tftp-hpa-5.3/tftp/main.c 2025-12-26 22:19:59.752870023 +0100
|
||||||
@@ -89,11 +89,14 @@ int connected;
|
@@ -89,11 +89,14 @@ int connected;
|
||||||
const struct modes *mode;
|
const struct modes *mode;
|
||||||
#ifdef WITH_READLINE
|
#ifdef WITH_READLINE
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
Patch originally from Fedora
|
||||||
|
|
||||||
|
https://src.fedoraproject.org/rpms/tftp.git
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
diff -up tftp-hpa-5.3/tftpd/recvfrom.c.pktinfo tftp-hpa-5.3/tftpd/recvfrom.c
|
||||||
|
--- tftp-hpa-5.3/tftpd/recvfrom.c.pktinfo 2024-05-30 00:40:13.000000000 +0200
|
||||||
|
+++ tftp-hpa-5.3/tftpd/recvfrom.c 2025-12-26 22:30:37.142522362 +0100
|
||||||
|
@@ -170,16 +170,16 @@ myrecvfrom(int s, void *buf, int len, un
|
||||||
|
|
||||||
|
/* Try to enable getting the return address */
|
||||||
|
#ifdef IP_RECVDSTADDR
|
||||||
|
- if (from->sa.sa_family == AF_INET)
|
||||||
|
+ if (from->sa.sa_family == AF_INET || !from->sa.sa_family)
|
||||||
|
setsockopt(s, IPPROTO_IP, IP_RECVDSTADDR, &on, sizeof(on));
|
||||||
|
#endif
|
||||||
|
#ifdef IP_PKTINFO
|
||||||
|
- if (from->sa.sa_family == AF_INET)
|
||||||
|
+ if (from->sa.sa_family == AF_INET || !from->sa.sa_family)
|
||||||
|
setsockopt(s, IPPROTO_IP, IP_PKTINFO, &on, sizeof(on));
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_IPV6
|
||||||
|
#ifdef IPV6_RECVPKTINFO
|
||||||
|
- if (from->sa.sa_family == AF_INET6)
|
||||||
|
+ if (from->sa.sa_family == AF_INET6 || !from->sa.sa_family)
|
||||||
|
setsockopt(s, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on));
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
+2
-2
@@ -1,4 +1,4 @@
|
|||||||
From 6ed1eb8829dee351b54e183bc42c007cb306aaa5 Mon Sep 17 00:00:00 2001
|
From 2be04543d790d9ec29fa8522f07f221468ccd033 Mon Sep 17 00:00:00 2001
|
||||||
From: Zhang Xiao <xiao.zhang@windriver.com>
|
From: Zhang Xiao <xiao.zhang@windriver.com>
|
||||||
Date: Wed, 11 Jun 2014 14:01:16 +0800
|
Date: Wed, 11 Jun 2014 14:01:16 +0800
|
||||||
Subject: [PATCH] tftp-hpa: bug fix on separated CR and LF
|
Subject: [PATCH] tftp-hpa: bug fix on separated CR and LF
|
||||||
@@ -34,5 +34,5 @@ index b4d4ffe..b4ea3f2 100644
|
|||||||
c = *p++; /* pick up a character */
|
c = *p++; /* pick up a character */
|
||||||
if (prevchar == '\r') { /* if prev char was cr */
|
if (prevchar == '\r') { /* if prev char was cr */
|
||||||
--
|
--
|
||||||
1.8.5.2.233.g932f7e4
|
2.34.1
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
# default: off
|
|
||||||
# description: The tftp server serves files using the trivial file transfer \
|
|
||||||
# protocol. The tftp protocol is often used to boot diskless \
|
|
||||||
# workstations, download configuration files to network-aware printers, \
|
|
||||||
# and to start the installation process for some operating systems.
|
|
||||||
service tftp
|
|
||||||
{
|
|
||||||
socket_type = dgram
|
|
||||||
protocol = udp
|
|
||||||
wait = yes
|
|
||||||
user = root
|
|
||||||
server = /usr/sbin/in.tftpd-hpa
|
|
||||||
server_args = -s /var/lib/tftpboot
|
|
||||||
disable = yes
|
|
||||||
per_source = 11
|
|
||||||
cps = 100 2
|
|
||||||
flags = IPv6
|
|
||||||
}
|
|
||||||
+33
-33
@@ -5,51 +5,47 @@ booting diskless workstations. The tftp package provides the user \
|
|||||||
interface for TFTP, which allows users to transfer files to and from a \
|
interface for TFTP, which allows users to transfer files to and from a \
|
||||||
remote machine. This program and TFTP provide very little security, \
|
remote machine. This program and TFTP provide very little security, \
|
||||||
and should not be enabled unless it is expressly needed."
|
and should not be enabled unless it is expressly needed."
|
||||||
DEPENDS = "readline"
|
HOMEPAGE = "https://git.kernel.org/pub/scm/network/tftp/tftp-hpa.git/"
|
||||||
SECTION = "net"
|
SECTION = "net"
|
||||||
HOMEPAGE = "http://freecode.com/projects/tftp-hpa"
|
|
||||||
LICENSE = "BSD-4-Clause"
|
LICENSE = "BSD-4-Clause"
|
||||||
LIC_FILES_CHKSUM = "file://MCONFIG.in;beginline=1;endline=9;md5=c28ba5adb43041fae4629db05c83cbdd \
|
LIC_FILES_CHKSUM = "file://MCONFIG.in;beginline=1;endline=9;md5=c28ba5adb43041fae4629db05c83cbdd \
|
||||||
file://tftp/tftp.c;beginline=1;endline=32;md5=988c1cba99d70858a26cd877209857f4"
|
file://tftp/tftp.c;beginline=1;endline=32;md5=988c1cba99d70858a26cd877209857f4"
|
||||||
|
|
||||||
|
|
||||||
SRC_URI = "http://kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-${PV}.tar.bz2 \
|
SRC_URI = "git://git.kernel.org/pub/scm/network/tftp/tftp-hpa.git;protocol=https;branch=master;tag=tftp-hpa-${PV} \
|
||||||
file://tftp-0.40-remap.patch \
|
file://tftp-0.40-remap.patch \
|
||||||
file://tftp-0.42-tftpboot.patch \
|
file://tftp-0.42-tftpboot.patch \
|
||||||
file://tftp-0.49-chk_retcodes.patch \
|
file://tftp-0.49-chk_retcodes.patch \
|
||||||
file://tftp-0.49-cmd_arg.patch \
|
file://tftp-hpa-5.3-cmd_arg.patch \
|
||||||
file://tftp-hpa-0.39-tzfix.patch \
|
file://tftp-hpa-0.39-tzfix.patch \
|
||||||
file://tftp-hpa-0.49-fortify-strcpy-crash.patch \
|
file://tftp-hpa-0.49-fortify-strcpy-crash.patch \
|
||||||
file://tftp-hpa-0.49-stats.patch \
|
file://tftp-hpa-0.49-stats.patch \
|
||||||
file://tftp-hpa-5.2-pktinfo.patch \
|
file://tftp-hpa-5.3-pktinfo.patch \
|
||||||
file://default \
|
|
||||||
file://init \
|
|
||||||
file://add-error-check-for-disk-filled-up.patch \
|
file://add-error-check-for-disk-filled-up.patch \
|
||||||
file://tftp-hpa-bug-fix-on-separated-CR-and-LF.patch \
|
file://tftp-hpa-bug-fix-on-separated-CR-and-LF.patch \
|
||||||
file://fix-writing-emtpy-file.patch \
|
file://fix-writing-emtpy-file.patch \
|
||||||
file://0001-__progname-is-provided-by-libc.patch \
|
file://default \
|
||||||
file://0001-tftp-Mark-toplevel-definition-as-external.patch \
|
file://init \
|
||||||
file://0001-tftp-Remove-double-inclusion-of-signal.h.patch \
|
|
||||||
file://tftpd-hpa.socket \
|
file://tftpd-hpa.socket \
|
||||||
file://tftpd-hpa.service \
|
file://tftpd-hpa.service \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "46c9bd20bbffa62f79c958c7b99aac21"
|
SRCREV = "15c4f369ee741e9205dc28ce631aaf6799193b04"
|
||||||
SRC_URI[sha256sum] = "0a9f88d4c1c02687b4853b02ab5dd8779d4de4ffdb9b2e5c9332841304d1a269"
|
|
||||||
|
|
||||||
inherit autotools-brokensep update-rc.d update-alternatives systemd
|
inherit autotools-brokensep update-rc.d update-alternatives systemd
|
||||||
|
|
||||||
export AR = "${HOST_PREFIX}ar cq"
|
DEPENDS = "readline"
|
||||||
|
|
||||||
EXTRA_OECONF += "--disable-option-checking"
|
EXTRA_OECONF = "--enable-largefile \
|
||||||
|
--enable-year2038 \
|
||||||
|
--with-readline \
|
||||||
|
--without-tcpwrappers \
|
||||||
|
"
|
||||||
|
|
||||||
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
|
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
|
||||||
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
|
PACKAGECONFIG[ipv6] = "--with-ipv6,--without-ipv6,"
|
||||||
|
|
||||||
# configure.in has errors
|
CACHED_CONFIGUREVARS:libc-musl = "ac_cv_type_socklen_t=yes"
|
||||||
do_configure() {
|
|
||||||
oe_runconf
|
|
||||||
}
|
|
||||||
|
|
||||||
do_install() {
|
do_install() {
|
||||||
oe_runmake install INSTALLROOT=${D}
|
oe_runmake install INSTALLROOT=${D}
|
||||||
@@ -57,20 +53,25 @@ do_install() {
|
|||||||
mv ${D}${sbindir}/in.tftpd ${D}${sbindir}/in.tftpd-hpa
|
mv ${D}${sbindir}/in.tftpd ${D}${sbindir}/in.tftpd-hpa
|
||||||
|
|
||||||
install -m 755 -d ${D}${localstatedir}/lib/tftpboot/
|
install -m 755 -d ${D}${localstatedir}/lib/tftpboot/
|
||||||
install -d ${D}${sysconfdir}/init.d
|
|
||||||
install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/tftpd-hpa
|
|
||||||
sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa
|
|
||||||
sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa
|
|
||||||
sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa
|
|
||||||
sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/tftpd-hpa
|
|
||||||
|
|
||||||
install -d ${D}${sysconfdir}/default
|
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
|
||||||
install -m 0644 ${UNPACKDIR}/default ${D}${sysconfdir}/default/tftpd-hpa
|
install -d ${D}${sysconfdir}/default
|
||||||
|
install -m 0644 ${UNPACKDIR}/default ${D}${sysconfdir}/default/tftpd-hpa
|
||||||
|
|
||||||
install -d ${D}${systemd_unitdir}/system
|
install -d ${D}${sysconfdir}/init.d
|
||||||
install -m 0644 ${UNPACKDIR}/tftpd-hpa.socket ${D}${systemd_unitdir}/system
|
install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/tftpd-hpa
|
||||||
install -m 0644 ${UNPACKDIR}/tftpd-hpa.service ${D}${systemd_unitdir}/system
|
sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa
|
||||||
sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/tftpd-hpa.service
|
sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa
|
||||||
|
sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa
|
||||||
|
sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/tftpd-hpa
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
|
||||||
|
install -d ${D}${systemd_unitdir}/system
|
||||||
|
install -m 0644 ${UNPACKDIR}/tftpd-hpa.socket ${D}${systemd_unitdir}/system
|
||||||
|
install -m 0644 ${UNPACKDIR}/tftpd-hpa.service ${D}${systemd_unitdir}/system
|
||||||
|
sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/tftpd-hpa.service
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
FILES:${PN} = "${bindir}"
|
FILES:${PN} = "${bindir}"
|
||||||
@@ -92,7 +93,6 @@ ALTERNATIVE:${PN} = "tftp"
|
|||||||
ALTERNATIVE_TARGET[tftp] = "${bindir}/tftp-hpa"
|
ALTERNATIVE_TARGET[tftp] = "${bindir}/tftp-hpa"
|
||||||
ALTERNATIVE_PRIORITY = "100"
|
ALTERNATIVE_PRIORITY = "100"
|
||||||
|
|
||||||
|
|
||||||
SYSTEMD_PACKAGES = "tftp-hpa-server"
|
SYSTEMD_PACKAGES = "tftp-hpa-server"
|
||||||
SYSTEMD_SERVICE:tftp-hpa-server = "tftpd-hpa.socket tftpd-hpa.service"
|
SYSTEMD_SERVICE:tftp-hpa-server = "tftpd-hpa.socket tftpd-hpa.service"
|
||||||
SYSTEMD_AUTO_ENABLE:tftp-hpa-server = "enable"
|
SYSTEMD_AUTO_ENABLE:tftp-hpa-server = "enable"
|
||||||
Reference in New Issue
Block a user