add winpcap 4.0.2 from url http://www.winpcap.org/
[natblaster.git] / README
blob936b8ef80243b8caab19760b2dad27bc620b215c
1 NATBLASTER Quick Overview
3 The released Natblaster code is a proof-of-concept implementation of the
4 techniques developed and outlined in the paper:
6 NATBLASTER: Establishing TCP Connections Between Hosts Behinds NATS
8 to appear in the 2005 ACM SIGCOMM Asia Workshop.
10 This code is released without warranty.  It is a proof-of-concept
11 implementation.  If the natblaster approach for peer connectivity through
12 NATS/firewalls is used we highly recommend using your own implementation or
13 doing a code-review to ensure this implementation meets your standards.  This
14 code is released under the Apache 2 License, as specified at the top of each
15 source file.
17 libnet and libpcap are required to compile to peer code, they are not need if
18 the 3rd party helper code is compiled alone.  The compilation process produces
19 two shared objects, natblaster_peer.so and natblaster_helper.so.  These share
20 objects can be linked against to import natblaster peer and 3rd party
21 support, respectively.  The compilation process produces example peer and 3rd
22 party programs named peer and helper, respectively.
24 To compile everything use "make all".  Use "make help" for more options.  The
25 makefile dependencies aren't perfect, make sure to use "make clean".
27 Use "make html" to produce the Doxygen documentation (Doxygen required).
29 Use "make print" to produce a singe postscript file with all the code
30 (enscript required).
32 The directory structure is arranged as follows:
34 o / 
35         + Contains the Makefile
36         + Contains this README
37         + Contains a Python script that helps start the built peer application.
38           This script is not needed to run the peer.
39         + Various files resulting from the build process are placed in this
40           directory
42 o doc/
43         + Contains the doxygen configuration file (doxygen.cfg)
44         + Contains the doxygen main page file (readme.dox)
45         + Doxygen warnings are placed in this directory (as doxygen.warn)
46         + Doxygen output is placed in this directory (as various self-documenting
47           sub-directories)
49 o misc/
50         + Contains a Vim syntax file that helps bring the Natblaster code to life.
51           See the README file in the same directory for more information.
53 o ps/
54         + The "make print" output is placed in this directory
56 o src/
57         + Contains all the code.  Built object files are placed alongside the c
58           files in the sub-directories.
59         + helper/
60                 - Contains code only used by the 3rd party
61         + peer/
62                 - Contains code only used by the peer
63         + share/
64                 - Contains code used by both the helper and the peer
65         + stubs/
66                 - Contains simple sample helper and peer applications.