From 0cf7642dfb175c1818b4a3ceae97bbe76a2ccb85 Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Tue, 8 Oct 2019 20:32:47 +0200 Subject: Minor, coding style/whitespace cleanup - Avoid assignment inside if-statements - Add missing whitespace; if () rather than if() - Spaces vs tabs Signed-off-by: Joachim Nilsson --- src/libnet_if_addr.c | 48 ++++++------- src/libnet_link_bpf.c | 6 +- src/libnet_link_snoop.c | 40 +++++++---- src/libnet_link_win32.c | 177 ++++++++++++++++++++++++------------------------ 4 files changed, 145 insertions(+), 126 deletions(-) diff --git a/src/libnet_if_addr.c b/src/libnet_if_addr.c index 0c7b2a0..da8e402 100644 --- a/src/libnet_if_addr.c +++ b/src/libnet_if_addr.c @@ -64,7 +64,6 @@ libnet_check_iface(libnet_t *l) ifr.ifr_name[sizeof(ifr.ifr_name) - 1] = '\0'; res = ioctl(fd, SIOCGIFFLAGS, (int8_t *)&ifr); - if (res < 0) { snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, "%s() ioctl: %s", __func__, @@ -80,6 +79,7 @@ libnet_check_iface(libnet_t *l) } } close(fd); + return (res); } @@ -179,7 +179,8 @@ libnet_ifaddrlist(register struct libnet_ifaddr_list **ipaddrp, char *dev, regis } #ifdef HAVE_LINUX_PROCFS - if ((fp = fopen(PROC_DEV_FILE, "r")) == NULL) + fp = fopen(PROC_DEV_FILE, "r"); + if (!fp) { snprintf(errbuf, LIBNET_ERRBUF_SIZE, "%s(): fopen(proc_dev_file) failed: %s", __func__, @@ -192,7 +193,7 @@ libnet_ifaddrlist(register struct libnet_ifaddr_list **ipaddrp, char *dev, regis ifc.ifc_len = sizeof(ibuf); ifc.ifc_buf = (caddr_t)ibuf; - if(ioctl(fd, SIOCGIFCONF, &ifc) < 0) + if (ioctl(fd, SIOCGIFCONF, &ifc) < 0) { snprintf(errbuf, LIBNET_ERRBUF_SIZE, "%s(): ioctl(SIOCGIFCONF) error: %s", @@ -209,12 +210,13 @@ libnet_ifaddrlist(register struct libnet_ifaddr_list **ipaddrp, char *dev, regis #ifdef HAVE_LINUX_PROCFS while (fgets(buf, sizeof(buf), fp)) { - if ((p = strchr(buf, ':')) == NULL) - { + p = strchr(buf, ':'); + if (!p) continue; - } + *p = '\0'; - for(p = buf; *p == ' '; p++) ; + for (p = buf; *p == ' '; p++) + ; strncpy(nifr.ifr_name, p, sizeof(nifr.ifr_name) - 1); nifr.ifr_name[sizeof(nifr.ifr_name) - 1] = '\0'; @@ -224,14 +226,13 @@ libnet_ifaddrlist(register struct libnet_ifaddr_list **ipaddrp, char *dev, regis for (ifr = ifc.ifc_req; ifr < lifr; ifr = NEXTIFR(ifr)) { /* XXX LINUX SOLARIS ifalias */ - if((p = strchr(ifr->ifr_name, ':'))) - { - *p='\0'; - } + p = strchr(ifr->ifr_name, ':'); + if (p) + *p = '\0'; + if (pifr && strcmp(ifr->ifr_name, pifr->ifr_name) == 0) - { continue; - } + strncpy(nifr.ifr_name, ifr->ifr_name, sizeof(nifr.ifr_name) - 1); nifr.ifr_name[sizeof(nifr.ifr_name) - 1] = '\0'; #endif @@ -279,9 +280,9 @@ libnet_ifaddrlist(register struct libnet_ifaddr_list **ipaddrp, char *dev, regis } free(al->device); - al->device = NULL; - if ((al->device = strdup(device)) == NULL) + al->device = strdup(device) + if (al->device == NULL) { snprintf(errbuf, LIBNET_ERRBUF_SIZE, "%s(): strdup not enough memory", __func__); @@ -307,19 +308,18 @@ libnet_ifaddrlist(register struct libnet_ifaddr_list **ipaddrp, char *dev, regis fclose(fp); #endif - close(fd); + close(fd); + *ipaddrp = ifaddrlist; - *ipaddrp = ifaddrlist; return (nipaddr); bad: #ifdef HAVE_LINUX_PROCFS - if (fp) { - fclose(fp); - } + if (fp) + fclose(fp); #endif - close(fd); - return (-1); + close(fd); + return (-1); } #else /* WIN32 support * @@ -374,12 +374,12 @@ libnet_ifaddrlist(register struct libnet_ifaddr_list **ipaddrp, char *dev_unused } #endif - if(dev->flags & PCAP_IF_LOOPBACK) + if (dev->flags & PCAP_IF_LOOPBACK) continue; /* this code ignores IPv6 addresses, a limitation of the libnet_ifaddr_list struct */ - if(addr->sa_family == AF_INET) { + if (addr->sa_family == AF_INET) { ifaddrlist[i].device = strdup(dev->name); ifaddrlist[i].addr = ((struct sockaddr_in *)addr)->sin_addr.s_addr; ++i; diff --git a/src/libnet_link_bpf.c b/src/libnet_link_bpf.c index 83bac52..73049ab 100644 --- a/src/libnet_link_bpf.c +++ b/src/libnet_link_bpf.c @@ -309,8 +309,10 @@ libnet_get_hwaddr(libnet_t *l) for (next = buf ; next < end ; next += ifm->ifm_msglen) { ifm = (struct if_msghdr *)next; + if (ifm->ifm_version != RTM_VERSION) continue; + if (ifm->ifm_type == RTM_IFINFO) { sdl = (struct sockaddr_dl *)(ifm + 1); @@ -336,12 +338,14 @@ libnet_get_hwaddr(libnet_t *l) } } free(buf); - if (next == end) { + if (next == end) + { snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, "%s(): interface %s of known type not found.", __func__, l->device); return NULL; } + return (&l->link_addr); } diff --git a/src/libnet_link_snoop.c b/src/libnet_link_snoop.c index 8b3636e..883875c 100644 --- a/src/libnet_link_snoop.c +++ b/src/libnet_link_snoop.c @@ -59,13 +59,15 @@ libnet_open_link(libnet_t *l) struct sockaddr_raw sr; uint v; - if (l == NULL) { + if (l == NULL) + { return -1; } l->fd = socket(PF_RAW, SOCK_RAW, RAWPROTO_DRAIN); - if (l->fd < 0) { + if (l->fd < 0) + { snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, "drain socket: %s", strerror(errno)); goto bad; @@ -76,7 +78,8 @@ libnet_open_link(libnet_t *l) strncpy(sr.sr_ifname, l->device, sizeof(sr.sr_ifname) - 1); sr.sr_ifname[sizeof(sr.sr_ifname) - 1] = '\0'; - if (bind(l->fd, (struct sockaddr *)&sr, sizeof(sr))) { + if (bind(l->fd, (struct sockaddr *)&sr, sizeof(sr))) + { snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, "drain bind: %s", strerror(errno)); goto bad; @@ -93,19 +96,26 @@ libnet_open_link(libnet_t *l) strncmp("ep", l->device, 2) == 0 || /* Challenge 8x10 Mbit EPLEX */ strncmp("vfe", l->device, 3) == 0 || /* Challenge VME 100Mbit */ strncmp("fa", l->device, 2) == 0 || - strncmp("qaa", l->device, 3) == 0) { + strncmp("qaa", l->device, 3) == 0) + { l->link_type = DLT_EN10MB; } else if (strncmp("ipg", l->device, 3) == 0 || strncmp("rns", l->device, 3) == 0 || /* O2/200/2000 FDDI */ - strncmp("xpi", l->device, 3) == 0) { + strncmp("xpi", l->device, 3) == 0) + { l->link_type = DLT_FDDI; } - else if (strncmp("ppp", l->device, 3) == 0) { + else if (strncmp("ppp", l->device, 3) == 0) + { l->link_type = DLT_RAW; - } else if (strncmp("lo", l->device, 2) == 0) { + } + else if (strncmp("lo", l->device, 2) == 0) + { l->link_type = DLT_NULL; - } else { + } + else + { snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, "drain: unknown physical layer type"); goto bad; @@ -166,14 +176,17 @@ libnet_get_hwaddr(libnet_t *l) struct ifreq ifdat; int s = -1; - if (-1 == (s = socket(PF_RAW, SOCK_RAW, RAWPROTO_SNOOP))) { + if (-1 == (s = socket(PF_RAW, SOCK_RAW, RAWPROTO_SNOOP))) + { snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, "socket(): %s", strerror(errno)); goto errout; } + memset(&ifdat, 0, sizeof(struct ifreq)); strncpy(ifdat.ifr_name, l->device, IFNAMSIZ); - if (ioctl(s, SIOCGIFADDR, &ifdat) < 0) { + if (ioctl(s, SIOCGIFADDR, &ifdat) < 0) + { snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, "SIOCGIFADDR: %s", strerror(errno)); goto errout; @@ -184,13 +197,16 @@ libnet_get_hwaddr(libnet_t *l) ETHER_ADDR_LEN); errout: - if (s > 0) { + if (s > 0) + { close(s); } - if (ea) { + if (ea) + { free(ea); ea = 0; } + return NULL; } /* ---- Emacs Variables ---- diff --git a/src/libnet_link_win32.c b/src/libnet_link_win32.c index 59af543..c1ca6dd 100644 --- a/src/libnet_link_win32.c +++ b/src/libnet_link_win32.c @@ -117,20 +117,20 @@ libnet_open_link(libnet_t *l) if (l->device == NULL) { snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, - "%s(): NULL device", __func__); + "%s(): NULL device", __func__); return (-1); } l->lpAdapter = 0; /* open adapter */ - l->lpAdapter = PacketOpenAdapter(l->device); + l->lpAdapter = PacketOpenAdapter(l->device); if (!l->lpAdapter || (l->lpAdapter->hFile == INVALID_HANDLE_VALUE)) { dwErrorCode=GetLastError(); snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, - "%s(): unable to open the driver, error Code : %lx", - __func__, dwErrorCode); + "%s(): unable to open the driver, error Code : %lx", + __func__, dwErrorCode); return (-1); } @@ -144,44 +144,44 @@ libnet_open_link(libnet_t *l) { switch(IFType.LinkType) { - case NdisMedium802_3: - l->link_type = DLT_EN10MB; - l->link_offset = LIBNET_ETH_H; - break; - case NdisMedium802_5: - l->link_type = DLT_IEEE802; - l->link_offset = LIBNET_TOKEN_RING_H; - break; - case NdisMediumFddi: - l->link_type = DLT_FDDI; - l->link_offset = 0x15; - break; - case NdisMediumWan: - snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, - "%s():, WinPcap has disabled support for Network type (%d)", - __func__, IFType.LinkType); - return (-1); - break; - case NdisMediumAtm: - l->link_type = DLT_ATM_RFC1483; - break; - case NdisMediumArcnet878_2: - l->link_type = DLT_ARCNET; - break; - default: - snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, - "%s(): network type (%d) is not supported", - __func__, IFType.LinkType); - return (-1); - break; + case NdisMedium802_3: + l->link_type = DLT_EN10MB; + l->link_offset = LIBNET_ETH_H; + break; + case NdisMedium802_5: + l->link_type = DLT_IEEE802; + l->link_offset = LIBNET_TOKEN_RING_H; + break; + case NdisMediumFddi: + l->link_type = DLT_FDDI; + l->link_offset = 0x15; + break; + case NdisMediumWan: + snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, + "%s():, WinPcap has disabled support for Network type (%d)", + __func__, IFType.LinkType); + return (-1); + break; + case NdisMediumAtm: + l->link_type = DLT_ATM_RFC1483; + break; + case NdisMediumArcnet878_2: + l->link_type = DLT_ARCNET; + break; + default: + snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, + "%s(): network type (%d) is not supported", + __func__, IFType.LinkType); + return (-1); + break; } } else { dwErrorCode=GetLastError(); snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, - "%s(): unable to determine the network type, error Code : %lx", - __func__, dwErrorCode); + "%s(): unable to determine the network type, error Code : %lx", + __func__, dwErrorCode); return (-1); } return (1); @@ -218,57 +218,55 @@ struct libnet_ether_addr * libnet_get_hwaddr(libnet_t *l) { struct libnet_ether_addr *mac = &l->link_addr; - ULONG IoCtlBufferLength = (sizeof(PACKET_OID_DATA) + sizeof(ULONG) - 1); - PPACKET_OID_DATA OidData; + PPACKET_OID_DATA OidData; - int i = 0; + int i = 0; - if (l == NULL) + if (l == NULL) { return (NULL); } - if (l->device == NULL) + if (l->device == NULL) { if (libnet_select_device(l) == -1) { snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, - "%s(): can't figure out a device to use", __func__); + "%s(): can't figure out a device to use", __func__); return (NULL); } } - OidData = (struct _PACKET_OID_DATA *) malloc(IoCtlBufferLength); - - if (OidData == NULL) - { - snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, - "%s(): OidData is NULL", __func__); - return(NULL); - } + OidData = (struct _PACKET_OID_DATA *)malloc(IoCtlBufferLength); + if (OidData == NULL) + { + snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, + "%s(): OidData is NULL", __func__); + return(NULL); + } - if (l->link_type == DLT_IEEE802) - { - OidData->Oid = OID_802_5_CURRENT_ADDRESS; - } - else - { - OidData->Oid = OID_802_3_CURRENT_ADDRESS; - } + if (l->link_type == DLT_IEEE802) + { + OidData->Oid = OID_802_5_CURRENT_ADDRESS; + } + else + { + OidData->Oid = OID_802_3_CURRENT_ADDRESS; + } - OidData->Length = 6; - if((PacketRequest(l->lpAdapter, FALSE, OidData)) == FALSE) - { - memset(mac, 0, 6); - } - else - { - for (i = 0; i < 6; i++) - { - mac->ether_addr_octet[i] = OidData->Data[i]; - } - } + OidData->Length = 6; + if ((PacketRequest(l->lpAdapter, FALSE, OidData)) == FALSE) + { + memset(mac, 0, 6); + } + else + { + for (i = 0; i < 6; i++) + { + mac->ether_addr_octet[i] = OidData->Data[i]; + } + } free(OidData); return(mac); } @@ -327,16 +325,16 @@ libnet_win32_get_remote_mac(libnet_t *l, DWORD DestIP) } } -BYTE * libnet_win32_read_arp_table(DWORD DestIP) +BYTE *libnet_win32_read_arp_table(DWORD DestIP) { - static BYTE buffMAC[6]; + static BYTE buffMAC[6]; BOOL fOrder = TRUE; - DWORD status; + DWORD status; MIB_IPNETTABLE *pIpNetTable = NULL; - DWORD Size = 0; + DWORD Size = 0; - memset(buffMAC, 0, sizeof(buffMAC)); + memset(buffMAC, 0, sizeof(buffMAC)); status = GetIpNetTable(NULL, &Size, fOrder); if (status == ERROR_INSUFFICIENT_BUFFER) { @@ -344,22 +342,23 @@ BYTE * libnet_win32_read_arp_table(DWORD DestIP) status = GetIpNetTable(pIpNetTable, &Size, fOrder); } - if (status == NO_ERROR) - { - DWORD i, ci = pIpNetTable->table[0].dwIndex; /* set current interface */ + if (status == NO_ERROR) + { + DWORD i, ci = pIpNetTable->table[0].dwIndex; /* set current interface */ - for (i = 0; i < pIpNetTable->dwNumEntries; ++i) - { - if (pIpNetTable->table[i].dwIndex != ci) - ci = pIpNetTable->table[i].dwIndex; + for (i = 0; i < pIpNetTable->dwNumEntries; ++i) + { + if (pIpNetTable->table[i].dwIndex != ci) + ci = pIpNetTable->table[i].dwIndex; + + if(pIpNetTable->table[i].dwAddr == DestIP) /* found IP in arp cache */ + { + memcpy(buffMAC, pIpNetTable->table[i].bPhysAddr, sizeof(buffMAC)); + return buffMAC; + } + } + } - if(pIpNetTable->table[i].dwAddr == DestIP) /* found IP in arp cache */ - { - memcpy(buffMAC, pIpNetTable->table[i].bPhysAddr, sizeof(buffMAC)); - return buffMAC; - } - } - } return(NULL); } -- cgit v1.2.1