Re: [tcpdump-workers] scan_sys_class_net bug in pcap-linux.c

2012-12-06 Thread Paul Sheer
cool

i would encourage tcpdump-workers to try to eventually support opening up
multiple devices and listening on all of them

for instance, the command,

 tcpdump -e -i any

that would show output like:

   11:42:25.170257 >eth100:24:bf:5b:d4:d6 > 00:0c:29:f7:7f:e9,
ethertype IPv4 (0x0800), length 
   11:42:25.171312  00:22:54:7b:41:06,
ethertype IPv4 (0x0800), length 

(where ">eth1"  means  "arrived at eth1", and " wrote:

>
> On Dec 5, 2012, at 2:56 PM, Paul Sheer  wrote:
>
> > I would like to capture on all interfaces, but I would also like to
> know, with each packet, what interface it arrived on and left out of.
> >
> > This information is contained within the Linux kernel skbuff.
> >
> > But pcap does not see it.
>
> What's really wanted there is a new API and pcap-ng support, so that the
> interface ID and interface information can be present in the capture file.
>  You could capture with multiple pcap_t's, one for each interface, but not
> with the "any" device, as that doesn't supply the interface index.
>
> > I also want to see both source and destination hardware addresses of the
> Ethernet packet (if it is Ethernet).
> >
> > I guess this feature requires kernel changes.
>
> If the kernel allows an unbound PF_PACKET/SOCK_RAW socket, you could get
> that, but filtering would be difficult unless all interfaces have the same
> ARPHRD_ type - in-kernel filtering might apply to the socket, in which case
> it might be difficult or impossible to do it (the BPF program would have to
> determine the link-layer header type for the packet and jump to the
> appropriate filtering code), and userland filtering might be tricky as well
> (it would have to determine the link-layer header type for each interface
> and apply the appropriate filter).
>
> If you do this by capturing on multiple pcap_t's, that's easier.
>
> > The second problem is that tcpdump seems to have no way of listening on
> all interfaces. So if you are trying to track SCTP packets that use two
> separate interfaces, it seems you have to use wireshark instead.
>
> The only way tcpdump currently supports for listening on all interfaces is
> the "any" device.  If it could write pcap-ng files, it could do the same
> thing Wireshark does - open multiple pcap_t's and capture on all of them.
>
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] vlan tagged packets and libpcap breakage

2012-12-06 Thread Ani Sinha
On Wed, Oct 31, 2012 at 5:50 PM, Guy Harris  wrote:
>
> On Oct 31, 2012, at 3:35 PM, Ani Sinha  wrote:
>
>> yes but if the packet is passed to the filter within libpcap (when we
>> are not using the kernel filter) before the reinsertion,
>
> ...that would be a bug.
>
> Currently, that bug doesn't exist in the recvfrom() code path, but *does* 
> appear to exist in the tpacket code path - and that code path also runs the 
> filter before the SLL header is constructed.  That should be fixed.

Something like this?

Index: libpcap-1.1.1/pcap-linux.c
===
--- libpcap-1.1.1.orig/pcap-linux.c
+++ libpcap-1.1.1/pcap-linux.c
@@ -132,6 +132,7 @@ static const char rcsid[] _U_ =
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -3469,23 +3476,6 @@ pcap_read_linux_mmap(pcap_t *handle, int
  return -1;
  }

- /* run filter on received packet
- * If the kernel filtering is enabled we need to run the
- * filter until all the frames present into the ring
- * at filter creation time are processed.
- * In such case md.use_bpf is used as a counter for the
- * packet we need to filter.
- * Note: alternatively it could be possible to stop applying
- * the filter when the ring became empty, but it can possibly
- * happen a lot later... */
- bp = (unsigned char*)h.raw + tp_mac;
- run_bpf = (!handle->md.use_bpf) ||
- ((handle->md.use_bpf>1) && handle->md.use_bpf--);
- if (run_bpf && handle->fcode.bf_insns &&
- (bpf_filter(handle->fcode.bf_insns, bp,
- tp_len, tp_snaplen) == 0))
- goto skip;
-
  /*
  * Do checks based on packet direction.
  */
@@ -3582,6 +3576,23 @@ pcap_read_linux_mmap(pcap_t *handle, int
  }
 #endif

+ /* run filter on received packet
+ * If the kernel filtering is enabled we need to run the
+ * filter until all the frames present into the ring
+ * at filter creation time are processed.
+ * In such case md.use_bpf is used as a counter for the
+ * packet we need to filter.
+ * Note: alternatively it could be possible to stop applying
+ * the filter when the ring became empty, but it can possibly
+ * happen a lot later... */
+ bp = (unsigned char*)h.raw + tp_mac;
+ run_bpf = (!handle->md.use_bpf) ||
+ ((handle->md.use_bpf>1) && handle->md.use_bpf--);
+ if (run_bpf && handle->fcode.bf_insns &&
+ (bpf_filter(handle->fcode.bf_insns, bp,
+ tp_len, tp_snaplen) == 0))
+ goto skip;
+
  /*
  * The only way to tell the kernel to cut off the
  * packet at a snapshot length is with a filter program;
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] vlan tagged packets and libpcap breakage

2012-12-06 Thread Ani Sinha
On Sat, Nov 17, 2012 at 3:33 PM, Eric W. Biederman
 wrote:
> the vlan header in packets as we receive them.
>
> The code is correct except for the case of packets in vlan 0.  Currently
> the packet reconstruction is ambiguous.  The most recent kernels have
> a TP_STATUS_VLAN_VALID flag that can be checked to see if the packet was
> in vlan 0 or if there was no vlan at all.  libpcap probably should be
> taught how to handle TP_STATUS_VLAN_VALID so that it can get the vlan 0
> handling correct.
>

May be this?

Index: libpcap-1.1.1/pcap-linux.c
===
--- libpcap-1.1.1.orig/pcap-linux.c
+++ libpcap-1.1.1/pcap-linux.c
@@ -132,6 +132,7 @@ static const char rcsid[] _U_ =
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -1486,7 +1487,13 @@ pcap_read_packet(pcap_t *handle, pcap_ha
  continue;

  aux = (struct tpacket_auxdata *)CMSG_DATA(cmsg);
- if (aux->tp_vlan_tci == 0)
+#if defined(TP_STATUS_VLAN_VALID)
+if (!(aux->tp_vlan_tci & TP_STATUS_VLAN_VALID))
+#else
+ if (aux->tp_vlan_tci == 0) /* this is ambigious but without the
+
TP_STATUS_VLAN_VALID flag, there is
+  nothing that we can do */
+#endif
  continue;

  len = packet_len > iov.iov_len ? iov.iov_len : packet_len;
@@ -3565,7 +3555,11 @@ pcap_read_linux_mmap(pcap_t *handle, int
  }

 #ifdef HAVE_TPACKET2
- if (handle->md.tp_version == TPACKET_V2 && h.h2->tp_vlan_tci &&
+#if defined(TP_STATUS_VLAN_VALID)
+if (handle->md.tp_version == TPACKET_V2 &&
(h.h2->tp_vlan_tci & TP_STATUS_VLAN_VALID) &&
+#else
+if (handle->md.tp_version == TPACKET_V2 && h.h2->tp_vlan_tci &&
+#endif
 handle->md.vlan_offset != -1 &&
 tp_snaplen >= (unsigned int) handle->md.vlan_offset) {
  struct vlan_tag *tag;
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] vlan tagged packets and libpcap breakage

2012-12-06 Thread Eric W. Biederman
Ani Sinha  writes:

> On Sat, Nov 17, 2012 at 3:33 PM, Eric W. Biederman
>  wrote:
>> the vlan header in packets as we receive them.
>>
>> The code is correct except for the case of packets in vlan 0.  Currently
>> the packet reconstruction is ambiguous.  The most recent kernels have
>> a TP_STATUS_VLAN_VALID flag that can be checked to see if the packet was
>> in vlan 0 or if there was no vlan at all.  libpcap probably should be
>> taught how to handle TP_STATUS_VLAN_VALID so that it can get the vlan 0
>> handling correct.
>>
>
> May be this?

Two things.

- TP_STATUS_VLAN_VALID lives in the tp_status field not the tp_vlan_tci field.
- To work on older kernels with binaries compiled with newer headers you
  first want to test for tp_vlan_tci == 0 and then look at the status field for
  TP_STATUS_VALID.

Which means the tests need to look something like:

- if (aux->tp_vlan_tci == 0)
+#if defined(TP_STATUS_VLAN_VALID)
+ if ((aux->tp_vlan_tci == 0) && !(aux->tp_status & TP_STATUS_VLAN_VALID))
+#else
+ if (aux->tp_vlan_tci == 0) /* this is ambigious but without the
+
TP_STATUS_VLAN_VALID flag, there is
+  nothing that we can do */
+#endif

 #ifdef HAVE_TPACKET2
- if (handle->md.tp_version == TPACKET_V2 && h.h2->tp_vlan_tci &&
+ if (handle->md.tp_version == TPACKET_V2 &&
+#if defined(TP_STATUS_VLAN_VALID)
+ (h.h2->tp_vlan_tci || (h.h2->tp_status & TP_STATUS_VALID)) &&
+#else
+ h.h2->tp_vlan_tci &&
+#endif

Eric
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] vlan tagged packets and libpcap breakage

2012-12-06 Thread Ani Sinha
On Thu, Dec 6, 2012 at 2:19 PM, Eric W. Biederman  wrote:
> Ani Sinha  writes:
>
>> On Sat, Nov 17, 2012 at 3:33 PM, Eric W. Biederman
>>  wrote:
>>> the vlan header in packets as we receive them.
>>>
>>> The code is correct except for the case of packets in vlan 0.  Currently
>>> the packet reconstruction is ambiguous.  The most recent kernels have
>>> a TP_STATUS_VLAN_VALID flag that can be checked to see if the packet was
>>> in vlan 0 or if there was no vlan at all.  libpcap probably should be
>>> taught how to handle TP_STATUS_VLAN_VALID so that it can get the vlan 0
>>> handling correct.
>>>
>>
>> May be this?
>
> Two things.
>
> - TP_STATUS_VLAN_VALID lives in the tp_status field not the tp_vlan_tci field.
> - To work on older kernels with binaries compiled with newer headers you
>   first want to test for tp_vlan_tci == 0 and then look at the status field 
> for
>   TP_STATUS_VALID.

yes you are right Eric on both counts. I will resend the patch again in a bit.

ani
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] vlan tagged packets and libpcap breakage

2012-12-06 Thread Ani Sinha
On Thu, Dec 6, 2012 at 2:19 PM, Eric W. Biederman  wrote:
> Ani Sinha  writes:
>>>
>>
>> May be this?
>
> Two things.
>
> - TP_STATUS_VLAN_VALID lives in the tp_status field not the tp_vlan_tci field.
> - To work on older kernels with binaries compiled with newer headers you
>   first want to test for tp_vlan_tci == 0 and then look at the status field 
> for
>   TP_STATUS_VALID.


trying again :

 pcap-linux.c |   50 +++---
 1 files changed, 31 insertions(+), 19 deletions(-)

diff --git a/pcap-linux.c b/pcap-linux.c
index a42c3ac..8e355d3 100644
--- a/pcap-linux.c
+++ b/pcap-linux.c
@@ -133,6 +133,7 @@ static const char rcsid[] _U_ =
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -1543,7 +1544,13 @@ pcap_read_packet(pcap_t *handle, pcap_handler
callback, u_char *userdata)
  continue;

  aux = (struct tpacket_auxdata *)CMSG_DATA(cmsg);
- if (aux->tp_vlan_tci == 0)
+#if defined(TP_STATUS_VLAN_VALID)
+if ((aux->tp_vlan_tci == 0) ||
!(aux->tp_status & TP_STATUS_VLAN_VALID))
+#else
+ if (aux->tp_vlan_tci == 0) /* this is ambigious but without the
+
TP_STATUS_VLAN_VALID flag, there is
+  nothing that we can do */
+#endif
  continue;

  len = packet_len > iov.iov_len ? iov.iov_len : packet_len;
@@ -3936,7 +3926,12 @@ pcap_read_linux_mmap(pcap_t *handle, int
max_packets, pcap_handler callback,
  }

 #ifdef HAVE_TPACKET2
- if (handle->md.tp_version == TPACKET_V2 && h.h2->tp_vlan_tci &&
+if ((handle->md.tp_version == TPACKET_V2) &&
+#if defined(TP_STATUS_VLAN_VALID)
+(h.h2->tp_vlan_tci || (h.h2->tp_status &
TP_STATUS_VLAN_VALID)) &&
+#else
+h.h2->tp_vlan_tci &&
+#endif
 handle->md.vlan_offset != -1 &&
 tp_snaplen >= (unsigned int) handle->md.vlan_offset) {
  struct vlan_tag *tag;
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] vlan tagged packets and libpcap breakage

2012-12-06 Thread Eric W. Biederman
Ani Sinha  writes:

> On Thu, Dec 6, 2012 at 2:19 PM, Eric W. Biederman  
> wrote:
>> Ani Sinha  writes:

>>>
>>> May be this?
>>
>> Two things.
>>
>> - TP_STATUS_VLAN_VALID lives in the tp_status field not the tp_vlan_tci 
>> field.
>> - To work on older kernels with binaries compiled with newer headers you
>>   first want to test for tp_vlan_tci == 0 and then look at the status field 
>> for
>>   TP_STATUS_VALID.
>
>
> trying again :

The patch is whitespace damaged.  And one of your test is using ||
instead of &&

Eric

>  pcap-linux.c |   50 +++---
>  1 files changed, 31 insertions(+), 19 deletions(-)
>
> diff --git a/pcap-linux.c b/pcap-linux.c
> index a42c3ac..8e355d3 100644
> --- a/pcap-linux.c
> +++ b/pcap-linux.c
> @@ -133,6 +133,7 @@ static const char rcsid[] _U_ =
>  #include 
>  #include 
>  #include 
> +#include 
>  #include 
>  #include 
>  #include 
> @@ -1543,7 +1544,13 @@ pcap_read_packet(pcap_t *handle, pcap_handler
> callback, u_char *userdata)
>   continue;
>
>   aux = (struct tpacket_auxdata *)CMSG_DATA(cmsg);
> - if (aux->tp_vlan_tci == 0)
> +#if defined(TP_STATUS_VLAN_VALID)
> +if ((aux->tp_vlan_tci == 0) ||
> !(aux->tp_status & TP_STATUS_VLAN_VALID))

The test should be && not ||.

> +#else
> + if (aux->tp_vlan_tci == 0) /* this is ambigious but without the
> +
> TP_STATUS_VLAN_VALID flag, there is
> +  nothing that we can do 
> */
> +#endif
>   continue;
>
>   len = packet_len > iov.iov_len ? iov.iov_len : packet_len;
> @@ -3936,7 +3926,12 @@ pcap_read_linux_mmap(pcap_t *handle, int
> max_packets, pcap_handler callback,
>   }
>
>  #ifdef HAVE_TPACKET2
> - if (handle->md.tp_version == TPACKET_V2 && h.h2->tp_vlan_tci &&
> +if ((handle->md.tp_version == TPACKET_V2) &&
> +#if defined(TP_STATUS_VLAN_VALID)
> +(h.h2->tp_vlan_tci || (h.h2->tp_status &
> TP_STATUS_VLAN_VALID)) &&
> +#else
> +h.h2->tp_vlan_tci &&
> +#endif
>  handle->md.vlan_offset != -1 &&
>  tp_snaplen >= (unsigned int) handle->md.vlan_offset) {
>   struct vlan_tag *tag;
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] vlan tagged packets and libpcap breakage

2012-12-06 Thread Ani Sinha
>
> The patch is whitespace damaged.  And one of your test is using ||
> instead of &&
>

OK, using alpine now :-)
>
> The test should be && not ||.
>

aargh! I am retarded! Fixed. Hopefully 3rd time is a charm :-)


ani
 pcap-linux.c |   50 +++---
 1 files changed, 31 insertions(+), 19 deletions(-)

diff --git a/pcap-linux.c b/pcap-linux.c
index a42c3ac..b2c1a08 100644
--- a/pcap-linux.c
+++ b/pcap-linux.c
@@ -133,6 +133,7 @@ static const char rcsid[] _U_ =
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -1543,7 +1544,13 @@ pcap_read_packet(pcap_t *handle, pcap_handler callback, 
u_char *userdata)
continue;
 
aux = (struct tpacket_auxdata *)CMSG_DATA(cmsg);
-   if (aux->tp_vlan_tci == 0)
+#if defined(TP_STATUS_VLAN_VALID)
+if ((aux->tp_vlan_tci == 0) && !(aux->tp_status & 
TP_STATUS_VLAN_VALID))
+#else
+   if (aux->tp_vlan_tci == 0) /* this is ambigious but 
without the
+  TP_STATUS_VLAN_VALID 
flag, there is
+  nothing that we can do */
+#endif
continue;
 
len = packet_len > iov.iov_len ? iov.iov_len : 
packet_len;
@@ -3936,7 +3926,12 @@ pcap_read_linux_mmap(pcap_t *handle, int max_packets, 
pcap_handler callback,
}
 
 #ifdef HAVE_TPACKET2
-   if (handle->md.tp_version == TPACKET_V2 && h.h2->tp_vlan_tci &&
+if ((handle->md.tp_version == TPACKET_V2) &&
+#if defined(TP_STATUS_VLAN_VALID)
+(h.h2->tp_vlan_tci || (h.h2->tp_status & 
TP_STATUS_VLAN_VALID)) &&
+#else
+h.h2->tp_vlan_tci &&
+#endif
handle->md.vlan_offset != -1 &&
tp_snaplen >= (unsigned int) handle->md.vlan_offset) {
struct vlan_tag *tag;

___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] vlan tagged packets and libpcap breakage

2012-12-06 Thread Ani Sinha
>
> The patch is whitespace damaged.  And one of your test is using ||
> instead of &&

OK, using alpine now :-)
>
> The test should be && not ||.

aargh! I am retarded! Fixed. Hopefully 3rd time is a charm :-)

ani


 pcap-linux.c |   50 +++---
 1 files changed, 31 insertions(+), 19 deletions(-)

diff --git a/pcap-linux.c b/pcap-linux.c
index a42c3ac..b2c1a08 100644
--- a/pcap-linux.c
+++ b/pcap-linux.c
@@ -133,6 +133,7 @@ static const char rcsid[] _U_ =
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -1543,7 +1544,13 @@ pcap_read_packet(pcap_t *handle, pcap_handler callback, 
u_char *userdata)
continue;

aux = (struct tpacket_auxdata *)CMSG_DATA(cmsg);
-   if (aux->tp_vlan_tci == 0)
+#if defined(TP_STATUS_VLAN_VALID)
+if ((aux->tp_vlan_tci == 0) && !(aux->tp_status & 
TP_STATUS_VLAN_VALID))
+#else
+   if (aux->tp_vlan_tci == 0) /* this is ambigious but 
without the
+  TP_STATUS_VLAN_VALID 
flag, there is
+  nothing that we can do */
+#endif
continue;

len = packet_len > iov.iov_len ? iov.iov_len : 
packet_len;
@@ -3936,7 +3926,12 @@ pcap_read_linux_mmap(pcap_t *handle, int max_packets, 
pcap_handler callback,
}

 #ifdef HAVE_TPACKET2
-   if (handle->md.tp_version == TPACKET_V2 && h.h2->tp_vlan_tci &&
+if ((handle->md.tp_version == TPACKET_V2) &&
+#if defined(TP_STATUS_VLAN_VALID)
+(h.h2->tp_vlan_tci || (h.h2->tp_status & 
TP_STATUS_VLAN_VALID)) &&
+#else
+h.h2->tp_vlan_tci &&
+#endif
handle->md.vlan_offset != -1 &&
tp_snaplen >= (unsigned int) handle->md.vlan_offset) {
struct vlan_tag *tag;

___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] vlan tagged packets and libpcap breakage

2012-12-06 Thread Eric W. Biederman
Ani Sinha  writes:

>>
>> The patch is whitespace damaged.  And one of your test is using ||
>> instead of &&
>
> OK, using alpine now :-)
>>
>> The test should be && not ||.
>
> aargh! I am retarded! Fixed. Hopefully 3rd time is a charm :-)

Acked-by: "Eric W. Biederman" 

The code looks ok here.  I don't know what format the tcpdump folks
want patches in.  The typically format is an email with [PATCH] in
the subject.

You indentation now comes through clear.

It is a bit odd that you are indenting with spaces instead of tabs
in a file that is indented with tab.  Again libpcap isn't my code so I
don't care but someone else might.

Eric


> ani
>
>
>  pcap-linux.c |   50 +++---
>  1 files changed, 31 insertions(+), 19 deletions(-)
>
> diff --git a/pcap-linux.c b/pcap-linux.c
> index a42c3ac..b2c1a08 100644
> --- a/pcap-linux.c
> +++ b/pcap-linux.c
> @@ -133,6 +133,7 @@ static const char rcsid[] _U_ =
>  #include 
>  #include 
>  #include 
> +#include 
>  #include 
>  #include 
>  #include 
> @@ -1543,7 +1544,13 @@ pcap_read_packet(pcap_t *handle, pcap_handler 
> callback, u_char *userdata)
>   continue;
>
>   aux = (struct tpacket_auxdata *)CMSG_DATA(cmsg);
> - if (aux->tp_vlan_tci == 0)
> +#if defined(TP_STATUS_VLAN_VALID)
> +if ((aux->tp_vlan_tci == 0) && !(aux->tp_status & 
> TP_STATUS_VLAN_VALID))
> +#else
> + if (aux->tp_vlan_tci == 0) /* this is ambigious but 
> without the
> +  TP_STATUS_VLAN_VALID 
> flag, there is
> +  nothing that we can do 
> */
> +#endif
>   continue;
>
>   len = packet_len > iov.iov_len ? iov.iov_len : 
> packet_len;
> @@ -3936,7 +3926,12 @@ pcap_read_linux_mmap(pcap_t *handle, int max_packets, 
> pcap_handler callback,
>   }
>
>  #ifdef HAVE_TPACKET2
> - if (handle->md.tp_version == TPACKET_V2 && h.h2->tp_vlan_tci &&
> +if ((handle->md.tp_version == TPACKET_V2) &&
> +#if defined(TP_STATUS_VLAN_VALID)
> +(h.h2->tp_vlan_tci || (h.h2->tp_status & 
> TP_STATUS_VLAN_VALID)) &&
> +#else
> +h.h2->tp_vlan_tci &&
> +#endif
>   handle->md.vlan_offset != -1 &&
>   tp_snaplen >= (unsigned int) handle->md.vlan_offset) {
>   struct vlan_tag *tag;
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers


Re: [tcpdump-workers] vlan tagged packets and libpcap breakage

2012-12-06 Thread Michael Richardson

> "Eric" == Eric W Biederman  writes:
Eric> It is a bit odd that you are indenting with spaces instead of tabs
Eric> in a file that is indented with tab.  Again libpcap isn't my code so I
Eric> don't care but someone else might.

tabs are hysterical raisens.

Send two patches
1) tab->spaces
2) your patch.

github preferred :-)
but, I'll process this patch as is.

-- 
]   He who is tired of Weird Al is tired of life!   |  firewalls  [
]   Michael Richardson, Sandelman Software Works, Ottawa, ON|net architect[
] m...@sandelman.ottawa.on.ca http://www.sandelman.ottawa.on.ca/ |device driver[
   Kyoto Plus: watch the video 
   then sign the petition. 
___
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers