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
This commit is contained in:
parent
71d2ae0fac
commit
2668e34f5a
@ -58,8 +58,10 @@ endif
|
|||||||
# These require TCP support
|
# These require TCP support
|
||||||
|
|
||||||
ifeq ($(CONFIG_NET_TCP),y)
|
ifeq ($(CONFIG_NET_TCP),y)
|
||||||
|
ifeq ($(CONFIG_NET_IPv4),y) # Not yet available for IPv6
|
||||||
CSRCS += netlib_server.c netlib_listenon.c
|
CSRCS += netlib_server.c netlib_listenon.c
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# No MAC address support for SLIP (Ethernet only)
|
# No MAC address support for SLIP (Ethernet only)
|
||||||
|
|
||||||
@ -70,8 +72,10 @@ endif
|
|||||||
# IGMP support
|
# IGMP support
|
||||||
|
|
||||||
ifeq ($(CONFIG_NET_IGMP),y)
|
ifeq ($(CONFIG_NET_IGMP),y)
|
||||||
|
ifeq ($(CONFIG_NET_IPv4),y) # Not yet available for IPv6
|
||||||
CSRCS += netlib_ipmsfilter.c
|
CSRCS += netlib_ipmsfilter.c
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
AOBJS = $(ASRCS:.S=$(OBJEXT))
|
AOBJS = $(ASRCS:.S=$(OBJEXT))
|
||||||
COBJS = $(CSRCS:.c=$(OBJEXT))
|
COBJS = $(CSRCS:.c=$(OBJEXT))
|
||||||
|
@ -53,6 +53,19 @@
|
|||||||
|
|
||||||
#include <apps/netutils/netlib.h>
|
#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
|
* 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) */
|
/* 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)
|
if (sockfd >= 0)
|
||||||
{
|
{
|
||||||
struct ifreq req;
|
struct ifreq req;
|
||||||
|
@ -52,6 +52,19 @@
|
|||||||
|
|
||||||
#include <apps/netutils/netlib.h>
|
#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
|
* 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) */
|
/* 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)
|
if (sockfd >= 0)
|
||||||
{
|
{
|
||||||
struct ifreq req;
|
struct ifreq req;
|
||||||
|
@ -52,6 +52,19 @@
|
|||||||
|
|
||||||
#include <apps/netutils/netlib.h>
|
#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
|
* 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) */
|
/* 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)
|
if (sockfd >= 0)
|
||||||
{
|
{
|
||||||
struct ifreq req;
|
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) */
|
/* 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)
|
if (sockfd >= 0)
|
||||||
{
|
{
|
||||||
struct ifreq req;
|
struct ifreq req;
|
||||||
|
@ -55,11 +55,20 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
/****************************************************************************
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifdef CONFIG_NET_IPv6
|
#if defined(CONFIG_NET_IPv4)
|
||||||
# define AF_INETX AF_INET6
|
# define PF_INETX PF_INET
|
||||||
#else
|
# define AF_INETX AF_INET
|
||||||
# define AF_INETX AF_INET
|
#elif defined(CONFIG_NET_IPv6)
|
||||||
|
# define PF_INETX PF_INET6
|
||||||
|
# define AF_INETX AF_INET6
|
||||||
#endif
|
#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) */
|
/* 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)
|
if (sockfd >= 0)
|
||||||
{
|
{
|
||||||
struct ifreq req;
|
struct ifreq req;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user