[Buildroot] [PATCH] busybox: install S41inetd and inetd.conf if inetd applet is enabled
Kelvin Cheung
keguang.zhang at gmail.com
Thu Jan 12 09:47:36 UTC 2012
Hi Peter,
What about this patch?
2012/1/11 Kelvin Cheung <keguang.zhang at gmail.com>
> Install S41inetd and inetd.conf if inetd is enabled in busybox.
> Add ftpd to /etc/inetd.conf if if inetd and ftpd are enabled.
> Add telnetd to /etc/inetd.conf if if inetd and telnetd are enabled.
> Add tftpd to /etc/inetd.conf if if inetd and tftpd are enabled.
>
> Signed-off-by: Kelvin Cheung <keguang.zhang at gmail.com>
> ---
> package/busybox/S41inetd | 27 +++++++++++++++++++++++++++
> package/busybox/busybox.mk | 32 ++++++++++++++++++++++++++++++++
> package/busybox/inetd.conf | 2 ++
> 3 files changed, 61 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..cc288dd
> --- /dev/null
> +++ b/package/busybox/S41inetd
> @@ -0,0 +1,27 @@
> +#!/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 d18b6d0..1c0d473 100644
> --- a/package/busybox/busybox.mk
> +++ b/package/busybox/busybox.mk
> @@ -137,6 +137,36 @@ define BUSYBOX_INSTALL_LOGGING_SCRIPT
> else rm -f $(TARGET_DIR)/etc/init.d/S01logging; fi
> endef
>
> +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\t/usr/sbin/ftpd\tftpd" >>
> $(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\t/usr/sbin/telnetd\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\tnobody\t/usr/bin/tftpd\ttftpd" >>
> $(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
>
> @@ -167,6 +197,8 @@ define BUSYBOX_INSTALL_TARGET_CMDS
> $(BUSYBOX_INSTALL_MDEV_SCRIPT)
> $(BUSYBOX_INSTALL_MDEV_CONF)
> $(BUSYBOX_INSTALL_LOGGING_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..36cebd5
> --- /dev/null
> +++ b/package/busybox/inetd.conf
> @@ -0,0 +1,2 @@
> +# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
> +#
> --
> 1.7.1
>
>
--
Best Regards!
Kelvin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120112/6acc7645/attachment-0002.html>
More information about the buildroot
mailing list