* Corrected ICV length for AES-GCM and AES-CCM in IPSec layer. Added unit tests to the ipsec campaign.
* Added travis support for pycrypto 2.7a1 combined modes.
* Updated documentation for pycrypto installation.
When using scapy as a third party library, we do not "benefit" from the
loading routine that puts all symbols in the __builtin__ namespace. This
implies that all modules must be "importable" without any errors for
undefined symbols.
This patch fixes importing every scapy module individually. Some
circular imports were fixed (between inet6 and dhcp6).
Most errors were detected by using pylint with the right configuration
(scapy produces a *lot* of errors). Other errors were detected with the
following shell script:
export PYTHONPATH=".:$PYTHONPATH"
for f in $(find scapy/ -name '*.py'); do
f=${f%/__init__.py}
module=$(echo ${f%.py} | sed 's,/,.,g')
python -c "import $module; print $module"
done
Also, replace all implicit relative imports by absolute imports to avoid
surprises with some python versions.
Signed-off-by: Robin Jarry <robin.jarry@6wind.com>
This patch adds a full implementation of the IPSec layer in
scapy/layers/ipsec.py. See the module's doc string for instructions.
In order to support encryption/decryption and authentication, the
pycrypto library is required. If not found, only the NULL/NULL
algorithms will be available.
(almost) complete test suite can be found in test/ipsec.uts and can
be launched with:
./bin/UTscapy -m scapy/layers/ipsec.py -t test/ipsec.uts -f text -F
Signed-off-by: Robin Jarry <robin.jarry@6wind.com>
--HG--
branch : ipsec