From patchwork Tue May 29 07:19:14 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Keguang Zhang X-Patchwork-Id: 161662 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from silver.osuosl.org (silver.osuosl.org [140.211.166.136]) by ozlabs.org (Postfix) with ESMTP id 7A123B6EEB for ; Tue, 29 May 2012 17:19:34 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id D08E731F26; Tue, 29 May 2012 07:19:31 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W3voUZRmt+Q7; Tue, 29 May 2012 07:19:30 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id C6A0321FBF; Tue, 29 May 2012 07:19:29 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 025598F75B for ; Tue, 29 May 2012 07:19:29 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id E4DF28C8BD for ; Tue, 29 May 2012 07:19:28 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0Sd526AaKn+f for ; Tue, 29 May 2012 07:19:26 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pz0-f43.google.com (mail-pz0-f43.google.com [209.85.210.43]) by whitealder.osuosl.org (Postfix) with ESMTPS id 368A98AAA4 for ; Tue, 29 May 2012 07:19:26 +0000 (UTC) Received: by dajz8 with SMTP id z8so7407458daj.16 for ; Tue, 29 May 2012 00:19:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=eKVv0Ue1uERqpH50NWS/XNH+sOetcortaQIwEh9f6gQ=; b=M1Og5n7w5hRDG4ZZ2Tg8Og3wJjtLksMh5G2Z/lMId2pabfj5t6ttXmtzwXXfx+1fYH 57ssn2ImhLFkzV5lziDp0Aj2cZBHnummeOHgy2uWzsvYoxB5CXez+mAmPdGdXqLBBFLi +kOv5Zv0yMTpU2N5sV2oeb9d6Ta+FNT82XzKXPoA2zdr4302gbpgK24A8Yvhgh1d1VTD /V2vSWG5ACedDjld+qsoH0vAj6AJBru9n82XuGe3HIEJ0BfjRzEZUvZKqTnOmxLeAntA nkA9qzcMP0+9NYSfiprpO5sGL5Tc5PGZKzxW7D2wMEM0sXEDeybVaXNlIqqehEn34/Wj naiA== Received: by 10.68.216.33 with SMTP id on1mr35005987pbc.105.1338275965751; Tue, 29 May 2012 00:19:25 -0700 (PDT) Received: from kelvin-Work.chd.intersil.com ([182.148.112.76]) by mx.google.com with ESMTPS id x1sm21903092pbp.50.2012.05.29.00.19.20 (version=SSLv3 cipher=OTHER); Tue, 29 May 2012 00:19:25 -0700 (PDT) From: Kelvin Cheung To: buildroot@busybox.net Date: Tue, 29 May 2012 15:19:14 +0800 Message-Id: <1338275954-20596-1-git-send-email-keguang.zhang@gmail.com> X-Mailer: git-send-email 1.7.1 Subject: [Buildroot] [PATCH v3] busybox: install S41inetd and inetd.conf if inetd is enabled in busybox. X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net Install S41inetd and inetd.conf if inetd is enabled in busybox. Add telnetd to /etc/inetd.conf when inetd and telnetd are enabled. Provide examples for /etc/inetd.conf when ftpd and tftpd are enabled. Signed-off-by: Kelvin Cheung --- Changes for v3: Create a pidfile for inetd (asked by Arnout and Peter). For ftp and tftp service, provide examples instead of configurations. Changes for v2: Update ftpd and tftpd configuration in inetd.conf --- package/busybox/S41inetd | 30 ++++++++++++++++++++++++++++++ package/busybox/busybox.mk | 32 ++++++++++++++++++++++++++++++++ package/busybox/inetd.conf | 3 +++ 3 files changed, 65 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..0f54e50 --- /dev/null +++ b/package/busybox/S41inetd @@ -0,0 +1,30 @@ +#!/bin/sh +# +# Starts the inetd daemon. +# + +NAME=inetd +DAEMON=/usr/sbin/$NAME +PIDFILE=/var/run/$NAME.pid + +case "$1" in + start) + echo -n "Starting $NAME: " + start-stop-daemon -S -q -m -p $PIDFILE -b -x $DAEMON -- -f && echo "OK" || echo "Failed" + ;; + stop) + echo -n "Stopping $NAME: " + start-stop-daemon -K -q -p $PIDFILE && echo "OK" || echo "Failed" + rm -f $PIDFILE + ;; + 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..7d9420c 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_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_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 /files/to/serve" >> $(TARGET_DIR)/etc/inetd.conf; \ + fi; \ + else $(SED) '/^ftp/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 /files/to/serve" >> $(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 @@ +# +# +