Distribution Roadmap
What's Where in Linux FreeS/WAN
Subsystems
This distribution contains two major subsystems
- KLIPS
- the kernel code
- Pluto
- the user-level key-management daemon
plus assorted odds and ends.
Top directory
The top directory has essential information in text files:
- README
- introduction to the software
- INSTALL
- installation procedures
(see also setup.html)
- BUGS
- major known bugs in the current release.
- CHANGES
- changes from previous releases
- CREDITS
- acknowledgement of contributors
- COPYING
- licensing and distribution information
Documentation
The doc directory contains the bulk of the documentation, most of it
in HTML format. See the Index file for details.
KLIPS
KLIPS is
KerneL IP Security.
It lives in the klips directory, of course.
- klips/doc
- documentation
- klips/patches
- patches for existing kernel files
- klips/test
- test stuff
- klips/utils
- low-level user utilities
- klips/net/ipsec
- actual klips kernel files
- klips/src
- symbolic link to klips/net/ipsec
The "make insert" step of installation installs the patches and makes a symbolic link
from the kernel tree to klips/net/ipsec.
The odd name of klips/net/ipsec is dictated by some annoying limitations
of the scripts which build the Linux kernel. The symbolic-link business
is a bit messy, but all the alternatives are worse.
- klips/utils
- Utility programs:
- eroute
- manipulate IPSEC extended routing tables
- klipsdebug
- set Klips (kernel IPSEC support) debug features and level
- spi
- manage IPSEC Security Associations
- spigrp
- group/ungroup IPSEC Security Associations
- tncfg
- associate IPSEC virtual interface with real interface
These are all normally invoked by ipsec(8) with commands such as
ipsec tncfg arguments
There are section 8 man pages for all of these; the names have "ipsec_" as a
prefix, so your man command should be something like:
man 8 ipsec_tncfg
Pluto
Pluto is our key management and negotiation
daemon. It lives in the pluto directory, along with its low-level user utility,
whack.
There are no subdirectories. Documentation is a Readme file and a man page,
pluto.8. This covers whack as well.
Utils
The utils directory contains a growing collection of higher-level user
utilities, the commands that administer and control the software. Most
of the things that you will actually have to run yourself are in there.
- ipsec
- invoke IPSEC utilities
ipsec(8) is normally the only program installed in a standard directory,
/usr/local/sbin. It is used to invoke the others, both those listed
below and the ones in klips/utils mentioned above.
- auto
- control automatically-keyed IPSEC connections
- manual
- take manually-keyed IPSEC connections up and down
- barf
- generate copious debugging output
- look
- generate moderate amounts of debugging output
There are .8 manual pages for these. look is covered in barf.8. The man
pages have an "ipsec_" prefix so your man command should be something
like:
man 8 ipsec_auto
Examples are in various files with names utils/*.eg
Libraries
FreeS/WAN Library
The lib directory is the FreeS/WAN library, also steadily growing, used
by both user-level and kernel code.
It includes section 3 man pages for
the library routines.
Imported Libraries
The libdes and gmp directories are LIBDES and GMP, libraries written by
others which are used in various parts of the software.
- LIBDES
- Does DES encryption and related chores.
Used by both Klips and Pluto for Triple DES
encryption. Single DES is not used because it is insecure.
Note that LIBDES has a license different than the GPL
used for other code in FreeS/WAN.
- GMP
- Does multi-precision arithmetic.
Used by Pluto's key-exchange code.
Both these libraries include their own documentation files.
Click below to go to: