Author: bschmidt
Date: Sat Dec 18 20:29:41 2010
New Revision: 216541
URL: http://svn.freebsd.org/changeset/base/216541

Log:
  Unbreak hostapd. This code has been explicitly removed in upstream versions.

Modified:
  head/usr.sbin/wpa/hostapd/driver_freebsd.c

Modified: head/usr.sbin/wpa/hostapd/driver_freebsd.c
==============================================================================
--- head/usr.sbin/wpa/hostapd/driver_freebsd.c  Sat Dec 18 20:27:09 2010        
(r216540)
+++ head/usr.sbin/wpa/hostapd/driver_freebsd.c  Sat Dec 18 20:29:41 2010        
(r216541)
@@ -356,40 +356,11 @@ bsd_send_eapol(void *priv, const u8 *add
               int encrypt, const u8 *own_addr)
 {
        struct bsd_driver_data *drv = priv;
-       unsigned char buf[3000];
-       unsigned char *bp = buf;
-       struct l2_ethhdr *eth;
-       size_t len;
-       int status;
 
-       /*
-        * Prepend the Etherent header.  If the caller left us
-        * space at the front we could just insert it but since
-        * we don't know we copy to a local buffer.  Given the frequency
-        * and size of frames this probably doesn't matter.
-        */
-       len = data_len + sizeof(struct l2_ethhdr);
-       if (len > sizeof(buf)) {
-               bp = malloc(len);
-               if (bp == NULL) {
-                       printf("EAPOL frame discarded, cannot malloc temp "
-                               "buffer of size %u!\n", len);
-                       return -1;
-               }
-       }
-       eth = (struct l2_ethhdr *) bp;
-       memcpy(eth->h_dest, addr, ETH_ALEN);
-       memcpy(eth->h_source, own_addr, ETH_ALEN);
-       eth->h_proto = htons(ETH_P_EAPOL);
-       memcpy(eth+1, data, data_len);
-
-       wpa_hexdump(MSG_MSGDUMP, "TX EAPOL", bp, len);
-
-       status = l2_packet_send(drv->sock_xmit, addr, ETH_P_EAPOL, bp, len);
-
-       if (bp != buf)
-               free(bp);
-       return status;
+       wpa_hexdump(MSG_MSGDUMP, "TX EAPOL", data, data_len);
+
+       return l2_packet_send(drv->sock_xmit, addr, ETH_P_EAPOL, data,
+                             data_len);
 }
 
 static int
@@ -739,7 +710,7 @@ bsd_init(struct hostapd_data *hapd, stru
        }
 
        drv->sock_xmit = l2_packet_init(drv->ifname, NULL, ETH_P_EAPOL,
-                                       handle_read, drv, 1);
+                                       handle_read, drv, 0);
        if (drv->sock_xmit == NULL)
                goto bad;
        if (l2_packet_get_own_addr(drv->sock_xmit, params->own_addr))
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to