mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-04 14:39:54 +00:00
netkit-rsh: add new package
V2: added PAM config option
fixed link bug
moved files to PN location
fixed BSD license
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
committed by
Martin Jansa
parent
2114db3000
commit
3856a63fc9
@@ -0,0 +1,39 @@
|
|||||||
|
netkit-rsh:
|
||||||
|
Allow to build with no PAM enabled.
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [ no upstream maintaner ]
|
||||||
|
|
||||||
|
Signed-off-by: Armin Kuster <akuster808@gmail.com>
|
||||||
|
|
||||||
|
Index: netkit-rsh-0.17/rshd/rshd.c
|
||||||
|
===================================================================
|
||||||
|
--- netkit-rsh-0.17.orig/rshd/rshd.c
|
||||||
|
+++ netkit-rsh-0.17/rshd/rshd.c
|
||||||
|
@@ -110,9 +110,11 @@ extern char **environ;
|
||||||
|
static void error(const char *fmt, ...);
|
||||||
|
static void doit(struct sockaddr *fromp, socklen_t fromlen);
|
||||||
|
static char *getstr(char *, size_t, const char *);
|
||||||
|
+#ifdef USE_PAM
|
||||||
|
static int err_conv(
|
||||||
|
int, const struct pam_message **, struct pam_response **, void *
|
||||||
|
);
|
||||||
|
+#endif /* USE_PAM */
|
||||||
|
|
||||||
|
extern int _check_rhosts_file;
|
||||||
|
|
||||||
|
@@ -256,6 +258,7 @@ static void stderr_parent(int sock, int
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
+#ifdef USE_PAM
|
||||||
|
static int err_conv(
|
||||||
|
int num_msg, const struct pam_message **msg,
|
||||||
|
struct pam_response **resp, void *appdata_ptr
|
||||||
|
@@ -266,6 +269,7 @@ static int err_conv(
|
||||||
|
(void) appdata_ptr;
|
||||||
|
return PAM_CONV_ERR;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
static struct passwd *doauth(const char *remuser,
|
||||||
|
const char *hostname,
|
||||||
@@ -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 = /usr/bin/tcpd
|
||||||
|
server_args = /usr/sbin/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 = /usr/bin/tcpd
|
||||||
|
server_args = /usr/sbin/in.rlogind -a
|
||||||
|
disable = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
This fixes a build issue caused by linking order.
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate
|
||||||
|
Most distos have there own verison of this fix. This was derived by
|
||||||
|
* Fix link order to list libraries after the objects that require them
|
||||||
|
(LP: #771080).
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@ubuntu.com> Tue, 13 Sep 2011 10:07:08 +0100
|
||||||
|
|
||||||
|
|
||||||
|
signed-off-by: Armin Kuster <akuster808@gmail.com>
|
||||||
|
|
||||||
|
Index: netkit-rsh-0.17/rsh/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- netkit-rsh-0.17.orig/rsh/Makefile
|
||||||
|
+++ netkit-rsh-0.17/rsh/Makefile
|
||||||
|
@@ -6,7 +6,7 @@ include ../MRULES
|
||||||
|
OBJS = rsh.o
|
||||||
|
|
||||||
|
rsh: $(OBJS)
|
||||||
|
- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
|
||||||
|
+ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
|
||||||
|
|
||||||
|
install: rsh
|
||||||
|
install -o root -m$(SUIDMODE) rsh $(INSTALLROOT)$(BINDIR)
|
||||||
|
Index: netkit-rsh-0.17/rshd/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- netkit-rsh-0.17.orig/rshd/Makefile
|
||||||
|
+++ netkit-rsh-0.17/rshd/Makefile
|
||||||
|
@@ -11,7 +11,7 @@ LIBS += -ldl -lpam
|
||||||
|
endif
|
||||||
|
|
||||||
|
rshd: $(OBJS)
|
||||||
|
- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
|
||||||
|
+ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
|
||||||
|
|
||||||
|
install: rshd
|
||||||
|
install -m$(DAEMONMODE) rshd $(INSTALLROOT)$(SBINDIR)/in.rshd
|
||||||
|
Index: netkit-rsh-0.17/rlogin/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- netkit-rsh-0.17.orig/rlogin/Makefile
|
||||||
|
+++ netkit-rsh-0.17/rlogin/Makefile
|
||||||
|
@@ -7,7 +7,7 @@ PROG=rlogin
|
||||||
|
OBJS=rlogin.o
|
||||||
|
|
||||||
|
$(PROG): $(OBJS)
|
||||||
|
- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
|
||||||
|
+ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
|
||||||
|
|
||||||
|
install: $(PROG)
|
||||||
|
install -o root -m$(SUIDMODE) $(PROG) $(INSTALLROOT)$(BINDIR)
|
||||||
|
Index: netkit-rsh-0.17/rlogind/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- netkit-rsh-0.17.orig/rlogind/Makefile
|
||||||
|
+++ netkit-rsh-0.17/rlogind/Makefile
|
||||||
|
@@ -13,7 +13,7 @@ LIBS += -ldl -lpam -lpam_misc
|
||||||
|
endif
|
||||||
|
|
||||||
|
rlogind: $(OBJS)
|
||||||
|
- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
|
||||||
|
+ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
|
||||||
|
|
||||||
|
rlogind.o: pathnames.h logwtmp.h rlogind.h ../version.h
|
||||||
|
logwtmp.o: logwtmp.h
|
||||||
|
Index: netkit-rsh-0.17/rexecd/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- netkit-rsh-0.17.orig/rexecd/Makefile
|
||||||
|
+++ netkit-rsh-0.17/rexecd/Makefile
|
||||||
|
@@ -24,7 +24,7 @@ endif
|
||||||
|
CFLAGS += -DRESTRICT_FTP=1
|
||||||
|
|
||||||
|
rexecd: rexecd.o
|
||||||
|
- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
|
||||||
|
+ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
|
||||||
|
|
||||||
|
install: rexecd
|
||||||
|
install -m$(DAEMONMODE) rexecd $(INSTALLROOT)$(SBINDIR)/in.rexecd
|
||||||
@@ -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 = /usr/bin/tcpd
|
||||||
|
server_args = /usr/sbin/in.rshd -aL
|
||||||
|
disable = yes
|
||||||
|
}
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
DESCRIPTION = "netkit-rsh includes the rsh daemon and client."
|
||||||
|
SECTION = "networking"
|
||||||
|
HOMEPAGE="ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
|
||||||
|
LICENSE = "BSD-4-Clause"
|
||||||
|
DEPENDS = "xinetd libgcrypt"
|
||||||
|
|
||||||
|
LIC_FILES_CHKSUM = "file://rsh/rsh.c;beginline=2;endline=3;md5=25737e9d21d9df251dd26b7dcbd8ee29"
|
||||||
|
|
||||||
|
SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rsh/netkit-rsh_${PV}.orig.tar.gz;name=archive \
|
||||||
|
${DEBIAN_MIRROR}/main/n/netkit-rsh/netkit-rsh_${PV}-15.diff.gz;name=patch15 \
|
||||||
|
file://rsh-redone_link_order_file.patch \
|
||||||
|
file://no_pam_build_fix.patch \
|
||||||
|
file://rexec.xinetd.netkit \
|
||||||
|
file://rlogin.xinetd.netkit \
|
||||||
|
file://rsh.xinetd.netkit \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI[archive.md5sum] = "65f5f28e2fe22d9ad8b17bb9a10df096"
|
||||||
|
SRC_URI[archive.sha256sum] = "edcac7fa18015f0bc04e573f3f54ae3b638d71335df1ad7dae692779914ad669"
|
||||||
|
SRC_URI[patch15.md5sum] = "655efc0d541b03ca5de0ae506c805ea3"
|
||||||
|
SRC_URI[patch15.sha256sum] = "2bc071c438e8b0ed42a0bd2db2d8b681b27a1e9b1798694d9874733293bc2aa9"
|
||||||
|
|
||||||
|
inherit pkgconfig
|
||||||
|
|
||||||
|
CFLAGS += " -D_GNU_SOURCE -Wno-deprecated-declarations"
|
||||||
|
LDFLAGS += " -L${STAGING_LIBDIR} -lutil -lcrypt"
|
||||||
|
|
||||||
|
PACKAGECONFIG ??= ""
|
||||||
|
PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam", "", d)}"
|
||||||
|
PACKAGECONFIG[pam] = " , --without-pam, libpam, libpam"
|
||||||
|
|
||||||
|
do_configure () {
|
||||||
|
./configure --prefix=${prefix}
|
||||||
|
echo "INSTALLROOT=${D}" > MCONFIG
|
||||||
|
|
||||||
|
if [ "${@base_contains('PACKAGECONFIG', 'pam', 'pam', '', d)}" != "" ]; then
|
||||||
|
echo "USE_PAM=1" >> MCONFIG
|
||||||
|
fi
|
||||||
|
|
||||||
|
# didn't want to patch these next changes
|
||||||
|
sed -i 's/netkit-//' ${S}/rsh/pathnames.h
|
||||||
|
sed -i 's/netkit-//' ${S}/rcp/pathnames.h
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install () {
|
||||||
|
install -d ${D}${bindir}
|
||||||
|
install -d ${D}${sbindir}
|
||||||
|
install -d ${D}${mandir}/man1
|
||||||
|
install -d ${D}${mandir}/man8
|
||||||
|
install -d ${D}${sysconfdir}/xinetd.d
|
||||||
|
|
||||||
|
oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \
|
||||||
|
'DAEMONMODE=0755' 'MANMODE=0644' \
|
||||||
|
'SUIDMODE=4755' \
|
||||||
|
'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \
|
||||||
|
'MANDIR=${mandir}' install
|
||||||
|
|
||||||
|
if [ "${@base_contains('PACKAGECONFIG', 'pam', 'pam', '', d)}" != "" ]; then
|
||||||
|
install -d ${D}${sysconfdir}/pam.d
|
||||||
|
install -m 0644 debian/hosts.equiv ${D}/${sysconfdir}
|
||||||
|
install -m 0644 debian/pam.d/rexec ${D}/${sysconfdir}/pam.d
|
||||||
|
install -m 0644 debian/pam.d/rlogin ${D}/${sysconfdir}/pam.d
|
||||||
|
install -m 0644 debian/pam.d/rsh ${D}/${sysconfdir}/pam.d
|
||||||
|
fi
|
||||||
|
cp ${WORKDIR}/rexec.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rexec
|
||||||
|
cp ${WORKDIR}/rlogin.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rlogin
|
||||||
|
cp ${WORKDIR}/rsh.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rsh
|
||||||
|
}
|
||||||
|
|
||||||
|
PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg"
|
||||||
|
|
||||||
|
FILES_${PN}-client = "${bindir}/*"
|
||||||
|
FILES_${PN}-server = "${sbindir}/* ${sysconfdir}"
|
||||||
|
FILES_${PN}-doc = "${mandir}"
|
||||||
|
FILES_${PN}-dbg = "${prefix}/src/debug \
|
||||||
|
${sbindir}/.debug ${bindir}/.debug"
|
||||||
|
|
||||||
|
ALTERNATIVE_PRIORITY = "80"
|
||||||
|
ALTERNATIVE_${PN}-client = "rcp rexec rlogin rsh"
|
||||||
|
ALTERNATIVE_${PN}-server = "rshd rexecd rlogind"
|
||||||
|
ALTERNATIVE_LINK_NAME[server] = "${bindir}/rshd"
|
||||||
|
ALTERNATIVE_TARGET[rshd] = "${sbindir}/in.rshd"
|
||||||
|
ALTERNATIVE_LINK_NAME[rexecd] = "${bindir}/rexecd"
|
||||||
|
ALTERNATIVE_TARGET[rexecd] = "${sbindir}/in.rexecd"
|
||||||
|
ALTERNATIVE_LINK_NAME[rlogind] = "${bindir}/rlogind"
|
||||||
|
ALTERNATIVE_TARGET[rlogind] = "${sbindir}/in.rlogind"
|
||||||
|
|
||||||
|
RCONFLICTS_${PN}-client += "inetutils-rshd"
|
||||||
|
RPROVIDES_${PN}-rshd = "rshd"
|
||||||
|
|
||||||
|
RDEPENDS_${PN} = "xinetd"
|
||||||
Reference in New Issue
Block a user