From 2a80e31499ae4b7d2dcdbdcac7a3604c42b357f7 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 11 Dec 2011 15:31:47 +0000 Subject: [PATCH] -more minor cleanup --- src/transport/Makefile.am | 8 +- .../gnunet-transport-wlan-helper-dummy.c | 8 +- src/transport/gnunet-transport-wlan-helper.c | 25 ++++--- ...ender.c => gnunet-transport-wlan-sender.c} | 37 +++------ src/transport/plugin_transport_wlan.c | 75 +------------------ src/transport/plugin_transport_wlan.h | 4 +- 6 files changed, 38 insertions(+), 119 deletions(-) rename src/transport/{gnunet_wlan_sender.c => gnunet-transport-wlan-sender.c} (91%) diff --git a/src/transport/Makefile.am b/src/transport/Makefile.am index 6901f6b4d..f1f70acfe 100644 --- a/src/transport/Makefile.am +++ b/src/transport/Makefile.am @@ -35,7 +35,7 @@ endif if LINUX WLAN_BIN = gnunet-transport-wlan-helper WLAN_BIN_DUMMY = gnunet-transport-wlan-helper-dummy - WLAN_BIN_SENDER = gnunet_wlan_sender + WLAN_BIN_SENDER = gnunet-transport-wlan-sender WLAN_PLUGIN_LA = libgnunet_plugin_transport_wlan.la WLAN_API_TEST = test_transport_api_wlan WLAN_REL_TEST = test_transport_api_reliability_wlan @@ -115,9 +115,9 @@ gnunet_transport_wlan_helper_dummy_SOURCES = \ gnunet_transport_wlan_helper_dummy_LDADD = \ $(top_builddir)/src/util/libgnunetutil.la -gnunet_wlan_sender_SOURCES = \ - gnunet_wlan_sender.c -gnunet_wlan_sender_LDADD = \ +gnunet_transport_wlan_sender_SOURCES = \ + gnunet-transport-wlan-sender.c +gnunet_transport_wlan_sender_LDADD = \ $(top_builddir)/src/util/libgnunetutil.la gnunet_transport_SOURCES = \ diff --git a/src/transport/gnunet-transport-wlan-helper-dummy.c b/src/transport/gnunet-transport-wlan-helper-dummy.c index 32d58426c..f456c3f60 100644 --- a/src/transport/gnunet-transport-wlan-helper-dummy.c +++ b/src/transport/gnunet-transport-wlan-helper-dummy.c @@ -62,14 +62,14 @@ static int send_mac_to_plugin (char *buffer, struct MacAddress *mac) { - struct Wlan_Helper_Control_Message macmsg; + struct GNUNET_TRANSPORT_WLAN_HelperControlMessage macmsg; memcpy (&macmsg.mac, (char *) mac, sizeof (struct MacAddress)); - macmsg.hdr.size = htons (sizeof (struct Wlan_Helper_Control_Message)); + macmsg.hdr.size = htons (sizeof (struct GNUNET_TRANSPORT_WLAN_HelperControlMessage)); macmsg.hdr.type = htons (GNUNET_MESSAGE_TYPE_WLAN_HELPER_CONTROL); - memcpy (buffer, &macmsg, sizeof (struct Wlan_Helper_Control_Message)); - return sizeof (struct Wlan_Helper_Control_Message); + memcpy (buffer, &macmsg, sizeof (struct GNUNET_TRANSPORT_WLAN_HelperControlMessage)); + return sizeof (struct GNUNET_TRANSPORT_WLAN_HelperControlMessage); } static void diff --git a/src/transport/gnunet-transport-wlan-helper.c b/src/transport/gnunet-transport-wlan-helper.c index 1f56830bc..5cfbef8e8 100644 --- a/src/transport/gnunet-transport-wlan-helper.c +++ b/src/transport/gnunet-transport-wlan-helper.c @@ -352,9 +352,10 @@ struct HardwareInfos { /** - * send buffer - */ + * send buffer + */ struct SendBuffer write_pout; + /** * file descriptor for the raw socket */ @@ -928,13 +929,13 @@ next_entry: static int send_mac_to_plugin (char *buffer, struct MacAddress *mac) { - struct Wlan_Helper_Control_Message macmsg; + struct GNUNET_TRANSPORT_WLAN_HelperControlMessage macmsg; memcpy (&macmsg.mac, (char *) mac, sizeof (struct MacAddress)); - macmsg.hdr.size = htons (sizeof (struct Wlan_Helper_Control_Message)); + macmsg.hdr.size = htons (sizeof (struct GNUNET_TRANSPORT_WLAN_HelperControlMessage)); macmsg.hdr.type = htons (GNUNET_MESSAGE_TYPE_WLAN_HELPER_CONTROL); - memcpy (buffer, &macmsg, sizeof (struct Wlan_Helper_Control_Message)); - return sizeof (struct Wlan_Helper_Control_Message); + memcpy (buffer, &macmsg, sizeof (struct GNUNET_TRANSPORT_WLAN_HelperControlMessage)); + return sizeof (struct GNUNET_TRANSPORT_WLAN_HelperControlMessage); } @@ -1078,7 +1079,7 @@ linux_get_channel (const struct HardwareInfos *dev) strncpy (wrq.ifr_name, dev->iface, IFNAMSIZ); fd = dev->fd_raw; if (0 > ioctl (fd, SIOCGIWFREQ, &wrq)) - return (-1); + return -1; frequency = wrq.u.freq.m; if (100000000 < frequency) @@ -1151,8 +1152,8 @@ linux_read (struct HardwareInfos *dev, unsigned char *buf, size_t buf_size, n = *(int *) (tmpbuf + 4); } - if (n < 8 || n >= caplen) - return (0); + if ( (n < 8) || (n >= caplen) ) + return 0; } break; @@ -1164,7 +1165,7 @@ linux_read (struct HardwareInfos *dev, unsigned char *buf, size_t buf_size, rthdr = (struct ieee80211_radiotap_header *) tmpbuf; if (ieee80211_radiotap_iterator_init (&iterator, rthdr, caplen) < 0) - return (0); + return 0; /* go through the radiotap arguments we have been given * by the driver @@ -1456,7 +1457,7 @@ static int mac_test (const struct ieee80211_frame *uint8_taIeeeHeader, const struct HardwareInfos *dev) { - if (0 != memcmp (uint8_taIeeeHeader->i_addr3, &mac_bssid, MAC_ADDR_SIZE)) + if (0 != memcmp (uint8_taIeeeHeader->i_addr3, &mac_bssid_gnunet, MAC_ADDR_SIZE)) return 1; if (0 == memcmp (uint8_taIeeeHeader->i_addr1, &dev->pl_mac, MAC_ADDR_SIZE)) return 0; @@ -1478,7 +1479,7 @@ mac_set (struct ieee80211_frame *uint8_taIeeeHeader, uint8_taIeeeHeader->i_fc[0] = 0x08; uint8_taIeeeHeader->i_fc[1] = 0x00; memcpy (uint8_taIeeeHeader->i_addr2, &dev->pl_mac, MAC_ADDR_SIZE); - memcpy (uint8_taIeeeHeader->i_addr3, &mac_bssid, MAC_ADDR_SIZE); + memcpy (uint8_taIeeeHeader->i_addr3, &mac_bssid_gnunet, MAC_ADDR_SIZE); } diff --git a/src/transport/gnunet_wlan_sender.c b/src/transport/gnunet-transport-wlan-sender.c similarity index 91% rename from src/transport/gnunet_wlan_sender.c rename to src/transport/gnunet-transport-wlan-sender.c index db9d74483..69c4963ed 100644 --- a/src/transport/gnunet_wlan_sender.c +++ b/src/transport/gnunet-transport-wlan-sender.c @@ -19,18 +19,11 @@ */ /** - * @file transport/gnunet_wlan_sender.c + * @file transport/gnunet-transport-wlan-sender.c * @brief program to send via WLAN as much as possible (to test physical/theoretical throughput) * @author David Brodski */ - -#include -#include -#include -#include -#include -#include -#include +#include "platform.h" #include "gnunet_protocols.h" #include "plugin_transport_wlan.h" @@ -66,12 +59,9 @@ struct ieee80211_frame u_int8_t i_addr3[IEEE80211_ADDR_LEN]; u_int8_t i_seq[2]; u_int8_t llc[4]; -#if DEBUG_wlan_ip_udp_packets_on_air > 1 - struct iph ip; - struct udphdr udp; -#endif } GNUNET_PACKED; + /** * function to fill the radiotap header * @param header pointer to the radiotap header @@ -80,8 +70,6 @@ struct ieee80211_frame static int getRadiotapHeader (struct Radiotap_Send *header) { - - header->rate = 255; header->tx_power = 0; header->antenna = 0; @@ -106,9 +94,9 @@ getWlanHeader (struct ieee80211_frame *Header, const char *to_mac_addr, Header->i_fc[0] = IEEE80211_FC0_TYPE_DATA; Header->i_fc[1] = 0x00; - memcpy (&Header->i_addr3, &mac_bssid, sizeof (mac_bssid)); - memcpy (&Header->i_addr2, mac, sizeof (mac_bssid)); - memcpy (&Header->i_addr1, to_mac_addr, sizeof (mac_bssid)); + memcpy (&Header->i_addr3, &mac_bssid_gnunet, sizeof (mac_bssid_gnunet)); + memcpy (&Header->i_addr2, mac, sizeof (mac_bssid_gnunet)); + memcpy (&Header->i_addr1, to_mac_addr, sizeof (mac_bssid_gnunet)); tmp16 = (uint16_t *) Header->i_dur; *tmp16 = (uint16_t) GNUNET_htole16 ((size * 1000000) / rate + 290); @@ -118,6 +106,7 @@ getWlanHeader (struct ieee80211_frame *Header, const char *to_mac_addr, return GNUNET_YES; } + int main (int argc, char *argv[]) { @@ -164,14 +153,9 @@ main (int argc, char *argv[]) return 1; } for (i = 0; i < 6; i++) - { inmac[i] = temp[i]; - } for (i = 0; i < 6; i++) - { outmac[i] = temp[i]; - } - pid_t pid; int commpipe[2]; /* This holds the fd for the input & output of the pipe */ @@ -179,14 +163,17 @@ main (int argc, char *argv[]) /* Setup communication pipeline first */ if (pipe (commpipe)) { - fprintf (stderr, "Pipe error!\n"); + fprintf (stderr, + "Failed to create pipe: %s\n", + STRERROR (errno)); exit (1); } /* Attempt to fork and check for errors */ if ((pid = fork ()) == -1) { - fprintf (stderr, "Fork error. Exiting.\n"); /* something went wrong */ + fprintf (stderr, "Failed to fork: %s\n", + STRERROR (errno)); exit (1); } diff --git a/src/transport/plugin_transport_wlan.c b/src/transport/plugin_transport_wlan.c index e2af0da36..d7b061d70 100644 --- a/src/transport/plugin_transport_wlan.c +++ b/src/transport/plugin_transport_wlan.c @@ -120,41 +120,6 @@ #define IEEE80211_FC0_TYPE_CTL 0x04 #define IEEE80211_FC0_TYPE_DATA 0x08 -/* - * Structure of an internet header, naked of options. - */ -struct iph -{ -#if __BYTE_ORDER == __LITTLE_ENDIAN - unsigned int ip_hl:4; /* header length */ - unsigned int ip_v:4; /* version */ -#endif -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int ip_v:4; /* version */ - unsigned int ip_hl:4; /* header length */ -#endif - u_int8_t ip_tos; /* type of service */ - u_short ip_len; /* total length */ - u_short ip_id; /* identification */ - u_short ip_off; /* fragment offset field */ -#define IP_RF 0x8000 /* reserved fragment flag */ -#define IP_DF 0x4000 /* dont fragment flag */ -#define IP_MF 0x2000 /* more fragments flag */ -#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */ - u_int8_t ip_ttl; /* time to live */ - u_int8_t ip_p; /* protocol */ - u_short ip_sum; /* checksum */ - struct in_addr ip_src, ip_dst; /* source and dest address */ -}; - -struct udphdr -{ - u_int16_t source; - u_int16_t dest; - u_int16_t len; - u_int16_t check; -}; - /* * generic definitions for IEEE 802.11 frames */ @@ -167,10 +132,6 @@ struct ieee80211_frame u_int8_t i_addr3[IEEE80211_ADDR_LEN]; u_int8_t i_seq[2]; u_int8_t llc[4]; -#if DEBUG_wlan_ip_udp_packets_on_air > 1 - struct iph ip; - struct udphdr udp; -#endif } GNUNET_PACKED; /** @@ -1344,7 +1305,7 @@ getWlanHeader (struct ieee80211_frame *Header, Header->i_fc[0] = IEEE80211_FC0_TYPE_DATA; Header->i_fc[1] = 0x00; - memcpy (&Header->i_addr3, &mac_bssid, sizeof (mac_bssid)); + memcpy (&Header->i_addr3, &mac_bssid_gnunet, sizeof (mac_bssid_gnunet)); memcpy (&Header->i_addr2, plugin->mac_address.mac, sizeof (plugin->mac_address)); memcpy (&Header->i_addr1, to_mac_addr, sizeof (struct MacAddress)); @@ -1354,36 +1315,6 @@ getWlanHeader (struct ieee80211_frame *Header, Header->llc[0] = WLAN_LLC_DSAP_FIELD; Header->llc[1] = WLAN_LLC_SSAP_FIELD; -#if DEBUG_wlan_ip_udp_packets_on_air > 1 - uint crc = 0; - uint16_t *x; - int count; - - Header->ip.ip_dst.s_addr = *((uint32_t *) & to_mac_addr->mac[2]); - Header->ip.ip_src.s_addr = *((uint32_t *) & plugin->mac_address.mac[2]); - Header->ip.ip_v = 4; - Header->ip.ip_hl = 5; - Header->ip.ip_p = 17; - Header->ip.ip_ttl = 1; - Header->ip.ip_len = htons (size + 8); - Header->ip.ip_sum = 0; - x = (uint16_t *) & Header->ip; - count = sizeof (struct iph); - while (count > 1) - { - /* This is the inner loop */ - crc += (unsigned short) *x++; - count -= 2; - } - /* Add left-over byte, if any */ - if (count > 0) - crc += *(unsigned char *) x; - crc = (crc & 0xffff) + (crc >> 16); - Header->ip.ip_sum = htons (~(unsigned short) crc); - Header->udp.len = htons (size - sizeof (struct ieee80211_frame)); - -#endif - return GNUNET_YES; } @@ -3124,7 +3055,7 @@ wlan_process_helper (void *cls, void *client, //check for bssid if (memcmp - (&(wlanIeeeHeader->i_addr3), &mac_bssid, + (&(wlanIeeeHeader->i_addr3), &mac_bssid_gnunet, sizeof (struct MacAddress)) == 0) { //check for broadcast or mac @@ -3204,7 +3135,7 @@ wlan_process_helper (void *cls, void *client, break; case GNUNET_MESSAGE_TYPE_WLAN_HELPER_CONTROL: //TODO more control messages - if (ntohs (hdr->size) != sizeof (struct Wlan_Helper_Control_Message)) + if (ntohs (hdr->size) != sizeof (struct GNUNET_TRANSPORT_WLAN_HelperControlMessage)) { GNUNET_break (0); /* FIXME: restart SUID process */ diff --git a/src/transport/plugin_transport_wlan.h b/src/transport/plugin_transport_wlan.h index 5a88cb836..35b23fd44 100644 --- a/src/transport/plugin_transport_wlan.h +++ b/src/transport/plugin_transport_wlan.h @@ -46,7 +46,7 @@ struct MacAddress /** * Format of a WLAN Control Message. */ -struct Wlan_Helper_Control_Message +struct GNUNET_TRANSPORT_WLAN_HelperControlMessage { /** * Message header. FIXME: type? @@ -63,7 +63,7 @@ struct Wlan_Helper_Control_Message /** * GNUnet bssid */ -static const struct MacAddress mac_bssid = { +static const struct MacAddress mac_bssid_gnunet = { {0x13, 0x22, 0x33, 0x44, 0x55, 0x66} }; -- 2.25.1