changeset 66:ec2de3435865 draft

Fix regression on Linux for sending packets over non Ethernet devices.
author Roy Marples <roy@marples.name>
date Wed, 21 Feb 2007 23:22:25 +0000
parents a205ee177dcd
children ce0f016bb99c
files ChangeLog socket.c
diffstat 2 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Feb 21 22:20:04 2007 +0000
+++ b/ChangeLog	Wed Feb 21 23:22:25 2007 +0000
@@ -1,3 +1,4 @@
+Fix regression on Linux for sending packets over non Ethernet devices.
 define ARPHRD_IEEE1394 if it doesn not exist, like for Linux-2.4 kernels.
 
 dhcpcd-3.0.12
--- a/socket.c	Wed Feb 21 22:20:04 2007 +0000
+++ b/socket.c	Wed Feb 21 23:22:25 2007 +0000
@@ -495,8 +495,8 @@
   sll.sll_family = AF_PACKET;
   sll.sll_protocol = htons (type);
   sll.sll_ifindex = if_nametoindex (iface->name);
-  sll.sll_halen = iface->hwlen;
-  memset(sll.sll_addr, 0xff, sizeof (sll.sll_addr));
+  sll.sll_halen = ETHER_ADDR_LEN;
+  memset(sll.sll_addr, 0xff, ETHER_ADDR_LEN);
 
   if ((retval = sendto (iface->fd, data, len, 0, (struct sockaddr *) &sll,
 			sizeof (struct sockaddr_ll))) < 0)