WvStreams is a network programming library in C++. It was constructed over the
lifetime of the NetIntegrator mostly by [apenwarr] but also with tons of help
from [dcoombs] and other members of Net Integration R&D.  The version of
WvStreams you see on this site is currently maintained by the AlumNit group.

WvStreams aims to be an efficient, secure, easy-to-use, and OS-independent
library for doing network applications development, and we think that it has
pretty much lived up to those goals. Currently all or parts of it work under
Linux, *BSD, Solaris, and MAC OS X.  Some parts have been ported to Windows,
with a more complete port coming really soon.

Most people who have read WvStreams-based code seem to be very impressed with
how readable it makes application programs. It would have been impossible to
build WvDial, TunnelVision, Retchmail, and the rest of the programs found on
this site as quickly as we did without a good framework library.

Currently, what documentation exists is a bit sporadic. The header files from
the source code are fairly well documented, and, for those looking for examples,
all of the programs on this site have been developed using this library, so you
should be able to get some ideas from them. 


=== Frequently Asked Questions: ===

- Where can I get it?

 - Go to http://code.google.com/p/wvstreams.

- Is there a mailing list?

 - Yes, see the MailingLists page.

- How is it licensed?

 - WvStreams is licensed under the [http://www.gnu.org/copyleft/lesser.html GNU
Lesser General Public License].

- How do I compile WvStreams?

  <pre>
    tar -xzvf wvstreams-4.X.tar.gz
    cd wvstreams-4.X
    ./configure
    make
      (as root:)
    make install
  </pre>

  This will install the WvStreams libraries into /usr/local/lib, and the header
files into /usr/local/include/wvstreams 

- It says something about "OpenSSL is missing." when I'm trying to configure
WvStreams.

 - WvStreams has a bunch of cryptographic functions in it to create SSL
sessions, exchange RSA Keys, and handle some simple X.509 Certificate functions.
Since writing our own implementations of everything didn't really appeal to us,
we decided that we would simply create easy to use wrappers around the OpenSSL
library. Consequently, in order to compile WvStreams, you need to have the
include files and development libraries from OpenSSL installed.

- I'm having some other problem building WvStreams.

 - Check out the archives of the WvStreams MailingList (where where all of the
WvStreams developers hang out) to see if someone else has had the same problem
as you. If that doesn't help, please send a new message to the list and someone
will surely be able to help you.