head	1.2;
access;
symbols
	RELENG_8_4:1.2.0.8
	RELENG_9_1_0_RELEASE:1.2
	RELENG_9_1:1.2.0.6
	RELENG_9_1_BP:1.2
	RELENG_8_3_0_RELEASE:1.1.1.3
	RELENG_8_3:1.1.1.3.0.10
	RELENG_8_3_BP:1.1.1.3
	RELENG_9_0_0_RELEASE:1.2
	RELENG_9_0:1.2.0.4
	RELENG_9_0_BP:1.2
	RELENG_9:1.2.0.2
	RELENG_9_BP:1.2
	RELENG_7_4_0_RELEASE:1.1.1.2.24.1
	RELENG_8_2_0_RELEASE:1.1.1.3
	RELENG_7_4:1.1.1.2.24.1.0.10
	RELENG_7_4_BP:1.1.1.2.24.1
	RELENG_8_2:1.1.1.3.0.8
	RELENG_8_2_BP:1.1.1.3
	RELENG_8_1_0_RELEASE:1.1.1.3
	RELENG_8_1:1.1.1.3.0.6
	RELENG_8_1_BP:1.1.1.3
	RELENG_7_3_0_RELEASE:1.1.1.2.24.1
	RELENG_7_3:1.1.1.2.24.1.0.8
	RELENG_7_3_BP:1.1.1.2.24.1
	RELENG_8_0_0_RELEASE:1.1.1.3
	RELENG_8_0:1.1.1.3.0.4
	RELENG_8_0_BP:1.1.1.3
	RELENG_8:1.1.1.3.0.2
	RELENG_8_BP:1.1.1.3
	RELENG_7_2_0_RELEASE:1.1.1.2.24.1
	RELENG_7_2:1.1.1.2.24.1.0.6
	RELENG_7_2_BP:1.1.1.2.24.1
	RELENG_7_1_0_RELEASE:1.1.1.2.24.1
	RELENG_6_4_0_RELEASE:1.1.1.2
	RELENG_7_1:1.1.1.2.24.1.0.4
	RELENG_7_1_BP:1.1.1.2.24.1
	RELENG_6_4:1.1.1.2.0.28
	RELENG_6_4_BP:1.1.1.2
	RELENG_7_0_0_RELEASE:1.1.1.2.24.1
	RELENG_6_3_0_RELEASE:1.1.1.2
	RELENG_7_0:1.1.1.2.24.1.0.2
	RELENG_7_0_BP:1.1.1.2.24.1
	RELENG_6_3:1.1.1.2.0.26
	RELENG_6_3_BP:1.1.1.2
	v0_9_8:1.1.1.3
	RELENG_7:1.1.1.2.0.24
	RELENG_7_BP:1.1.1.2
	RELENG_6_2_0_RELEASE:1.1.1.2
	RELENG_6_2:1.1.1.2.0.22
	RELENG_6_2_BP:1.1.1.2
	v0_9_4:1.1.1.2
	RELENG_5_5_0_RELEASE:1.1.1.2
	RELENG_5_5:1.1.1.2.0.20
	RELENG_5_5_BP:1.1.1.2
	RELENG_6_1_0_RELEASE:1.1.1.2
	RELENG_6_1:1.1.1.2.0.18
	RELENG_6_1_BP:1.1.1.2
	RELENG_6_0_0_RELEASE:1.1.1.2
	RELENG_6_0:1.1.1.2.0.16
	RELENG_6_0_BP:1.1.1.2
	RELENG_6:1.1.1.2.0.14
	RELENG_6_BP:1.1.1.2
	v0_9_1:1.1.1.2
	v0_9_1-096:1.1.1.2
	LBL:1.1.1
	RELENG_5_4_0_RELEASE:1.1.1.2
	RELENG_5_4:1.1.1.2.0.12
	RELENG_5_4_BP:1.1.1.2
	RELENG_4_11_0_RELEASE:1.1.1.1.2.2
	RELENG_4_11:1.1.1.1.2.2.0.10
	RELENG_4_11_BP:1.1.1.1.2.2
	RELENG_5_3_0_RELEASE:1.1.1.2
	RELENG_5_3:1.1.1.2.0.10
	RELENG_5_3_BP:1.1.1.2
	RELENG_5:1.1.1.2.0.8
	RELENG_5_BP:1.1.1.2
	RELENG_4_10_0_RELEASE:1.1.1.1.2.2
	RELENG_4_10:1.1.1.1.2.2.0.8
	RELENG_4_10_BP:1.1.1.1.2.2
	libpcap_0_8_3:1.1.1.2
	RELENG_5_2_1_RELEASE:1.1.1.2
	RELENG_5_2_0_RELEASE:1.1.1.2
	RELENG_5_2:1.1.1.2.0.6
	RELENG_5_2_BP:1.1.1.2
	RELENG_4_9_0_RELEASE:1.1.1.1.2.2
	RELENG_4_9:1.1.1.1.2.2.0.6
	RELENG_4_9_BP:1.1.1.1.2.2
	RELENG_5_1_0_RELEASE:1.1.1.2
	RELENG_5_1:1.1.1.2.0.4
	RELENG_5_1_BP:1.1.1.2
	RELENG_4_8_0_RELEASE:1.1.1.1.2.2
	RELENG_4_8:1.1.1.1.2.2.0.4
	RELENG_4_8_BP:1.1.1.1.2.2
	RELENG_5_0_0_RELEASE:1.1.1.2
	RELENG_5_0:1.1.1.2.0.2
	RELENG_5_0_BP:1.1.1.2
	RELENG_4_7_0_RELEASE:1.1.1.1.2.2
	RELENG_4_7:1.1.1.1.2.2.0.2
	RELENG_4_7_BP:1.1.1.1.2.2
	RELENG_4_6_2_RELEASE:1.1.1.1.2.1
	RELENG_4_6_1_RELEASE:1.1.1.1.2.1
	libpcap_0_7_1:1.1.1.2
	RELENG_4_6_0_RELEASE:1.1.1.1.2.1
	RELENG_4_6:1.1.1.1.2.1.0.6
	RELENG_4_6_BP:1.1.1.1.2.1
	RELENG_4_5_0_RELEASE:1.1.1.1.2.1
	RELENG_4_5:1.1.1.1.2.1.0.4
	RELENG_4_5_BP:1.1.1.1.2.1
	RELENG_4_4_0_RELEASE:1.1.1.1.2.1
	RELENG_4_4:1.1.1.1.2.1.0.2
	RELENG_4_4_BP:1.1.1.1.2.1
	RELENG_4:1.1.1.1.0.2
	v0_6_2:1.1.1.1
	TCPDUMP_ORG:1.1.1;
locks; strict;
comment	@# @;


1.2
date	2010.10.29.18.43.23;	author rpaulo;	state Exp;
branches
	1.2.8.1;
next	1.1;

1.1
date	2001.04.03.04.18.09;	author fenner;	state Exp;
branches
	1.1.1.1;
next	;

1.2.8.1
date	2010.10.29.18.43.23;	author svnexp;	state dead;
branches;
next	1.2.8.2;

1.2.8.2
date	2013.03.28.13.01.28;	author svnexp;	state Exp;
branches;
next	;

1.1.1.1
date	2001.04.03.04.18.09;	author fenner;	state Exp;
branches
	1.1.1.1.2.1;
next	1.1.1.2;

1.1.1.2
date	2002.06.21.01.36.26;	author fenner;	state Exp;
branches
	1.1.1.2.24.1;
next	1.1.1.3;

1.1.1.3
date	2007.10.16.02.01.48;	author mlaier;	state Exp;
branches;
next	;

1.1.1.1.2.1
date	2001.08.01.00.23.07;	author fenner;	state Exp;
branches;
next	1.1.1.1.2.2;

1.1.1.1.2.2
date	2002.07.05.14.39.58;	author fenner;	state Exp;
branches;
next	;

1.1.1.2.24.1
date	2007.10.19.03.03.55;	author mlaier;	state Exp;
branches;
next	;


desc
@@


1.2
log
@SVN rev 214518 on 2010-10-29 18:43:23Z by rpaulo

Merge libpcap-1.1.1.
@
text
@ TODO list for libpcap
=======================

Important stuff (to be done before the next release)
---------------

General

- configure should not be in Git. Most open source projects have an 
  autogen.sh script to run autoconf etc. after checkout. I think we 
  should stick to the standard. 

- The source files should be better documented. There is no official 
  design guideline for what is done where. There should be a common coding
  style (okay, you can guess that by looking at the code) and a guide for
  what needs to be documented.

Less urgent items
-----------------

- Better documentation and cleanup of the interface. I am seeing a few  
  problems at the first glance which needs fixing:
  + pcap_lookupnet makes little to no sense with protocols != IPv4
  + not very well suited for interactive programs (think ethereal). There
    should be a way for the application to get a file descriptor which it
    has to monitor and a callback in pcap which has to be called on
    activity (XXX - "pcap_fileno()" handles the first part, although
    "select()" and "poll()" don't work on BPF devices on most BSDs, and
    you can call "pcap_dispatch()" as the dispatch routine after putting
    the descriptor into non-blocking mode)
  + too many functions. There are a lot of functions for everything which
    violates the KISS principle. Why do we need pcap_strerror, pcap_perror
    and pcap_geterr?
  + the manpage has a brief description of each function but where is the
    big picture? Seems like you need to buy UNP for that...
@


1.2.8.1
log
@file TODO was added on branch RELENG_8_4 on 2013-03-28 13:01:28 +0000
@
text
@d1 35
@


1.2.8.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 35
 TODO list for libpcap
=======================

Important stuff (to be done before the next release)
---------------

General

- configure should not be in the CVS. Most open source projects have an 
  autogen.sh script to run autoconf etc. after checkout. I think we 
  should stick to the standard. 

- The source files should be better documented. There is no official 
  design guideline for what is done where. There should be a common coding
  style (okay, you can guess that by looking at the code) and a guide for
  what needs to be documented.

Less urgent items
-----------------

- Better documentation and cleanup of the interface. I am seeing a few  
  problems at the first glance which needs fixing:
  + pcap_lookupnet makes little to no sense with protocols != IPv4
  + not very well suited for interactive programs (think ethereal). There
    should be a way for the application to get a file descriptor which it
    has to monitor and a callback in pcap which has to be called on
    activity (XXX - "pcap_fileno()" handles the first part, although
    "select()" and "poll()" don't work on BPF devices on most BSDs, and
    you can call "pcap_dispatch()" as the dispatch routine after putting
    the descriptor into non-blocking mode)
  + too many functions. There are a lot of functions for everything which
    violates the KISS principle. Why do we need pcap_strerror, pcap_perror
    and pcap_geterr?
  + the manpage has a brief description of each function but where is the
    big picture? Seems like you need to buy UNP for that...
@


1.1
log
@Initial revision
@
text
@d9 1
a9 1
- configure should not be in the CVS. Most open source projects have an 
d14 2
a15 2
  design guideline what is done where. There should be a common coding
  style (okay, you can guess that bye looking at the code) and a guideline
a17 7
Linux kernel interface

- Currently there is a race condition in that a socket is activated at the
  same time when it is opened - before applying a filter. This has to 
  be corrected so that capture starts when pcap_read is called for the 
  first time. 

d24 7
a30 3
  + not very suited for interactive programs (think ethereal). There should 
    be a way for the application to get a file descriptor which it has to
    monitor and a callback in pcap which has to be called on activity
@


1.1.1.1
log
@Virgin import of tcpdump.org libpcap v0.6.2
@
text
@@


1.1.1.2
log
@Import libpcap 0.7.1, from
 http://www.tcpdump.org/release/libpcap-0.7.1.tar.gz
@
text
@d14 2
a15 2
  design guideline for what is done where. There should be a common coding
  style (okay, you can guess that by looking at the code) and a guide for
d21 1
a21 1
  same time it is opened - before applying a filter. This has to
d31 3
a33 7
  + not very well suited for interactive programs (think ethereal). There
    should be a way for the application to get a file descriptor which it
    has to monitor and a callback in pcap which has to be called on
    activity (XXX - "pcap_fileno()" handles the first part, although
    "select()" and "poll()" don't work on BPF devices on most BSDs, and
    you can call "pcap_dispatch()" as the dispatch routine after putting
    the descriptor into non-blocking mode)
@


1.1.1.2.24.1
log
@MFC:
  Import of tcpdump 3.9.8 and libpcap 0.9.8

Approved by:	re (kensmith)
@
text
@d18 7
@


1.1.1.3
log
@Import of libpcap v0.9.8
@
text
@d18 7
@


1.1.1.1.2.1
log
@MFC: libpcap 0.6
@
text
@@


1.1.1.1.2.2
log
@MFC: libpcap-0.7.1
@
text
@d14 2
a15 2
  design guideline for what is done where. There should be a common coding
  style (okay, you can guess that by looking at the code) and a guide for
d21 1
a21 1
  same time it is opened - before applying a filter. This has to
d31 3
a33 7
  + not very well suited for interactive programs (think ethereal). There
    should be a way for the application to get a file descriptor which it
    has to monitor and a callback in pcap which has to be called on
    activity (XXX - "pcap_fileno()" handles the first part, although
    "select()" and "poll()" don't work on BPF devices on most BSDs, and
    you can call "pcap_dispatch()" as the dispatch routine after putting
    the descriptor into non-blocking mode)
@


