1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
The original objective seems to have been to apply padding, but this
is not done at all: instead, set a precision. -JeR
--- a/src/shape_arp_hdr.c
+++ b/src/shape_arp_hdr.c
@@ -94,7 +94,7 @@
if(format_ethernet_addr(ahdr_o.s_eaddr, s_neaddr) == 0)
fatal_error("Invalid sender ethernet address");
- snprintf(ahdr_o.shw_addr, 18, "%0X:%0X:%0X:%0X:%0X:%0X",
+ snprintf(ahdr_o.shw_addr, 18, "%.2X:%.2X:%.2X:%.2X:%.2X:%.2X",
s_neaddr[0], s_neaddr[1], s_neaddr[2], s_neaddr[3], s_neaddr[4], s_neaddr[5]);
if(ahdr_o.r_paddr == NULL)
@@ -139,7 +139,7 @@
if(format_ethernet_addr(ahdr_o.r_eaddr, r_neaddr) == 0)
fatal_error("Invalid receiver ethernet address");
- snprintf(ahdr_o.rhw_addr, 18, "%0X:%0X:%0X:%0X:%0X:%0X",
+ snprintf(ahdr_o.rhw_addr, 18, "%.2X:%.2X:%.2X:%.2X:%.2X:%.2X",
r_neaddr[0], r_neaddr[1], r_neaddr[2], r_neaddr[3], r_neaddr[4], r_neaddr[5]);
if(libnet_build_arp(
--- a/src/shape_ethernet_hdr.c
+++ b/src/shape_ethernet_hdr.c
@@ -56,7 +56,7 @@
if(format_ethernet_addr(ehdr_o.s_addr, us_addr) == 0)
fatal_error("Invalid source ethernet address");
- snprintf(ehdr_o.shw_addr, 18, "%0X:%0X:%0X:%0X:%0X:%0X",
+ snprintf(ehdr_o.shw_addr, 18, "%.2X:%.2X:%.2X:%.2X:%.2X:%.2X",
us_addr[0], us_addr[1], us_addr[2], us_addr[3], us_addr[4], us_addr[5]);
if(ehdr_o.d_addr == NULL && injection_type == ETHERTYPE_ARP)
@@ -71,7 +71,7 @@
if(format_ethernet_addr(ehdr_o.d_addr, ud_addr) == 0)
fatal_error("Invalid destination ethernet address");
- snprintf(ehdr_o.dhw_addr, 18, "%0X:%0X:%0X:%0X:%0X:%0X",
+ snprintf(ehdr_o.dhw_addr, 18, "%.2X:%.2X:%.2X:%.2X:%.2X:%.2X",
ud_addr[0], ud_addr[1], ud_addr[2], ud_addr[3], ud_addr[4], ud_addr[5]);
if(libnet_build_ethernet(
|