From 9aa35b2799a055bd461579380013b56bcb9d4516 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sat, 1 Jul 2017 08:03:54 -0600 Subject: [PATCH 1/2] apps/examples/thttpd: Remove the netstats demo. This depends on an illegal function call and cannot be supported. That example could be replaced with logic that uses the procfs network entries as was done for NSH which had the same issue. But I am too lazy to implement that --- examples/telnetd/Kconfig | 1 + examples/thttpd/content/Makefile.binfs | 11 +- examples/thttpd/content/Makefile.nxflat | 2 +- examples/thttpd/content/hello/hello.c | 1 - examples/thttpd/content/index.html | 1 - examples/thttpd/content/netstat/.gitignore | 5 - examples/thttpd/content/netstat/Makefile | 82 ------------ examples/thttpd/content/netstat/netstat.c | 140 --------------------- examples/thttpd/content/tasks/tasks.c | 1 - 9 files changed, 6 insertions(+), 238 deletions(-) delete mode 100644 examples/thttpd/content/netstat/.gitignore delete mode 100644 examples/thttpd/content/netstat/Makefile delete mode 100644 examples/thttpd/content/netstat/netstat.c diff --git a/examples/telnetd/Kconfig b/examples/telnetd/Kconfig index a94c944e3..99533dbad 100644 --- a/examples/telnetd/Kconfig +++ b/examples/telnetd/Kconfig @@ -6,6 +6,7 @@ config EXAMPLES_TELNETD bool "Telnet daemon example" default n + depends on NETUTILS_TELNETD ---help--- Enable the Telnet daemon example diff --git a/examples/thttpd/content/Makefile.binfs b/examples/thttpd/content/Makefile.binfs index 67e09b2c8..204608c07 100644 --- a/examples/thttpd/content/Makefile.binfs +++ b/examples/thttpd/content/Makefile.binfs @@ -50,7 +50,7 @@ ROMFS_IMG = $(CONTENT_DIR)/romfs.img ROMFS_HDR = $(CONTENT_DIR)/romfs.h ASRCS = -CSRCS = hello.c netstat.c tasks.c +CSRCS = hello.c tasks.c AOBJS = $(ASRCS:.S=$(OBJEXT)) COBJS = $(CSRCS:.c=$(OBJEXT)) @@ -74,8 +74,8 @@ else INSTALL_DIR = $(BIN_DIR) endif -ROOTDEPPATH = --dep-path hello --dep-path netstat --dep-path tasks -VPATH = hello:netstat:tasks +ROOTDEPPATH = --dep-path hello --dep-path tasks +VPATH = hello:tasks all: .built .PHONY: context headers binaries depend clean @@ -122,13 +122,10 @@ headers: $(ROMFS_HDR) $(BUILTIN_REGISTRY)$(DELIM)hello_main.bdat: $(DEPCONFIG) Makefile $(call REGISTER,hello,$(PRIORITY),$(STACKSIZE),hello_main) -$(BUILTIN_REGISTRY)$(DELIM)netstat_main.bdat: $(DEPCONFIG) Makefile - $(call REGISTER,netstat,$(PRIORITY),$(STACKSIZE),netstat_main) - $(BUILTIN_REGISTRY)$(DELIM)tasks_main.bdat: $(DEPCONFIG) Makefile $(call REGISTER,tasks,$(PRIORITY),$(STACKSIZE),tasks_main) -context: $(BUILTIN_REGISTRY)$(DELIM)hello_main.bdat $(BUILTIN_REGISTRY)$(DELIM)netstat_main.bdat $(BUILTIN_REGISTRY)$(DELIM)tasks_main.bdat +context: $(BUILTIN_REGISTRY)$(DELIM)hello_main.bdat $(BUILTIN_REGISTRY)$(DELIM)tasks_main.bdat .depend: Makefile $(SRCS) @$(MKDEP) $(ROOTDEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep diff --git a/examples/thttpd/content/Makefile.nxflat b/examples/thttpd/content/Makefile.nxflat index 519b91b4d..3f24447cb 100644 --- a/examples/thttpd/content/Makefile.nxflat +++ b/examples/thttpd/content/Makefile.nxflat @@ -33,7 +33,7 @@ # ############################################################################ -SUBDIRS = hello tasks netstat +SUBDIRS = hello tasks INSTALL_FILES = index.html style.css THTTPD_DIR = $(APPDIR)/examples/thttpd diff --git a/examples/thttpd/content/hello/hello.c b/examples/thttpd/content/hello/hello.c index e46f49c45..18009bb24 100644 --- a/examples/thttpd/content/hello/hello.c +++ b/examples/thttpd/content/hello/hello.c @@ -69,7 +69,6 @@ int main(int argc, char *argv[]) "
Front page
\r\n" "
Say Hello
\r\n" "
Tasks
\r\n" - "
Network status
\r\n" "
\r\n" "\r\n" "
\r\n"); diff --git a/examples/thttpd/content/index.html b/examples/thttpd/content/index.html index 0995bd057..5a6b76ccf 100644 --- a/examples/thttpd/content/index.html +++ b/examples/thttpd/content/index.html @@ -10,7 +10,6 @@ -
diff --git a/examples/thttpd/content/netstat/.gitignore b/examples/thttpd/content/netstat/.gitignore deleted file mode 100644 index 6824a421d..000000000 --- a/examples/thttpd/content/netstat/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -netstat -*.r1 -*.r2 -*-thunk.S - diff --git a/examples/thttpd/content/netstat/Makefile b/examples/thttpd/content/netstat/Makefile deleted file mode 100644 index 9b8c84b9c..000000000 --- a/examples/thttpd/content/netstat/Makefile +++ /dev/null @@ -1,82 +0,0 @@ -############################################################################ -# examples/thttpd/content/netstat/Makefile -# -# Copyright (C) 2009, 2016 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/Make.defs - -BIN = netstat - -R1SRCS = $(BIN).c -R1OBJS = $(R1SRCS:.c=.o) - -R2SRC = $(BIN)-thunk.S -R2OBJ = $(R2SRC:.S=.o) - -all: $(BIN) -.PHONY: clean install - -$(R1OBJS): %.o: %.c - @echo "CC: $<" - $(Q) $(CC) -c $(CPICFLAGS) $< -o $@ - -$(R2OBJ): %.o: %.S - @echo "AS: $<" - $(Q) $(CC) -c $(CPICFLAGS) $< -o $@ - -$(BIN).r1: $(R1OBJS) - @echo "LD: $<" - $(Q) $(LD) $(NXFLATLDFLAGS1) -o $@ $^ - -$(R2SRC): $(BIN).r1 - @echo "MK: $<" - $(Q) $(MKNXFLAT) -o $@ $^ - -$(BIN).r2: $(R2OBJ) - @echo "LD: $<" - $(Q) $(LD) $(NXFLATLDFLAGS2) -o $@ $(R1OBJS) $(R2OBJ) - -$(BIN): $(BIN).r2 - @echo "LD: $<" - $(Q) $(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^ - -clean: - $(call DELFILE, $(BIN)) - $(call DELFILE, $(R2SRC)) - $(call DELFILE, *.r1) - $(call DELFILE, *.r2) - $(call CLEAN) - -install: - $(Q) install -m 0755 -D $(BIN) $(CGI_DIR)/$(BIN) - diff --git a/examples/thttpd/content/netstat/netstat.c b/examples/thttpd/content/netstat/netstat.c deleted file mode 100644 index b07f22c2b..000000000 --- a/examples/thttpd/content/netstat/netstat.c +++ /dev/null @@ -1,140 +0,0 @@ -/**************************************************************************** - * examples/thttpd/netstat/netstat.c - * - * Copyright (C) 2009, 2011, 2015 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#include -#include -#include - -#include -#include - -#include -#include - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/* NOTEs: - * - * 1. One limitation in the use of NXFLAT is that functions that are - * referenced as a pointer-to-a-function must have global scope. Otherwise - * ARM GCC will generate some bad logic. - * 2. In general, when called back, there is no guarantee to that PIC registers - * will be valid and, unless you take special precautions, it could be - * dangerous to reference global variables in the callback function. - */ - -/* static */ int netdev_callback(FAR struct net_driver_s *dev, void *arg) -{ - struct in_addr addr; - - printf("
%s\r\n", dev->d_ifname); -#ifdef CONFIG_NET_ETHERNET - printf("
HWaddr: %s
\r\n", ether_ntoa(&dev->d_mac)); -#endif - addr.s_addr = dev->d_ipaddr; - printf(" IPaddr: %s
\r\n", inet_ntoa(addr)); - addr.s_addr = dev->d_draddr; - printf(" DRaddr: %s
\r\n", inet_ntoa(addr)); - addr.s_addr = dev->d_netmask; - printf(" Mask: %s\r\n", inet_ntoa(addr)); - return OK; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#ifdef CONFIG_THTTPD_BINFS -int netstat_main(int argc, char *argv[]) -#else -int main(int argc, char *argv[]) -#endif -{ - puts( - "Content-type: text/html\r\n" - "Status: 200/html\r\n" - "\r\n" - "\r\n" - "\r\n" - "Network Status\r\n" - "\r\n" - "\r\n" - "\r\n" - "
\r\n" - "\r\n" - "\r\n" - "\r\n" - "\r\n" - "
\r\n" - "
\r\n" - "
\r\n" - "
\r\n"); - - netdev_foreach(netdev_callback, NULL); - - puts( - "
\r\n" - "\r\n" - "\r\n"); - return 0; -} diff --git a/examples/thttpd/content/tasks/tasks.c b/examples/thttpd/content/tasks/tasks.c index 3d6beb93e..b82e8dbd0 100644 --- a/examples/thttpd/content/tasks/tasks.c +++ b/examples/thttpd/content/tasks/tasks.c @@ -194,7 +194,6 @@ int main(int argc, char *argv[]) "\r\n" "\r\n" "\r\n" - "\r\n" "
\r\n" "
\r\n" "
\r\n" From d81d9c419b09c8f961186313021cc85c25d05828 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sun, 2 Jul 2017 11:28:12 -0600 Subject: [PATCH 2/2] Eliminat a warning when both Ethernet and 6LoWPAN are enabled; improve some naming. --- nshlib/README.txt | 8 ++++---- nshlib/nsh_command.c | 6 +++--- nshlib/nsh_netcmds.c | 13 ++++++------- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/nshlib/README.txt b/nshlib/README.txt index 0bf4a50f7..bb28399b5 100644 --- a/nshlib/README.txt +++ b/nshlib/README.txt @@ -528,17 +528,17 @@ o ifconfig [nic_name [|dhcp]] [dr|gw|gateway ] [netmask nsh> mount -t procfs /proc -o ifdown +o ifdown - Take down the interface identified by the name . + Take down the interface identified by the name . Example: ifdown eth0 -o ifup +o ifup - Bring up down the interface identified by the name . + Bring up down the interface identified by the name . Example: diff --git a/nshlib/nsh_command.c b/nshlib/nsh_command.c index b4e334e0f..cca237151 100644 --- a/nshlib/nsh_command.c +++ b/nshlib/nsh_command.c @@ -240,11 +240,11 @@ static const struct cmdmap_s g_cmdmap[] = #ifdef CONFIG_NET # ifndef CONFIG_NSH_DISABLE_IFCONFIG - { "ifconfig", cmd_ifconfig, 1, 11, "[nic-name [|dhcp]] [dr|gw|gateway ] [netmask ] [dns ] [hw ]" }, + { "ifconfig", cmd_ifconfig, 1, 11, "[interface [|dhcp]] [dr|gw|gateway ] [netmask ] [dns ] [hw ]" }, # endif # ifndef CONFIG_NSH_DISABLE_IFUPDOWN - { "ifdown", cmd_ifdown, 2, 2, "" }, - { "ifup", cmd_ifup, 2, 2, "" }, + { "ifdown", cmd_ifdown, 2, 2, "" }, + { "ifup", cmd_ifup, 2, 2, "" }, # endif #endif diff --git a/nshlib/nsh_netcmds.c b/nshlib/nsh_netcmds.c index f57a71a73..982173e1d 100644 --- a/nshlib/nsh_netcmds.c +++ b/nshlib/nsh_netcmds.c @@ -1,7 +1,7 @@ /**************************************************************************** * apps/nshlib/nsh_netcmds.c * - * Copyright (C) 2007-2012, 2014-2015 Gregory Nutt. All rights reserved. + * Copyright (C) 2007-2012, 2014-2015, 2017 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -758,10 +758,9 @@ int cmd_ifconfig(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv) bool inet6 = false; #endif bool badarg = false; -#ifdef CONFIG_NET_ETHERNET +#if defined(CONFIG_NET_ETHERNET) uint8_t mac[IFHWADDRLEN]; -#endif -#ifdef CONFIG_NET_6LOWPAN +#elif defined(CONFIG_NET_6LOWPAN) uint8_t eaddr[8]; #endif #if defined(CONFIG_NSH_DHCPC) @@ -769,11 +768,11 @@ int cmd_ifconfig(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv) #endif int ret; - /* With one or no arguments, ifconfig simply shows the status of Ethernet - * device: + /* With one or no arguments, ifconfig simply shows the status of the + * network device: * * ifconfig - * ifconfig [nic_name] + * ifconfig [interface] */ if (argc <= 2)