Initial commit

This commit is contained in:
Your Name
2026-04-23 17:07:55 +08:00
commit b7e39e063b
16725 changed files with 1625565 additions and 0 deletions
@@ -0,0 +1,85 @@
From c7c27ba763c613f83c1561e56448b49315c271c5 Mon Sep 17 00:00:00 2001
From: Jackie Huang <jackie.huang@windriver.com>
Date: Wed, 6 Mar 2019 09:36:11 -0500
Subject: [PATCH] Upstream:
http://www.mail-archive.com/bug-inetutils@gnu.org/msg02103.html
Upstream-Status: Pending
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
ping/ping_common.h | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/ping/ping_common.h b/ping/ping_common.h
index 65e3e60..3e84db0 100644
--- a/ping/ping_common.h
+++ b/ping/ping_common.h
@@ -18,10 +18,14 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see `http://www.gnu.org/licenses/'. */
+#include <config.h>
+
#include <netinet/in_systm.h>
#include <netinet/in.h>
#include <netinet/ip.h>
+#ifdef HAVE_IPV6
#include <netinet/icmp6.h>
+#endif
#include <icmp.h>
#include <error.h>
#include <progname.h>
@@ -63,7 +67,12 @@ struct ping_stat
want to follow the traditional behaviour of ping. */
#define DEFAULT_PING_COUNT 0
+#ifdef HAVE_IPV6
#define PING_HEADER_LEN (USE_IPV6 ? sizeof (struct icmp6_hdr) : ICMP_MINLEN)
+#else
+#define PING_HEADER_LEN (ICMP_MINLEN)
+#endif
+
#define PING_TIMING(s) ((s) >= sizeof (struct timeval))
#define PING_DATALEN (64 - PING_HEADER_LEN) /* default data length */
@@ -78,13 +87,20 @@ struct ping_stat
#define PING_MIN_USER_INTERVAL (200000/PING_PRECISION)
+#ifdef HAVE_IPV6
/* FIXME: Adjust IPv6 case for options and their consumption. */
#define _PING_BUFLEN(p, u) ((u)? ((p)->ping_datalen + sizeof (struct icmp6_hdr)) : \
(MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN))
+#else
+#define _PING_BUFLEN(p, u) (MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN)
+#endif
+
+#ifdef HAVE_IPV6
typedef int (*ping_efp6) (int code, void *closure, struct sockaddr_in6 * dest,
struct sockaddr_in6 * from, struct icmp6_hdr * icmp,
int datalen);
+#endif
typedef int (*ping_efp) (int code,
void *closure,
@@ -93,13 +109,17 @@ typedef int (*ping_efp) (int code,
struct ip * ip, icmphdr_t * icmp, int datalen);
union event {
+#ifdef HAVE_IPV6
ping_efp6 handler6;
+#endif
ping_efp handler;
};
union ping_address {
struct sockaddr_in ping_sockaddr;
+#ifdef HAVE_IPV6
struct sockaddr_in6 ping_sockaddr6;
+#endif
};
typedef struct ping_data PING;
@@ -0,0 +1,27 @@
From f7f785c21306010b2367572250b2822df5bc7728 Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier at gentoo.org>
Date: Thu, 18 Nov 2010 16:59:14 -0500
Subject: [PATCH] printf-parse: pull in features.h for __GLIBC__
Upstream-Status: Pending
Signed-off-by: Mike Frysinger <vapier at gentoo.org>
---
lib/printf-parse.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/printf-parse.h b/lib/printf-parse.h
index e7d0f82..d7b4534 100644
--- a/lib/printf-parse.h
+++ b/lib/printf-parse.h
@@ -28,6 +28,9 @@
#include "printf-args.h"
+#ifdef HAVE_FEATURES_H
+# include <features.h> /* for __GLIBC__ */
+#endif
/* Flags */
#define FLAG_GROUP 1 /* ' flag */
@@ -0,0 +1,25 @@
From 9089c6eafbf5903174dce87b68476e35db80beb9 Mon Sep 17 00:00:00 2001
From: Martin Jansa <martin.jansa@gmail.com>
Date: Wed, 6 Mar 2019 09:36:11 -0500
Subject: [PATCH] inetutils: Import version 1.9.4
Upstream-Status: Pending
---
lib/wchar.in.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/wchar.in.h b/lib/wchar.in.h
index cdda680..043866a 100644
--- a/lib/wchar.in.h
+++ b/lib/wchar.in.h
@@ -77,6 +77,9 @@
/* The include_next requires a split double-inclusion guard. */
#if @HAVE_WCHAR_H@
# @INCLUDE_NEXT@ @NEXT_WCHAR_H@
+#else
+# include <stddef.h>
+# define MB_CUR_MAX 1
#endif
#undef _GL_ALREADY_INCLUDING_WCHAR_H
@@ -0,0 +1,37 @@
From 101130f422dd5c01a1459645d7b2a5b8d19720ab Mon Sep 17 00:00:00 2001
From: Martin Jansa <martin.jansa@gmail.com>
Date: Wed, 6 Mar 2019 09:36:11 -0500
Subject: [PATCH] inetutils: define PATH_PROCNET_DEV if not already defined
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
this prevents the following compilation error :
system/linux.c:401:15: error: 'PATH_PROCNET_DEV' undeclared (first use in this function)
this patch comes from :
http://repository.timesys.com/buildsources/i/inetutils/inetutils-1.9/
Upstream-Status: Inappropriate [not author]
Signed-of-by: Eric Bénard <eric@eukrea.com>
---
ifconfig/system/linux.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/ifconfig/system/linux.c b/ifconfig/system/linux.c
index e453b46..4268ca9 100644
--- a/ifconfig/system/linux.c
+++ b/ifconfig/system/linux.c
@@ -53,6 +53,10 @@
#include "../ifconfig.h"
+#ifndef PATH_PROCNET_DEV
+ #define PATH_PROCNET_DEV "/proc/net/dev"
+#endif
+
/* ARPHRD stuff. */
static void
@@ -0,0 +1,49 @@
From cc66e842e037fba9f06761f942abe5c4856492b8 Mon Sep 17 00:00:00 2001
From: Kai Kang <kai.kang@windriver.com>
Date: Wed, 6 Mar 2019 09:36:11 -0500
Subject: [PATCH] inetutils: Import version 1.9.4
Only check security/pam_appl.h which is provided by package libpam when pam is
enabled.
Upstream-Status: Pending
Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
configure.ac | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 5e16c3a..18510a8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -182,6 +182,19 @@ AC_SUBST(LIBUTIL)
# See if we have libpam.a. Investigate PAM versus Linux-PAM.
if test "$with_pam" = yes ; then
+ AC_CHECK_HEADERS([security/pam_appl.h], [], [], [
+#include <sys/types.h>
+#ifdef HAVE_NETINET_IN_SYSTM_H
+# include <netinet/in_systm.h>
+#endif
+#include <netinet/in.h>
+#ifdef HAVE_NETINET_IP_H
+# include <netinet/ip.h>
+#endif
+#ifdef HAVE_SYS_PARAM_H
+# include <sys/param.h>
+#endif
+])
AC_CHECK_LIB(dl, dlopen, LIBDL=-ldl)
AC_CHECK_LIB(pam, pam_authenticate, LIBPAM=-lpam)
if test "$ac_cv_lib_pam_pam_authenticate" = yes ; then
@@ -617,7 +630,7 @@ AC_HEADER_DIRENT
AC_CHECK_HEADERS([arpa/nameser.h arpa/tftp.h fcntl.h features.h \
glob.h memory.h netinet/ether.h netinet/in_systm.h \
netinet/ip.h netinet/ip_icmp.h netinet/ip_var.h \
- security/pam_appl.h shadow.h \
+ shadow.h \
stropts.h sys/tty.h \
sys/utsname.h sys/ptyvar.h sys/msgbuf.h sys/filio.h \
sys/ioctl_compat.h sys/cdefs.h sys/stream.h sys/mkdev.h \
@@ -0,0 +1,20 @@
# default: off
# description:
# Rexecd is the server for the rexec program. The server provides remote
# execution facilities with authentication based on user names and
# passwords.
#
service exec
{
socket_type = stream
protocol = tcp
flags = NAMEINARGS
wait = no
user = root
group = root
log_on_success += USERID
log_on_failure += USERID
server = @SBINDIR@/tcpd
server_args = @SBINDIR@/in.rexecd
disable = yes
}
@@ -0,0 +1,23 @@
# default: off
# description:
# Rlogind is a server for the rlogin program. The server provides remote
# execution with authentication based on privileged port numbers from trusted
# host
#
service login
{
socket_type = stream
protocol = tcp
flags = NAMEINARGS
wait = no
user = root
group = root
log_on_success += USERID
log_on_failure += USERID
server = @SBINDIR@/tcpd
server_args = @SBINDIR@/in.rlogind -a
disable = yes
}
@@ -0,0 +1,21 @@
# default: off
# description:
# The rshd server is a server for the rcmd(3) routine and,
# consequently, for the rsh(1) program. The server provides
# remote execution facilities with authentication based on
# privileged port numbers from trusted hosts.
#
service shell
{
socket_type = stream
protocol = tcp
flags = NAMEINARGS
wait = no
user = root
group = root
log_on_success += USERID
log_on_failure += USERID
server = @SBINDIR@/tcpd
server_args = @SBINDIR@/in.rshd -aL
disable = yes
}
@@ -0,0 +1,13 @@
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = @SBINDIR@/in.telnetd
log_on_failure += USERID
}
@@ -0,0 +1,19 @@
# default: off
# description:
# Tftpd is a server which supports the Internet Trivial File Transfer
# Pro-tocol (RFC 783). The TFTP server operates at the port indicated
# in the tftp service description; see services(5).
#
service tftp
{
disable = yes
socket_type = dgram
protocol = udp
flags = IPv6
wait = yes
user = root
group = root
server = @SBINDIR@/in.tftpd
server_args = /tftpboot
}
@@ -0,0 +1,212 @@
SUMMARY = "The GNU inetutils are a collection of common networking utilities and servers."
DESCRIPTION = "The GNU inetutils are a collection of common \
networking utilities and servers including ftp, ftpd, rcp, \
rexec, rlogin, rlogind, rsh, rshd, syslog, syslogd, talk, \
talkd, telnet, telnetd, tftp, tftpd, and uucpd."
HOMEPAGE = "http://www.gnu.org/software/inetutils"
SECTION = "net"
DEPENDS = "ncurses netbase readline virtual/crypt"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7"
SRC_URI[sha256sum] = "1789d6b1b1a57dfe2a7ab7b533ee9f5dfd9cbf5b59bb1bb3c2612ed08d0f68b2"
SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.xz \
file://inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch \
file://inetutils-1.8-0003-wchar.patch \
file://rexec.xinetd.inetutils \
file://rlogin.xinetd.inetutils \
file://rsh.xinetd.inetutils \
file://telnet.xinetd.inetutils \
file://tftpd.xinetd.inetutils \
file://inetutils-1.9-PATH_PROCNET_DEV.patch \
file://inetutils-only-check-pam_appl.h-when-pam-enabled.patch \
"
inherit autotools gettext update-alternatives texinfo
acpaths = "-I ./m4"
SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '', 'file://fix-disable-ipv6.patch', d)}"
PACKAGECONFIG ??= "ftp uucpd \
${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6 ping6', '', d)} \
"
PACKAGECONFIG[ftp] = "--enable-ftp,--disable-ftp,readline"
PACKAGECONFIG[uucpd] = "--enable-uucpd,--disable-uucpd,readline"
PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6 gl_cv_socket_ipv6=no,"
PACKAGECONFIG[ping6] = "--enable-ping6,--disable-ping6,"
EXTRA_OECONF = "--with-ncurses-include-dir=${STAGING_INCDIR} \
inetutils_cv_path_login=${base_bindir}/login \
--with-libreadline-prefix=${STAGING_LIBDIR} \
--enable-rpath=no \
"
# These are horrible for security, disable them
EXTRA_OECONF:append = " --disable-rsh --disable-rshd --disable-rcp \
--disable-rlogin --disable-rlogind --disable-rexec --disable-rexecd"
do_configure:prepend () {
export HELP2MAN='true'
cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${S}/build-aux/config.rpath
install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
rm -f ${S}/glob/configure*
}
do_install:append () {
install -m 0755 -d ${D}${base_sbindir}
install -m 0755 -d ${D}${sbindir}
install -m 0755 -d ${D}${sysconfdir}/xinetd.d
if [ "${base_bindir}" != "${bindir}" ] ; then
install -m 0755 -d ${D}${base_bindir}
mv ${D}${bindir}/ping* ${D}${base_bindir}/
mv ${D}${bindir}/hostname ${D}${base_bindir}/
mv ${D}${bindir}/dnsdomainname ${D}${base_bindir}/
fi
mv ${D}${bindir}/ifconfig ${D}${base_sbindir}/
mv ${D}${libexecdir}/syslogd ${D}${base_sbindir}/
mv ${D}${libexecdir}/tftpd ${D}${sbindir}/in.tftpd
mv ${D}${libexecdir}/telnetd ${D}${sbindir}/in.telnetd
if [ -e ${D}${libexecdir}/rexecd ]; then
mv ${D}${libexecdir}/rexecd ${D}${sbindir}/in.rexecd
cp ${WORKDIR}/rexec.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rexec
fi
if [ -e ${D}${libexecdir}/rlogind ]; then
mv ${D}${libexecdir}/rlogind ${D}${sbindir}/in.rlogind
cp ${WORKDIR}/rlogin.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rlogin
fi
if [ -e ${D}${libexecdir}/rshd ]; then
mv ${D}${libexecdir}/rshd ${D}${sbindir}/in.rshd
cp ${WORKDIR}/rsh.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rsh
fi
if [ -e ${D}${libexecdir}/talkd ]; then
mv ${D}${libexecdir}/talkd ${D}${sbindir}/in.talkd
fi
mv ${D}${libexecdir}/uucpd ${D}${sbindir}/in.uucpd
mv ${D}${libexecdir}/* ${D}${bindir}/
cp ${WORKDIR}/telnet.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/telnet
cp ${WORKDIR}/tftpd.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/tftpd
sed -e 's,@SBINDIR@,${sbindir},g' -i ${D}/${sysconfdir}/xinetd.d/*
if [ -e ${D}${libdir}/charset.alias ]; then
rm -rf ${D}${libdir}/charset.alias
fi
rm -rf ${D}${libexecdir}/
# remove usr/lib if empty
rmdir ${D}${libdir} || true
}
PACKAGES =+ "${PN}-ping ${PN}-ping6 ${PN}-hostname ${PN}-ifconfig \
${PN}-tftp ${PN}-logger ${PN}-traceroute ${PN}-syslogd \
${PN}-ftp ${PN}-ftpd ${PN}-tftpd ${PN}-telnet ${PN}-telnetd ${PN}-inetd \
${PN}-rsh ${PN}-rshd"
# The packages tftpd, telnetd and rshd conflict with the ones
# provided by netkit, so add the corresponding -dbg packages
# for them to avoid the confliction between the dbg package
# of inetutils and netkit.
PACKAGES =+ "${PN}-tftpd-dbg ${PN}-telnetd-dbg ${PN}-rshd-dbg"
NOAUTOPACKAGEDEBUG = "1"
ALTERNATIVE_PRIORITY = "79"
ALTERNATIVE:${PN} = "whois dnsdomainname"
ALTERNATIVE_LINK_NAME[uucpd] = "${sbindir}/in.uucpd"
ALTERNATIVE_LINK_NAME[dnsdomainname] = "${base_bindir}/dnsdomainname"
ALTERNATIVE_PRIORITY_${PN}-logger = "60"
ALTERNATIVE:${PN}-logger = "logger"
ALTERNATIVE:${PN}-syslogd = "syslogd"
ALTERNATIVE_LINK_NAME[syslogd] = "${base_sbindir}/syslogd"
ALTERNATIVE:${PN}-ftp = "ftp"
ALTERNATIVE:${PN}-ftpd = "ftpd"
ALTERNATIVE:${PN}-tftp = "tftp"
ALTERNATIVE:${PN}-tftpd = "tftpd"
ALTERNATIVE_LINK_NAME[tftpd] = "${sbindir}/tftpd"
ALTERNATIVE_TARGET[tftpd] = "${sbindir}/in.tftpd"
ALTERNATIVE:${PN}-telnet = "telnet"
ALTERNATIVE:${PN}-telnetd = "telnetd"
ALTERNATIVE_LINK_NAME[telnetd] = "${sbindir}/telnetd"
ALTERNATIVE_TARGET[telnetd] = "${sbindir}/in.telnetd"
ALTERNATIVE:${PN}-inetd= "inetd"
ALTERNATIVE:${PN}-traceroute = "traceroute"
ALTERNATIVE:${PN}-hostname = "hostname"
ALTERNATIVE_LINK_NAME[hostname] = "${base_bindir}/hostname"
ALTERNATIVE:${PN}-doc = "hostname.1 dnsdomainname.1 logger.1 syslogd.8 \
tftpd.8 tftp.1 telnetd.8"
ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1"
ALTERNATIVE_LINK_NAME[dnsdomainname.1] = "${mandir}/man1/dnsdomainname.1"
ALTERNATIVE_LINK_NAME[logger.1] = "${mandir}/man1/logger.1"
ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8"
ALTERNATIVE_LINK_NAME[telnetd.8] = "${mandir}/man8/telnetd.8"
ALTERNATIVE_LINK_NAME[tftpd.8] = "${mandir}/man8/tftpd.8"
ALTERNATIVE_LINK_NAME[tftp.1] = "${mandir}/man1/tftp.1"
ALTERNATIVE:${PN}-ifconfig = "ifconfig"
ALTERNATIVE_LINK_NAME[ifconfig] = "${base_sbindir}/ifconfig"
ALTERNATIVE:${PN}-ping = "ping"
ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping"
ALTERNATIVE:${PN}-ping6 = "${@bb.utils.filter('PACKAGECONFIG', 'ping6', d)}"
ALTERNATIVE_LINK_NAME[ping6] = "${base_bindir}/ping6"
FILES:${PN}-dbg += "${base_bindir}/.debug ${base_sbindir}/.debug ${bindir}/.debug ${sbindir}/.debug"
FILES:${PN}-ping = "${base_bindir}/ping.${BPN}"
FILES:${PN}-ping6 = "${base_bindir}/ping6.${BPN}"
FILES:${PN}-hostname = "${base_bindir}/hostname.${BPN}"
FILES:${PN}-ifconfig = "${base_sbindir}/ifconfig.${BPN}"
FILES:${PN}-traceroute = "${bindir}/traceroute.${BPN}"
FILES:${PN}-logger = "${bindir}/logger.${BPN}"
FILES:${PN}-syslogd = "${base_sbindir}/syslogd.${BPN}"
RCONFLICTS:${PN}-syslogd = "rsyslog busybox-syslog sysklogd syslog-ng"
FILES:${PN}-ftp = "${bindir}/ftp.${BPN}"
FILES:${PN}-tftp = "${bindir}/tftp.${BPN}"
FILES:${PN}-telnet = "${bindir}/telnet.${BPN}"
# We make us of RCONFLICTS / RPROVIDES here rather than using the normal
# alternatives method as this leads to packaging QA issues when using
# musl as that library does not provide what these applications need to
# build.
FILES:${PN}-rsh = "${bindir}/rsh ${bindir}/rlogin ${bindir}/rexec ${bindir}/rcp"
RCONFLICTS:${PN}-rsh += "netkit-rsh-client"
RPROVIDES:${PN}-rsh = "rsh"
FILES:${PN}-rshd = "${sbindir}/in.rshd ${sbindir}/in.rlogind ${sbindir}/in.rexecd \
${sysconfdir}/xinetd.d/rsh ${sysconfdir}/xinetd.d/rlogin ${sysconfdir}/xinetd.d/rexec"
FILES:${PN}-rshd-dbg = "${sbindir}/.debug/in.rshd ${sbindir}/.debug/in.rlogind ${sbindir}/.debug/in.rexecd"
RDEPENDS:${PN}-rshd += "xinetd tcp-wrappers"
RCONFLICTS:${PN}-rshd += "netkit-rshd-server"
RPROVIDES:${PN}-rshd = "rshd"
FILES:${PN}-ftpd = "${bindir}/ftpd.${BPN}"
FILES:${PN}-ftpd-dbg = "${bindir}/.debug/ftpd.${BPN}"
RDEPENDS:${PN}-ftpd += "xinetd"
FILES:${PN}-tftpd = "${sbindir}/in.tftpd ${sysconfdir}/xinetd.d/tftpd"
FILES:${PN}-tftpd-dbg = "${sbindir}/.debug/in.tftpd"
RCONFLICTS:${PN}-tftpd += "netkit-tftpd"
RDEPENDS:${PN}-tftpd += "xinetd"
FILES:${PN}-telnetd = "${sbindir}/in.telnetd ${sysconfdir}/xinetd.d/telnet"
FILES:${PN}-telnetd-dbg = "${sbindir}/.debug/in.telnetd"
RCONFLICTS:${PN}-telnetd += "netkit-telnet"
RPROVIDES:${PN}-telnetd = "telnetd"
RDEPENDS:${PN}-telnetd += "xinetd"
FILES:${PN}-inetd = "${bindir}/inetd.${BPN}"
RDEPENDS:${PN} = "xinetd"