From patchwork Mon May 28 07:41:22 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v2] busybox: Install S41inetd and inetd.conf if inetd is enabled in busybox. Date: Sun, 27 May 2012 21:41:22 -0000 From: Kelvin Cheung X-Patchwork-Id: 161591 Message-Id: <1338190882-4548-1-git-send-email-keguang.zhang@gmail.com> To: buildroot@busybox.net Install S41inetd and inetd.conf if inetd is enabled in busybox. Add ftpd to /etc/inetd.conf if inetd and ftpd are enabled. Add telnetd to /etc/inetd.conf if inetd and telnetd are enabled. Add tftpd to /etc/inetd.conf if inetd and tftpd are enabled. Changes for v2: Update ftpd and tftpd configuration in inetd.conf. Signed-off-by: Kelvin Cheung --- package/busybox/S41inetd | 28 ++++++++++++++++++++++++++++ package/busybox/busybox.mk | 32 ++++++++++++++++++++++++++++++++ package/busybox/inetd.conf | 3 +++ 3 files changed, 63 insertions(+), 0 deletions(-) create mode 100644 package/busybox/S41inetd create mode 100644 package/busybox/inetd.conf diff --git a/package/busybox/S41inetd b/package/busybox/S41inetd new file mode 100644 index 0000000..9d7d3cd --- /dev/null +++ b/package/busybox/S41inetd @@ -0,0 +1,28 @@ +#!/bin/sh +# +# Starts the inetd daemon. +# + +NAME=inetd +DAEMON=/usr/sbin/$NAME + +case "$1" in + start) + echo -n "Starting $NAME: " + start-stop-daemon -S -q -x $DAEMON && echo "OK" || echo "Failed" + ;; + stop) + echo -n "Stopping $NAME: " + start-stop-daemon -K -q -n $NAME && echo "OK" || echo "Failed" + ;; + restart|reload) + $0 stop + $0 start + ;; + *) + echo $"Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? + diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index 1d988f8..4ddd552 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -155,6 +155,36 @@ define BUSYBOX_INSTALL_WATCHDOG_SCRIPT endef endif +define BUSYBOX_INSTALL_INETD_SCRIPT + if grep -q CONFIG_INETD=y $(@D)/.config; then \ + [ -f $(TARGET_DIR)/etc/init.d/S41inetd ] || \ + $(INSTALL) -m 0755 -D package/busybox/S41inetd \ + $(TARGET_DIR)/etc/init.d/S41inetd; \ + else rm -f $(TARGET_DIR)/etc/init.d/S41inetd; fi +endef +define BUSYBOX_INSTALL_INETD_CONF + if grep -q CONFIG_INETD=y $(@D)/.config; then \ + [ -f $(TARGET_DIR)/etc/inetd.conf ] || \ + install -D -m 0644 package/busybox/inetd.conf \ + $(TARGET_DIR)/etc/inetd.conf; \ + if grep -q CONFIG_FTPD=y $(@D)/.config; then \ + if ! grep -q '^ftp' $(TARGET_DIR)/etc/inetd.conf; then \ + echo -e "ftp\tstream\ttcp\tnowait\troot\tftpd\tftpd -w /root" >> $(TARGET_DIR)/etc/inetd.conf; \ + fi; \ + else $(SED) '/^ftp/d' $(TARGET_DIR)/etc/inetd.conf; fi; \ + if grep -q CONFIG_TELNETD=y $(@D)/.config; then \ + if ! grep -q '^telnet' $(TARGET_DIR)/etc/inetd.conf; then \ + echo -e "telnet\tstream\ttcp\tnowait\troot\ttelnetd\ttelnetd -i" >> $(TARGET_DIR)/etc/inetd.conf; \ + fi; \ + else $(SED) '/^telnet/d' $(TARGET_DIR)/etc/inetd.conf; fi; \ + if grep -q CONFIG_TFTPD=y $(@D)/.config; then \ + if ! grep -q '^tftp' $(TARGET_DIR)/etc/inetd.conf; then \ + echo -e "tftp\tdgram\tudp\tnowait\troot\ttftpd\ttftpd -l -c /root" >> $(TARGET_DIR)/etc/inetd.conf; \ + fi; \ + else $(SED) '/^tftp/d' $(TARGET_DIR)/etc/inetd.conf; fi \ + else rm -f $(TARGET_DIR)/etc/inetd.conf; fi +endef + # We do this here to avoid busting a modified .config in configure BUSYBOX_POST_EXTRACT_HOOKS += BUSYBOX_COPY_CONFIG @@ -187,6 +217,8 @@ define BUSYBOX_INSTALL_TARGET_CMDS $(BUSYBOX_INSTALL_MDEV_CONF) $(BUSYBOX_INSTALL_LOGGING_SCRIPT) $(BUSYBOX_INSTALL_WATCHDOG_SCRIPT) + $(BUSYBOX_INSTALL_INETD_SCRIPT) + $(BUSYBOX_INSTALL_INETD_CONF) endef define BUSYBOX_UNINSTALL_TARGET_CMDS diff --git a/package/busybox/inetd.conf b/package/busybox/inetd.conf new file mode 100644 index 0000000..82cfa15 --- /dev/null +++ b/package/busybox/inetd.conf @@ -0,0 +1,3 @@ +# +# +