Fetching contributors…
Cannot retrieve contributors at this time
91 lines (67 sloc) 4.29 KB
This code is still less than perfect and undoubtedly has bugs. As of this
release, the following are considered known bugs.
For a detailed list, see
* OpenSWAN v2.6.51 and strongSwan have a compatibility issue when pfs=yes.
Please see COMPATABILITY_ISSUES file for details and work around.
* OpenSWAN v2.6.51 and strongSwan default proposals are incompatible. Please
see COMPATABILITY_ISSUES file for details and work around.
* It was our intent for Opportunistic Encryption to work with 4096 bit keys.
Currently, there is a buffer limitation that prevents this; the additional
text in TXT records wasn't properly factored into the buffer length. If
you wish to use a key larger than the default of 2192 bits, keep the size
under 4k. This will be fixed in a future release.
* If there are multiple connections specified between the same two
security gateways, either all or none must specify compression. Otherwise
the result is unpredictable.
* Pluto will not retry if it can not find its key in DNS when it starts.
* Openswan on OSX/FreeBSD does not properly install all the SA's into the kernel.
* Installing a new Openswan on top of an old one doesn't update kernel
configuration options, so if new options are added, you need to start
with a virgin kernel instead, or 'make oldconfig'
* KLIPS cannot cope with IP packets employing IP options. Normally,
KLIPS strips the options when forwarding. This has caused no trouble
that we know of, somewhat to our surprise.
* There are too many ways for packets to get around the security stuff.
In particular, suppose you have the following, with security gateways X
and Y serving subnets S and T:
A packet which shows up at Y, in clear text, claiming to be from S, with a
destination in T, will be forwarded... even if there is an IPsec tunnel
between X and Y which ought to be encrypting all such packets. The damage
such packets could do is limited, but denial-of-service attacks are an
obvious possibility. Dealing with this is difficult in general, because
we aren't quite close enough yet to the center of the IP processing
machinery. For now, careful firewalling is needed.
* Another "packet leak" arises because at startup, shutdown, or restart,
there is a brief period when the network is up but IPsec is not. This
exposure can be reduced using the forwardcontrol parameter, or by using
iptables start/stop scripts at the appropriate times.
* Yet another potential leak arises because the PF_KEYv2 replace form of
addroute command is non-atomic. There is a possibility for packets to
slip through the eroute table to a more general eroute between deletion
and addition of an eroute. This is usually of no importance because the
packets will generally end up getting dropped rather than forwarded.
* Minor difficulties can arise if more than one subnet is behind a single
security gateway, e.g.:
If U wants to talk to S encrypted, but T wants to talk to S in clear (no
IPsec), it actually is possible... but it has to be done with manual
keying's %passthrough feature, which is a little messy if the U-S
connection is automatically keyed, because the two connections share a
route but Pluto is not aware of this.
* The number of IPsec interfaces is coded at 4, but can be
changed by editing linux/net/ipsec/ipsec_param.h. It can not
adjusted dynamically at run-time, which is the bug.
* When building as a module, there may be a memory leak when loading/unloading
several times. We have not identified the source of this leak. It is on
the order of 8k. As we expect some turbulence in the kernel component
in the early months of 2003, we are not going to pursue this at this time.
Our test case, module-memory-01 therefore may fail.
* For various reasons, KLIPS will soon *DROP* any DF-marked packet that
is more than "IPsec-overhead" larger than the MTU. This is to compatible
with plpmtud (i.e. "PMTUbis") being proposed in the pmtud WG.
* Document and/or make configure option of the define IPSEC_obey_DF. It seems
currently not to be set anywhere.
* Also document and/or make option for MSS_HACK_ / MSS_HACK (in ipsec_xmit.c)