When doing Linux mmapped capture:

	Allocate a buffer into which to copy a packet, and have the
	callback for pcap_next() and pcap_next_ex() copy to that buffer
	and return a pointer to that buffer; we can't return the packet
	data pointer passed to the callback, as, once the callback
	returns, that buffer can be overwritten, even before you read
	the next packet.

	Don't tweak filter programs passed into the kernel to return
	65535 on success - we don't have to, as we're not reading
	packets with recvfrom(), and we don't want to, as, if we return
	the actual snapshot length, the kernel will copy less data to
	the ring buffer.

	Truncate the packet snapshot length to the specified length, as
	we might not have a filter to do that.
3 files changed
tree: 8fecd3a640ef275f75d5906ae3a74feaa4fafe8d
  1. bpf/
  2. ChmodBPF/
  3. doc/
  4. lbl/
  5. missing/
  6. msdos/
  7. packaging/
  8. pcap/
  9. SUNOS4/
  10. Win32/
  11. .cvsignore
  12. .gitignore
  13. aclocal.m4
  14. arcnet.h
  15. atmuni31.h
  16. bpf_dump.c
  17. bpf_image.c
  18. CHANGES
  19. chmod_bpf
  20. config.guess
  21. config.h.in
  22. config.sub
  23. configure
  24. configure.in
  25. CREDITS
  26. dlpisubs.c
  27. dlpisubs.h
  28. etherent.c
  29. ethertype.h
  30. fad-getad.c
  31. fad-gifc.c
  32. fad-glifc.c
  33. fad-null.c
  34. fad-sita.c
  35. fad-win32.c
  36. filtertest.c
  37. findalldevstest.c
  38. gencode.c
  39. gencode.h
  40. grammar.y
  41. ieee80211.h
  42. inet.c
  43. install-sh
  44. INSTALL.txt
  45. LICENSE
  46. llc.h
  47. Makefile.in
  48. mkdep
  49. nametoaddr.c
  50. nlpid.h
  51. optimize.c
  52. org.tcpdump.chmod_bpf.plist
  53. pcap-bpf.c
  54. pcap-bpf.h
  55. pcap-bt-linux.c
  56. pcap-bt-linux.h
  57. pcap-config.1
  58. pcap-config.in
  59. pcap-dag.c
  60. pcap-dag.h
  61. pcap-dlpi.c
  62. pcap-dos.c
  63. pcap-dos.h
  64. pcap-enet.c
  65. pcap-filter.manmisc.in
  66. pcap-int.h
  67. pcap-libdlpi.c
  68. pcap-linktype.manmisc.in
  69. pcap-linux.c
  70. pcap-namedb.h
  71. pcap-nit.c
  72. pcap-null.c
  73. pcap-pf.c
  74. pcap-savefile.manfile.in
  75. pcap-septel.c
  76. pcap-septel.h
  77. pcap-sita.c
  78. pcap-sita.h
  79. pcap-sita.html
  80. pcap-snit.c
  81. pcap-snoop.c
  82. pcap-stdinc.h
  83. pcap-usb-linux.c
  84. pcap-usb-linux.h
  85. pcap-win32.c
  86. pcap.3pcap.in
  87. pcap.c
  88. pcap.h
  89. pcap1.h
  90. pcap_activate.3pcap
  91. pcap_breakloop.3pcap
  92. pcap_can_set_rfmon.3pcap
  93. pcap_close.3pcap
  94. pcap_compile.3pcap.in
  95. pcap_create.3pcap
  96. pcap_datalink.3pcap.in
  97. pcap_datalink_name_to_val.3pcap
  98. pcap_datalink_val_to_name.3pcap
  99. pcap_dump.3pcap
  100. pcap_dump_close.3pcap
  101. pcap_dump_file.3pcap
  102. pcap_dump_flush.3pcap
  103. pcap_dump_ftell.3pcap
  104. pcap_dump_open.3pcap.in
  105. pcap_file.3pcap
  106. pcap_fileno.3pcap
  107. pcap_findalldevs.3pcap
  108. pcap_free_datalinks.3pcap
  109. pcap_freealldevs.3pcap
  110. pcap_freecode.3pcap
  111. pcap_get_selectable_fd.3pcap
  112. pcap_geterr.3pcap
  113. pcap_inject.3pcap
  114. pcap_is_swapped.3pcap
  115. pcap_lib_version.3pcap
  116. pcap_list_datalinks.3pcap.in
  117. pcap_lookupdev.3pcap
  118. pcap_lookupnet.3pcap
  119. pcap_loop.3pcap
  120. pcap_major_version.3pcap
  121. pcap_next_ex.3pcap
  122. pcap_offline_filter.3pcap
  123. pcap_open_dead.3pcap.in
  124. pcap_open_live.3pcap
  125. pcap_open_offline.3pcap.in
  126. pcap_set_buffer_size.3pcap
  127. pcap_set_datalink.3pcap
  128. pcap_set_promisc.3pcap
  129. pcap_set_rfmon.3pcap
  130. pcap_set_snaplen.3pcap
  131. pcap_set_timeout.3pcap
  132. pcap_setdirection.3pcap
  133. pcap_setfilter.3pcap
  134. pcap_setnonblock.3pcap
  135. pcap_snapshot.3pcap
  136. pcap_stats.3pcap
  137. pcap_statustostr.3pcap
  138. pcap_strerror.3pcap
  139. ppp.h
  140. README
  141. README.aix
  142. README.dag
  143. README.hpux
  144. README.linux
  145. README.macosx
  146. README.septel
  147. README.sita
  148. README.tru64
  149. README.Win32
  150. runlex.sh
  151. savefile.c
  152. scanner.l
  153. seltest.c
  154. sunatmpos.h
  155. TODO
  156. VERSION