Jean-Louis ha scritto:
today I have found some bug on pcap-usb-linux.c

now i can try to tell you which are


Added possibility to set "snaplen" also in "mmap mode"
Index: pcap-usb-linux.c
===================================================================
RCS file: /home/jean-louis/cvsroot/libpcap/pcap-usb-linux.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -c -r1.4 -r1.5
*** pcap-usb-linux.c	29 Oct 2008 16:03:01 -0000	1.4
--- pcap-usb-linux.c	29 Oct 2008 19:54:46 -0000	1.5
***************
*** 639,644 ****
--- 639,648 ----
  	pcap_usb_header* hdr;
  	int nflush = 0;
  	int packets = 0;
+ 	int clen, clen_bak;
+ 
+ 	clen_bak = handle->snapshot - sizeof(pcap_usb_header);
+ 
  
  	for (;;) {
  		int i, ret;
***************
*** 679,686 ****
  			if (hdr->event_type == '@') 
  				continue;
  
  			/* get packet info from header*/
! 			pkth.caplen = hdr->data_len + sizeof(pcap_usb_header);
  			pkth.len = hdr->urb_len + sizeof(pcap_usb_header);
  			pkth.ts.tv_sec = hdr->ts_sec;
  			pkth.ts.tv_usec = hdr->ts_usec;
--- 683,696 ----
  			if (hdr->event_type == '@') 
  				continue;
  
+ 			/* we can get less that than really captured from kernel, depending on
+ 	 		* snaplen, so adjust header accordingly */
+ 			clen = clen_bak;
+ 			if (hdr->data_len < clen)
+ 				clen = hdr->data_len;
+ 
  			/* get packet info from header*/
! 			pkth.caplen = clen + sizeof(pcap_usb_header);
  			pkth.len = hdr->urb_len + sizeof(pcap_usb_header);
  			pkth.ts.tv_sec = hdr->ts_sec;
  			pkth.ts.tv_usec = hdr->ts_usec;
-
This is the tcpdump-workers list.
Visit https://cod.sandelman.ca/ to unsubscribe.

Reply via email to