summaryrefslogtreecommitdiff
path: root/apps/netutils
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2015-01-19 11:41:46 -0600
committerGregory Nutt <gnutt@nuttx.org>2015-01-19 11:41:46 -0600
commit0694c0413702a7ff4f6bcd2c862abd89f3e7b24c (patch)
tree298997f5a09dbe821254368446a4161bd4c74621 /apps/netutils
parentcab1ffb52e219faa226e9d82ef3687a17797cba5 (diff)
downloadpx4-nuttx-0694c0413702a7ff4f6bcd2c862abd89f3e7b24c.tar.gz
px4-nuttx-0694c0413702a7ff4f6bcd2c862abd89f3e7b24c.tar.bz2
px4-nuttx-0694c0413702a7ff4f6bcd2c862abd89f3e7b24c.zip
apps/netutils/netlib: All IOCTLs must use a valid address family -- even if the address family does not matter such as when getting the MAC address or the network flags
Diffstat (limited to 'apps/netutils')
-rw-r--r--apps/netutils/netlib/Makefile4
-rw-r--r--apps/netutils/netlib/netlib_getifstatus.c15
-rw-r--r--apps/netutils/netlib/netlib_getmacaddr.c15
-rw-r--r--apps/netutils/netlib/netlib_setifstatus.c17
-rw-r--r--apps/netutils/netlib/netlib_setmacaddr.c21
5 files changed, 62 insertions, 10 deletions
diff --git a/apps/netutils/netlib/Makefile b/apps/netutils/netlib/Makefile
index aff9c5bcd..a9b234f56 100644
--- a/apps/netutils/netlib/Makefile
+++ b/apps/netutils/netlib/Makefile
@@ -58,8 +58,10 @@ endif
# These require TCP support
ifeq ($(CONFIG_NET_TCP),y)
+ifeq ($(CONFIG_NET_IPv4),y) # Not yet available for IPv6
CSRCS += netlib_server.c netlib_listenon.c
endif
+endif
# No MAC address support for SLIP (Ethernet only)
@@ -70,8 +72,10 @@ endif
# IGMP support
ifeq ($(CONFIG_NET_IGMP),y)
+ifeq ($(CONFIG_NET_IPv4),y) # Not yet available for IPv6
CSRCS += netlib_ipmsfilter.c
endif
+endif
AOBJS = $(ASRCS:.S=$(OBJEXT))
COBJS = $(CSRCS:.c=$(OBJEXT))
diff --git a/apps/netutils/netlib/netlib_getifstatus.c b/apps/netutils/netlib/netlib_getifstatus.c
index 0d718209d..7bf6fa112 100644
--- a/apps/netutils/netlib/netlib_getifstatus.c
+++ b/apps/netutils/netlib/netlib_getifstatus.c
@@ -54,6 +54,19 @@
#include <apps/netutils/netlib.h>
/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+/* The address family that we used to create the socket really does not
+ * matter. It should, however, be valid in the current configuration.
+ */
+
+#if defined(CONFIG_NET_IPv4)
+# define PF_INETX PF_INET
+#elif defined(CONFIG_NET_IPv6)
+# define PF_INETX PF_INET6
+#endif
+
+/****************************************************************************
* Public Functions
****************************************************************************/
@@ -79,7 +92,7 @@ int netlib_getifstatus(FAR const char *ifname, FAR uint8_t *flags)
{
/* Get a socket (only so that we get access to the INET subsystem) */
- int sockfd = socket(PF_INET, NETLIB_SOCK_IOCTL, 0);
+ int sockfd = socket(PF_INETX, NETLIB_SOCK_IOCTL, 0);
if (sockfd >= 0)
{
struct ifreq req;
diff --git a/apps/netutils/netlib/netlib_getmacaddr.c b/apps/netutils/netlib/netlib_getmacaddr.c
index 1a404dd39..da1bfbf7f 100644
--- a/apps/netutils/netlib/netlib_getmacaddr.c
+++ b/apps/netutils/netlib/netlib_getmacaddr.c
@@ -53,6 +53,19 @@
#include <apps/netutils/netlib.h>
/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+/* The address family that we used to create the socket really does not
+ * matter. It should, however, be valid in the current configuration.
+ */
+
+#if defined(CONFIG_NET_IPv4)
+# define PF_INETX PF_INET
+#elif defined(CONFIG_NET_IPv6)
+# define PF_INETX PF_INET6
+#endif
+
+/****************************************************************************
* Public Functions
****************************************************************************/
@@ -78,7 +91,7 @@ int netlib_getmacaddr(const char *ifname, uint8_t *macaddr)
{
/* Get a socket (only so that we get access to the INET subsystem) */
- int sockfd = socket(PF_INET, NETLIB_SOCK_IOCTL, 0);
+ int sockfd = socket(PF_INETX, NETLIB_SOCK_IOCTL, 0);
if (sockfd >= 0)
{
struct ifreq req;
diff --git a/apps/netutils/netlib/netlib_setifstatus.c b/apps/netutils/netlib/netlib_setifstatus.c
index f754c17be..1a4ee8cd6 100644
--- a/apps/netutils/netlib/netlib_setifstatus.c
+++ b/apps/netutils/netlib/netlib_setifstatus.c
@@ -53,6 +53,19 @@
#include <apps/netutils/netlib.h>
/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+/* The address family that we used to create the socket really does not
+ * matter. It should, however, be valid in the current configuration.
+ */
+
+#if defined(CONFIG_NET_IPv4)
+# define PF_INETX PF_INET
+#elif defined(CONFIG_NET_IPv6)
+# define PF_INETX PF_INET6
+#endif
+
+/****************************************************************************
* Public Functions
****************************************************************************/
@@ -77,7 +90,7 @@ int netlib_ifup(const char *ifname)
{
/* Get a socket (only so that we get access to the INET subsystem) */
- int sockfd = socket(PF_INET, NETLIB_SOCK_IOCTL, 0);
+ int sockfd = socket(PF_INETX, NETLIB_SOCK_IOCTL, 0);
if (sockfd >= 0)
{
struct ifreq req;
@@ -120,7 +133,7 @@ int netlib_ifdown(const char *ifname)
{
/* Get a socket (only so that we get access to the INET subsystem) */
- int sockfd = socket(PF_INET, NETLIB_SOCK_IOCTL, 0);
+ int sockfd = socket(PF_INETX, NETLIB_SOCK_IOCTL, 0);
if (sockfd >= 0)
{
struct ifreq req;
diff --git a/apps/netutils/netlib/netlib_setmacaddr.c b/apps/netutils/netlib/netlib_setmacaddr.c
index 733690a18..0c5221789 100644
--- a/apps/netutils/netlib/netlib_setmacaddr.c
+++ b/apps/netutils/netlib/netlib_setmacaddr.c
@@ -55,11 +55,20 @@
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
-
-#ifdef CONFIG_NET_IPv6
-# define AF_INETX AF_INET6
-#else
-# define AF_INETX AF_INET
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+/* The address family that we used to create the socket and in the IOCTL
+ * data really does not matter. It should, however, be valid in the current
+ * configuration.
+ */
+
+#if defined(CONFIG_NET_IPv4)
+# define PF_INETX PF_INET
+# define AF_INETX AF_INET
+#elif defined(CONFIG_NET_IPv6)
+# define PF_INETX PF_INET6
+# define AF_INETX AF_INET6
#endif
/****************************************************************************
@@ -89,7 +98,7 @@ int netlib_setmacaddr(const char *ifname, const uint8_t *macaddr)
{
/* Get a socket (only so that we get access to the INET subsystem) */
- int sockfd = socket(PF_INET, NETLIB_SOCK_IOCTL, 0);
+ int sockfd = socket(PF_INETX, NETLIB_SOCK_IOCTL, 0);
if (sockfd >= 0)
{
struct ifreq req;