(no commit message)
authorMartin Willi <martin@strongswan.org>
Wed, 10 May 2006 13:16:27 +0000 (13:16 -0000)
committerMartin Willi <martin@strongswan.org>
Wed, 10 May 2006 13:16:27 +0000 (13:16 -0000)
473 files changed:
src/Makefile
src/charon/Makefile
src/freeswan.h [new file with mode: 0644]
src/freeswan/.cvsignore [new file with mode: 0644]
src/freeswan/Makefile [new file with mode: 0644]
src/freeswan/Makefile.objs [new file with mode: 0644]
src/freeswan/addrtoa.c [new file with mode: 0644]
src/freeswan/addrtot.c [new file with mode: 0644]
src/freeswan/addrtypeof.c [new file with mode: 0644]
src/freeswan/anyaddr.3 [new file with mode: 0644]
src/freeswan/anyaddr.c [new file with mode: 0644]
src/freeswan/atoaddr.3 [new file with mode: 0644]
src/freeswan/atoaddr.c [new file with mode: 0644]
src/freeswan/atoasr.3 [new file with mode: 0644]
src/freeswan/atoasr.c [new file with mode: 0644]
src/freeswan/atosa.3 [new file with mode: 0644]
src/freeswan/atosa.c [new file with mode: 0644]
src/freeswan/atosubnet.c [new file with mode: 0644]
src/freeswan/atoul.3 [new file with mode: 0644]
src/freeswan/atoul.c [new file with mode: 0644]
src/freeswan/copyright.c [new file with mode: 0644]
src/freeswan/datatot.c [new file with mode: 0644]
src/freeswan/goodmask.3 [new file with mode: 0644]
src/freeswan/goodmask.c [new file with mode: 0644]
src/freeswan/initaddr.3 [new file with mode: 0644]
src/freeswan/initaddr.c [new file with mode: 0644]
src/freeswan/initsaid.c [new file with mode: 0644]
src/freeswan/initsubnet.3 [new file with mode: 0644]
src/freeswan/initsubnet.c [new file with mode: 0644]
src/freeswan/internal.h [new file with mode: 0644]
src/freeswan/ipcomp.h [new file with mode: 0644]
src/freeswan/ipsec_ah.h [new file with mode: 0644]
src/freeswan/ipsec_alg.h [new file with mode: 0644]
src/freeswan/ipsec_encap.h [new file with mode: 0644]
src/freeswan/ipsec_eroute.h [new file with mode: 0644]
src/freeswan/ipsec_errs.h [new file with mode: 0644]
src/freeswan/ipsec_esp.h [new file with mode: 0644]
src/freeswan/ipsec_ipe4.h [new file with mode: 0644]
src/freeswan/ipsec_kversion.h [new file with mode: 0644]
src/freeswan/ipsec_life.h [new file with mode: 0644]
src/freeswan/ipsec_md5h.h [new file with mode: 0644]
src/freeswan/ipsec_param.h [new file with mode: 0644]
src/freeswan/ipsec_policy.h [new file with mode: 0644]
src/freeswan/ipsec_proto.h [new file with mode: 0644]
src/freeswan/ipsec_radij.h [new file with mode: 0644]
src/freeswan/ipsec_rcv.h [new file with mode: 0644]
src/freeswan/ipsec_sa.h [new file with mode: 0644]
src/freeswan/ipsec_sha1.h [new file with mode: 0644]
src/freeswan/ipsec_stats.h [new file with mode: 0644]
src/freeswan/ipsec_tunnel.h [new file with mode: 0644]
src/freeswan/ipsec_xform.h [new file with mode: 0644]
src/freeswan/ipsec_xmit.h [new file with mode: 0644]
src/freeswan/keyblobtoid.3 [new file with mode: 0644]
src/freeswan/keyblobtoid.c [new file with mode: 0644]
src/freeswan/optionsfrom.3 [new file with mode: 0644]
src/freeswan/optionsfrom.c [new file with mode: 0644]
src/freeswan/pfkey_v2_build.c [new file with mode: 0644]
src/freeswan/pfkey_v2_debug.c [new file with mode: 0644]
src/freeswan/pfkey_v2_ext_bits.c [new file with mode: 0644]
src/freeswan/pfkey_v2_parse.c [new file with mode: 0644]
src/freeswan/portof.3 [new file with mode: 0644]
src/freeswan/portof.c [new file with mode: 0644]
src/freeswan/prng.3 [new file with mode: 0644]
src/freeswan/prng.c [new file with mode: 0644]
src/freeswan/radij.h [new file with mode: 0644]
src/freeswan/rangetoa.c [new file with mode: 0644]
src/freeswan/rangetosubnet.3 [new file with mode: 0644]
src/freeswan/rangetosubnet.c [new file with mode: 0644]
src/freeswan/sameaddr.3 [new file with mode: 0644]
src/freeswan/sameaddr.c [new file with mode: 0644]
src/freeswan/satoa.c [new file with mode: 0644]
src/freeswan/satot.c [new file with mode: 0644]
src/freeswan/subnetof.3 [new file with mode: 0644]
src/freeswan/subnetof.c [new file with mode: 0644]
src/freeswan/subnettoa.c [new file with mode: 0644]
src/freeswan/subnettot.c [new file with mode: 0644]
src/freeswan/subnettypeof.c [new file with mode: 0644]
src/freeswan/ttoaddr.3 [new file with mode: 0644]
src/freeswan/ttoaddr.c [new file with mode: 0644]
src/freeswan/ttodata.3 [new file with mode: 0644]
src/freeswan/ttodata.c [new file with mode: 0644]
src/freeswan/ttoprotoport.c [new file with mode: 0644]
src/freeswan/ttosa.3 [new file with mode: 0644]
src/freeswan/ttosa.c [new file with mode: 0644]
src/freeswan/ttosubnet.c [new file with mode: 0644]
src/freeswan/ttoul.3 [new file with mode: 0644]
src/freeswan/ttoul.c [new file with mode: 0644]
src/freeswan/ultoa.c [new file with mode: 0644]
src/freeswan/ultot.c [new file with mode: 0644]
src/freeswan/version.3 [new file with mode: 0644]
src/freeswan/version.in.c [new file with mode: 0644]
src/libcrypto/Makefile.am [new file with mode: 0644]
src/libcrypto/include/cbc_generic.h [new file with mode: 0644]
src/libcrypto/include/hmac_generic.h [new file with mode: 0644]
src/libcrypto/include/md32_common.h [new file with mode: 0644]
src/libcrypto/libaes/Makefile.am [new file with mode: 0644]
src/libcrypto/libaes/Makefile.old [new file with mode: 0644]
src/libcrypto/libaes/aes.c [new file with mode: 0644]
src/libcrypto/libaes/aes.h [new file with mode: 0644]
src/libcrypto/libaes/aes_cbc.c [new file with mode: 0644]
src/libcrypto/libaes/aes_cbc.h [new file with mode: 0644]
src/libcrypto/libaes/aes_xcbc_mac.c [new file with mode: 0644]
src/libcrypto/libaes/aes_xcbc_mac.h [new file with mode: 0644]
src/libcrypto/libaes/asm/aes-i586.S [new file with mode: 0644]
src/libcrypto/libaes/test_main.c [new file with mode: 0644]
src/libcrypto/libaes/test_main_mac.c [new file with mode: 0644]
src/libcrypto/libblowfish/COPYRIGHT [new file with mode: 0644]
src/libcrypto/libblowfish/INSTALL [new file with mode: 0644]
src/libcrypto/libblowfish/Makefile.am [new file with mode: 0644]
src/libcrypto/libblowfish/Makefile.old [new file with mode: 0644]
src/libcrypto/libblowfish/Makefile.ssl [new file with mode: 0644]
src/libcrypto/libblowfish/README [new file with mode: 0644]
src/libcrypto/libblowfish/VERSION [new file with mode: 0644]
src/libcrypto/libblowfish/asm/bf-586.pl [new file with mode: 0644]
src/libcrypto/libblowfish/asm/bf-686.pl [new file with mode: 0644]
src/libcrypto/libblowfish/asm/readme [new file with mode: 0644]
src/libcrypto/libblowfish/bf_enc.c [new file with mode: 0644]
src/libcrypto/libblowfish/bf_locl.h [new file with mode: 0644]
src/libcrypto/libblowfish/bf_pi.h [new file with mode: 0644]
src/libcrypto/libblowfish/bf_skey.c [new file with mode: 0644]
src/libcrypto/libblowfish/blowfish.h [new file with mode: 0644]
src/libcrypto/libdes/COPYRIGHT [new file with mode: 0644]
src/libcrypto/libdes/Makefile [new file with mode: 0644]
src/libcrypto/libdes/Makefile.am [new file with mode: 0644]
src/libcrypto/libdes/README [new file with mode: 0644]
src/libcrypto/libdes/README.freeswan [new file with mode: 0644]
src/libcrypto/libdes/VERSION [new file with mode: 0644]
src/libcrypto/libdes/asm/crypt586.pl [new file with mode: 0644]
src/libcrypto/libdes/asm/des-586.pl [new file with mode: 0644]
src/libcrypto/libdes/asm/des686.pl [new file with mode: 0644]
src/libcrypto/libdes/asm/desboth.pl [new file with mode: 0644]
src/libcrypto/libdes/asm/perlasm/cbc.pl [new file with mode: 0644]
src/libcrypto/libdes/asm/perlasm/readme [new file with mode: 0644]
src/libcrypto/libdes/asm/perlasm/x86asm.pl [new file with mode: 0644]
src/libcrypto/libdes/asm/perlasm/x86ms.pl [new file with mode: 0644]
src/libcrypto/libdes/asm/perlasm/x86unix.pl [new file with mode: 0644]
src/libcrypto/libdes/asm/readme [new file with mode: 0644]
src/libcrypto/libdes/cbc_enc.c [new file with mode: 0644]
src/libcrypto/libdes/des.doc [new file with mode: 0644]
src/libcrypto/libdes/des.h [new file with mode: 0644]
src/libcrypto/libdes/des_crypt.man [new file with mode: 0644]
src/libcrypto/libdes/des_enc.c [new file with mode: 0644]
src/libcrypto/libdes/des_locl.h [new file with mode: 0644]
src/libcrypto/libdes/des_opts.c [new file with mode: 0644]
src/libcrypto/libdes/des_ver.h [new file with mode: 0644]
src/libcrypto/libdes/destest.c [new file with mode: 0644]
src/libcrypto/libdes/dx86unix.S [new file with mode: 0644]
src/libcrypto/libdes/ecb_enc.c [new file with mode: 0644]
src/libcrypto/libdes/fcrypt.c [new file with mode: 0644]
src/libcrypto/libdes/fcrypt_b.c [new file with mode: 0644]
src/libcrypto/libdes/options.txt [new file with mode: 0644]
src/libcrypto/libdes/podd.h [new file with mode: 0644]
src/libcrypto/libdes/set_key.c [new file with mode: 0644]
src/libcrypto/libdes/sk.h [new file with mode: 0644]
src/libcrypto/libdes/speed.c [new file with mode: 0644]
src/libcrypto/libdes/spr.h [new file with mode: 0644]
src/libcrypto/libserpent/Makefile.am [new file with mode: 0644]
src/libcrypto/libserpent/Makefile.old [new file with mode: 0644]
src/libcrypto/libserpent/serpent.c [new file with mode: 0644]
src/libcrypto/libserpent/serpent.h [new file with mode: 0644]
src/libcrypto/libserpent/serpent_cbc.c [new file with mode: 0644]
src/libcrypto/libserpent/serpent_cbc.h [new file with mode: 0644]
src/libcrypto/libserpent/test_main.c [new file with mode: 0644]
src/libcrypto/libsha2/Makefile.am [new file with mode: 0644]
src/libcrypto/libsha2/Makefile.old [new file with mode: 0644]
src/libcrypto/libsha2/hmac_sha2.c [new file with mode: 0644]
src/libcrypto/libsha2/hmac_sha2.h [new file with mode: 0644]
src/libcrypto/libsha2/sha2.c [new file with mode: 0644]
src/libcrypto/libsha2/sha2.h [new file with mode: 0644]
src/libcrypto/libtwofish/Makefile.am [new file with mode: 0644]
src/libcrypto/libtwofish/Makefile.old [new file with mode: 0644]
src/libcrypto/libtwofish/test_main.c [new file with mode: 0644]
src/libcrypto/libtwofish/twofish.c [new file with mode: 0644]
src/libcrypto/libtwofish/twofish.h [new file with mode: 0644]
src/libcrypto/libtwofish/twofish_cbc.c [new file with mode: 0644]
src/libcrypto/libtwofish/twofish_cbc.h [new file with mode: 0644]
src/libcrypto/oldlibdes/.cvsignore [new file with mode: 0644]
src/libcrypto/perlasm/LICENSE [new file with mode: 0644]
src/libcrypto/perlasm/alpha.pl [new file with mode: 0644]
src/libcrypto/perlasm/cbc.pl [new file with mode: 0644]
src/libcrypto/perlasm/readme [new file with mode: 0644]
src/libcrypto/perlasm/version [new file with mode: 0644]
src/libcrypto/perlasm/x86asm.pl [new file with mode: 0644]
src/libcrypto/perlasm/x86ms.pl [new file with mode: 0644]
src/libcrypto/perlasm/x86nasm.pl [new file with mode: 0644]
src/libcrypto/perlasm/x86unix.pl [new file with mode: 0644]
src/libfreeswan/freeswan.h [deleted file]
src/libfreeswan/freeswan/.cvsignore [deleted file]
src/libfreeswan/freeswan/Makefile [deleted file]
src/libfreeswan/freeswan/Makefile.objs [deleted file]
src/libfreeswan/freeswan/addrtoa.c [deleted file]
src/libfreeswan/freeswan/addrtot.c [deleted file]
src/libfreeswan/freeswan/addrtypeof.c [deleted file]
src/libfreeswan/freeswan/anyaddr.3 [deleted file]
src/libfreeswan/freeswan/anyaddr.c [deleted file]
src/libfreeswan/freeswan/atoaddr.3 [deleted file]
src/libfreeswan/freeswan/atoaddr.c [deleted file]
src/libfreeswan/freeswan/atoasr.3 [deleted file]
src/libfreeswan/freeswan/atoasr.c [deleted file]
src/libfreeswan/freeswan/atosa.3 [deleted file]
src/libfreeswan/freeswan/atosa.c [deleted file]
src/libfreeswan/freeswan/atosubnet.c [deleted file]
src/libfreeswan/freeswan/atoul.3 [deleted file]
src/libfreeswan/freeswan/atoul.c [deleted file]
src/libfreeswan/freeswan/copyright.c [deleted file]
src/libfreeswan/freeswan/datatot.c [deleted file]
src/libfreeswan/freeswan/goodmask.3 [deleted file]
src/libfreeswan/freeswan/goodmask.c [deleted file]
src/libfreeswan/freeswan/initaddr.3 [deleted file]
src/libfreeswan/freeswan/initaddr.c [deleted file]
src/libfreeswan/freeswan/initsaid.c [deleted file]
src/libfreeswan/freeswan/initsubnet.3 [deleted file]
src/libfreeswan/freeswan/initsubnet.c [deleted file]
src/libfreeswan/freeswan/internal.h [deleted file]
src/libfreeswan/freeswan/ipcomp.h [deleted file]
src/libfreeswan/freeswan/ipsec_ah.h [deleted file]
src/libfreeswan/freeswan/ipsec_alg.h [deleted file]
src/libfreeswan/freeswan/ipsec_encap.h [deleted file]
src/libfreeswan/freeswan/ipsec_eroute.h [deleted file]
src/libfreeswan/freeswan/ipsec_errs.h [deleted file]
src/libfreeswan/freeswan/ipsec_esp.h [deleted file]
src/libfreeswan/freeswan/ipsec_ipe4.h [deleted file]
src/libfreeswan/freeswan/ipsec_kversion.h [deleted file]
src/libfreeswan/freeswan/ipsec_life.h [deleted file]
src/libfreeswan/freeswan/ipsec_md5h.h [deleted file]
src/libfreeswan/freeswan/ipsec_param.h [deleted file]
src/libfreeswan/freeswan/ipsec_policy.h [deleted file]
src/libfreeswan/freeswan/ipsec_proto.h [deleted file]
src/libfreeswan/freeswan/ipsec_radij.h [deleted file]
src/libfreeswan/freeswan/ipsec_rcv.h [deleted file]
src/libfreeswan/freeswan/ipsec_sa.h [deleted file]
src/libfreeswan/freeswan/ipsec_sha1.h [deleted file]
src/libfreeswan/freeswan/ipsec_stats.h [deleted file]
src/libfreeswan/freeswan/ipsec_tunnel.h [deleted file]
src/libfreeswan/freeswan/ipsec_xform.h [deleted file]
src/libfreeswan/freeswan/ipsec_xmit.h [deleted file]
src/libfreeswan/freeswan/keyblobtoid.3 [deleted file]
src/libfreeswan/freeswan/keyblobtoid.c [deleted file]
src/libfreeswan/freeswan/optionsfrom.3 [deleted file]
src/libfreeswan/freeswan/optionsfrom.c [deleted file]
src/libfreeswan/freeswan/pfkey_v2_build.c [deleted file]
src/libfreeswan/freeswan/pfkey_v2_debug.c [deleted file]
src/libfreeswan/freeswan/pfkey_v2_ext_bits.c [deleted file]
src/libfreeswan/freeswan/pfkey_v2_parse.c [deleted file]
src/libfreeswan/freeswan/portof.3 [deleted file]
src/libfreeswan/freeswan/portof.c [deleted file]
src/libfreeswan/freeswan/prng.3 [deleted file]
src/libfreeswan/freeswan/prng.c [deleted file]
src/libfreeswan/freeswan/radij.h [deleted file]
src/libfreeswan/freeswan/rangetoa.c [deleted file]
src/libfreeswan/freeswan/rangetosubnet.3 [deleted file]
src/libfreeswan/freeswan/rangetosubnet.c [deleted file]
src/libfreeswan/freeswan/sameaddr.3 [deleted file]
src/libfreeswan/freeswan/sameaddr.c [deleted file]
src/libfreeswan/freeswan/satoa.c [deleted file]
src/libfreeswan/freeswan/satot.c [deleted file]
src/libfreeswan/freeswan/subnetof.3 [deleted file]
src/libfreeswan/freeswan/subnetof.c [deleted file]
src/libfreeswan/freeswan/subnettoa.c [deleted file]
src/libfreeswan/freeswan/subnettot.c [deleted file]
src/libfreeswan/freeswan/subnettypeof.c [deleted file]
src/libfreeswan/freeswan/ttoaddr.3 [deleted file]
src/libfreeswan/freeswan/ttoaddr.c [deleted file]
src/libfreeswan/freeswan/ttodata.3 [deleted file]
src/libfreeswan/freeswan/ttodata.c [deleted file]
src/libfreeswan/freeswan/ttoprotoport.c [deleted file]
src/libfreeswan/freeswan/ttosa.3 [deleted file]
src/libfreeswan/freeswan/ttosa.c [deleted file]
src/libfreeswan/freeswan/ttosubnet.c [deleted file]
src/libfreeswan/freeswan/ttoul.3 [deleted file]
src/libfreeswan/freeswan/ttoul.c [deleted file]
src/libfreeswan/freeswan/ultoa.c [deleted file]
src/libfreeswan/freeswan/ultot.c [deleted file]
src/libfreeswan/freeswan/version.3 [deleted file]
src/libfreeswan/freeswan/version.in.c [deleted file]
src/libfreeswan/libcrypto/include/cbc_generic.h [deleted file]
src/libfreeswan/libcrypto/include/hmac_generic.h [deleted file]
src/libfreeswan/libcrypto/include/md32_common.h [deleted file]
src/libfreeswan/libcrypto/libaes/Makefile.old [deleted file]
src/libfreeswan/libcrypto/libaes/aes.c [deleted file]
src/libfreeswan/libcrypto/libaes/aes.h [deleted file]
src/libfreeswan/libcrypto/libaes/aes_cbc.c [deleted file]
src/libfreeswan/libcrypto/libaes/aes_cbc.h [deleted file]
src/libfreeswan/libcrypto/libaes/aes_xcbc_mac.c [deleted file]
src/libfreeswan/libcrypto/libaes/aes_xcbc_mac.h [deleted file]
src/libfreeswan/libcrypto/libaes/asm/aes-i586.S [deleted file]
src/libfreeswan/libcrypto/libaes/test_main.c [deleted file]
src/libfreeswan/libcrypto/libaes/test_main_mac.c [deleted file]
src/libfreeswan/libcrypto/libblowfish/COPYRIGHT [deleted file]
src/libfreeswan/libcrypto/libblowfish/INSTALL [deleted file]
src/libfreeswan/libcrypto/libblowfish/Makefile [deleted file]
src/libfreeswan/libcrypto/libblowfish/Makefile.ssl [deleted file]
src/libfreeswan/libcrypto/libblowfish/README [deleted file]
src/libfreeswan/libcrypto/libblowfish/VERSION [deleted file]
src/libfreeswan/libcrypto/libblowfish/asm/bf-586.pl [deleted file]
src/libfreeswan/libcrypto/libblowfish/asm/bf-686.pl [deleted file]
src/libfreeswan/libcrypto/libblowfish/asm/readme [deleted file]
src/libfreeswan/libcrypto/libblowfish/bf_enc.c [deleted file]
src/libfreeswan/libcrypto/libblowfish/bf_locl.h [deleted file]
src/libfreeswan/libcrypto/libblowfish/bf_pi.h [deleted file]
src/libfreeswan/libcrypto/libblowfish/bf_skey.c [deleted file]
src/libfreeswan/libcrypto/libblowfish/blowfish.h [deleted file]
src/libfreeswan/libcrypto/libdes/COPYRIGHT [deleted file]
src/libfreeswan/libcrypto/libdes/Makefile [deleted file]
src/libfreeswan/libcrypto/libdes/README [deleted file]
src/libfreeswan/libcrypto/libdes/README.freeswan [deleted file]
src/libfreeswan/libcrypto/libdes/VERSION [deleted file]
src/libfreeswan/libcrypto/libdes/asm/crypt586.pl [deleted file]
src/libfreeswan/libcrypto/libdes/asm/des-586.pl [deleted file]
src/libfreeswan/libcrypto/libdes/asm/des686.pl [deleted file]
src/libfreeswan/libcrypto/libdes/asm/desboth.pl [deleted file]
src/libfreeswan/libcrypto/libdes/asm/perlasm/cbc.pl [deleted file]
src/libfreeswan/libcrypto/libdes/asm/perlasm/readme [deleted file]
src/libfreeswan/libcrypto/libdes/asm/perlasm/x86asm.pl [deleted file]
src/libfreeswan/libcrypto/libdes/asm/perlasm/x86ms.pl [deleted file]
src/libfreeswan/libcrypto/libdes/asm/perlasm/x86unix.pl [deleted file]
src/libfreeswan/libcrypto/libdes/asm/readme [deleted file]
src/libfreeswan/libcrypto/libdes/cbc_enc.c [deleted file]
src/libfreeswan/libcrypto/libdes/des.doc [deleted file]
src/libfreeswan/libcrypto/libdes/des.h [deleted file]
src/libfreeswan/libcrypto/libdes/des_crypt.man [deleted file]
src/libfreeswan/libcrypto/libdes/des_enc.c [deleted file]
src/libfreeswan/libcrypto/libdes/des_locl.h [deleted file]
src/libfreeswan/libcrypto/libdes/des_opts.c [deleted file]
src/libfreeswan/libcrypto/libdes/des_ver.h [deleted file]
src/libfreeswan/libcrypto/libdes/destest.c [deleted file]
src/libfreeswan/libcrypto/libdes/dx86unix.S [deleted file]
src/libfreeswan/libcrypto/libdes/ecb_enc.c [deleted file]
src/libfreeswan/libcrypto/libdes/fcrypt.c [deleted file]
src/libfreeswan/libcrypto/libdes/fcrypt_b.c [deleted file]
src/libfreeswan/libcrypto/libdes/options.txt [deleted file]
src/libfreeswan/libcrypto/libdes/podd.h [deleted file]
src/libfreeswan/libcrypto/libdes/set_key.c [deleted file]
src/libfreeswan/libcrypto/libdes/sk.h [deleted file]
src/libfreeswan/libcrypto/libdes/speed.c [deleted file]
src/libfreeswan/libcrypto/libdes/spr.h [deleted file]
src/libfreeswan/libcrypto/libserpent/Makefile [deleted file]
src/libfreeswan/libcrypto/libserpent/serpent.c [deleted file]
src/libfreeswan/libcrypto/libserpent/serpent.h [deleted file]
src/libfreeswan/libcrypto/libserpent/serpent_cbc.c [deleted file]
src/libfreeswan/libcrypto/libserpent/serpent_cbc.h [deleted file]
src/libfreeswan/libcrypto/libserpent/test_main.c [deleted file]
src/libfreeswan/libcrypto/libsha2/Makefile [deleted file]
src/libfreeswan/libcrypto/libsha2/hmac_sha2.c [deleted file]
src/libfreeswan/libcrypto/libsha2/hmac_sha2.h [deleted file]
src/libfreeswan/libcrypto/libsha2/sha2.c [deleted file]
src/libfreeswan/libcrypto/libsha2/sha2.h [deleted file]
src/libfreeswan/libcrypto/libtwofish/Makefile [deleted file]
src/libfreeswan/libcrypto/libtwofish/test_main.c [deleted file]
src/libfreeswan/libcrypto/libtwofish/twofish.c [deleted file]
src/libfreeswan/libcrypto/libtwofish/twofish.h [deleted file]
src/libfreeswan/libcrypto/libtwofish/twofish_cbc.c [deleted file]
src/libfreeswan/libcrypto/libtwofish/twofish_cbc.h [deleted file]
src/libfreeswan/libcrypto/oldlibdes/.cvsignore [deleted file]
src/libfreeswan/libcrypto/perlasm/LICENSE [deleted file]
src/libfreeswan/libcrypto/perlasm/alpha.pl [deleted file]
src/libfreeswan/libcrypto/perlasm/cbc.pl [deleted file]
src/libfreeswan/libcrypto/perlasm/readme [deleted file]
src/libfreeswan/libcrypto/perlasm/version [deleted file]
src/libfreeswan/libcrypto/perlasm/x86asm.pl [deleted file]
src/libfreeswan/libcrypto/perlasm/x86ms.pl [deleted file]
src/libfreeswan/libcrypto/perlasm/x86nasm.pl [deleted file]
src/libfreeswan/libcrypto/perlasm/x86unix.pl [deleted file]
src/libfreeswan/libipsecpolicy/.cvsignore [deleted file]
src/libfreeswan/libipsecpolicy/Makefile [deleted file]
src/libfreeswan/libipsecpolicy/cgipolicy.c [deleted file]
src/libfreeswan/libipsecpolicy/libipsecpolicy.h [deleted file]
src/libfreeswan/libipsecpolicy/policyquery.c [deleted file]
src/libfreeswan/libipsecpolicy/version.in.c [deleted file]
src/libfreeswan/liblwres/Makefile [deleted file]
src/libfreeswan/liblwres/api [deleted file]
src/libfreeswan/liblwres/assert_p.h [deleted file]
src/libfreeswan/liblwres/async.c [deleted file]
src/libfreeswan/liblwres/config.h [deleted file]
src/libfreeswan/liblwres/context.c [deleted file]
src/libfreeswan/liblwres/context_p.h [deleted file]
src/libfreeswan/liblwres/gai_strerror.c [deleted file]
src/libfreeswan/liblwres/getaddrinfo.c [deleted file]
src/libfreeswan/liblwres/gethost.c [deleted file]
src/libfreeswan/liblwres/getipnode.c [deleted file]
src/libfreeswan/liblwres/getnameinfo.c [deleted file]
src/libfreeswan/liblwres/getrrset.c [deleted file]
src/libfreeswan/liblwres/getrrset2.c [deleted file]
src/libfreeswan/liblwres/herror.c [deleted file]
src/libfreeswan/liblwres/include/lwres/async.h [deleted file]
src/libfreeswan/liblwres/include/lwres/context.h [deleted file]
src/libfreeswan/liblwres/include/lwres/int.h [deleted file]
src/libfreeswan/liblwres/include/lwres/ipv6.h [deleted file]
src/libfreeswan/liblwres/include/lwres/lang.h [deleted file]
src/libfreeswan/liblwres/include/lwres/list.h [deleted file]
src/libfreeswan/liblwres/include/lwres/lwbuffer.h [deleted file]
src/libfreeswan/liblwres/include/lwres/lwpacket.h [deleted file]
src/libfreeswan/liblwres/include/lwres/lwres.h [deleted file]
src/libfreeswan/liblwres/include/lwres/netdb.h [deleted file]
src/libfreeswan/liblwres/include/lwres/netdb.h.in [deleted file]
src/libfreeswan/liblwres/include/lwres/platform.h [deleted file]
src/libfreeswan/liblwres/include/lwres/platform.h.in [deleted file]
src/libfreeswan/liblwres/include/lwres/result.h [deleted file]
src/libfreeswan/liblwres/lwbuffer.c [deleted file]
src/libfreeswan/liblwres/lwconfig.c [deleted file]
src/libfreeswan/liblwres/lwinetaton.c [deleted file]
src/libfreeswan/liblwres/lwinetntop.c [deleted file]
src/libfreeswan/liblwres/lwinetpton.c [deleted file]
src/libfreeswan/liblwres/lwpacket.c [deleted file]
src/libfreeswan/liblwres/lwres_gabn.c [deleted file]
src/libfreeswan/liblwres/lwres_gnba.c [deleted file]
src/libfreeswan/liblwres/lwres_grbn.c [deleted file]
src/libfreeswan/liblwres/lwres_noop.c [deleted file]
src/libfreeswan/liblwres/lwresutil.c [deleted file]
src/libfreeswan/liblwres/man/Makefile.in [deleted file]
src/libfreeswan/liblwres/man/lwres.3 [deleted file]
src/libfreeswan/liblwres/man/lwres.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres.html [deleted file]
src/libfreeswan/liblwres/man/lwres_buffer.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_buffer.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_buffer.html [deleted file]
src/libfreeswan/liblwres/man/lwres_config.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_config.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_config.html [deleted file]
src/libfreeswan/liblwres/man/lwres_context.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_context.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_context.html [deleted file]
src/libfreeswan/liblwres/man/lwres_gabn.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_gabn.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_gabn.html [deleted file]
src/libfreeswan/liblwres/man/lwres_gai_strerror.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_gai_strerror.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_gai_strerror.html [deleted file]
src/libfreeswan/liblwres/man/lwres_getaddrinfo.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_getaddrinfo.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_getaddrinfo.html [deleted file]
src/libfreeswan/liblwres/man/lwres_gethostent.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_gethostent.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_gethostent.html [deleted file]
src/libfreeswan/liblwres/man/lwres_getipnode.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_getipnode.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_getipnode.html [deleted file]
src/libfreeswan/liblwres/man/lwres_getnameinfo.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_getnameinfo.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_getnameinfo.html [deleted file]
src/libfreeswan/liblwres/man/lwres_getrrsetbyname.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_getrrsetbyname.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_getrrsetbyname.html [deleted file]
src/libfreeswan/liblwres/man/lwres_gnba.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_gnba.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_gnba.html [deleted file]
src/libfreeswan/liblwres/man/lwres_hstrerror.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_hstrerror.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_hstrerror.html [deleted file]
src/libfreeswan/liblwres/man/lwres_inetntop.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_inetntop.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_inetntop.html [deleted file]
src/libfreeswan/liblwres/man/lwres_noop.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_noop.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_noop.html [deleted file]
src/libfreeswan/liblwres/man/lwres_packet.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_packet.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_packet.html [deleted file]
src/libfreeswan/liblwres/man/lwres_resutil.3 [deleted file]
src/libfreeswan/liblwres/man/lwres_resutil.docbook [deleted file]
src/libfreeswan/liblwres/man/lwres_resutil.html [deleted file]
src/libfreeswan/liblwres/unix/include/lwres/net.h [deleted file]
src/libfreeswan/liblwres/version.c [deleted file]
src/libstrongswan/crypto/diffie_hellman.c
src/libstrongswan/crypto/rsa/rsa_private_key.c
src/libstrongswan/crypto/rsa/rsa_public_key.c
src/libstrongswan/crypto/x509.c
src/libstrongswan/utils/logger_manager.c
src/libstrongswan/utils/tester.c
src/pluto/whack.c [deleted file]
src/pluto/whack.h [deleted file]
src/whack/whack.c [new file with mode: 0644]
src/whack/whack.h [new file with mode: 0644]

index 59b4e18..790756b 100644 (file)
-# Makefile for the KLIPS interface utilities
-# Copyright (C) 1998, 1999  Henry Spencer.
-# Copyright (C) 1999, 2000, 2001  Richard Guy Briggs
-# 
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2 of the License, or (at your
-# option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
-# 
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# RCSID $Id: Makefile,v 1.8 2006/04/17 11:04:45 as Exp $
-
-FREESWANSRCDIR=..
-include ${FREESWANSRCDIR}/Makefile.inc
-
-SUBDIRS=_copyright _updown _updown_espmark ipsec starter openac scepclient pluto charon
-
-def:
-       @echo "Please read doc/intro.html or INSTALL before running make"
-       @false
-
-# programs
-
-cleanall distclean mostlyclean realclean install programs checkprograms check clean spotless install_file_list:
-       @for d in $(SUBDIRS) ; \
-       do \
-               (cd $$d && $(MAKE) FREESWANSRCDIR=$(FREESWANSRCDIR)/.. $@ ) || exit 1;\
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# src/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+srcdir = .
+top_srcdir = ..
+
+pkgdatadir = $(datadir)/strongSwan
+pkglibdir = $(libdir)/strongSwan
+pkgincludedir = $(includedir)/strongSwan
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i686-pc-linux-gnu
+host_triplet = i686-pc-linux-gnu
+subdir = src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+       html-recursive info-recursive install-data-recursive \
+       install-exec-recursive install-info-recursive \
+       install-recursive installcheck-recursive installdirs-recursive \
+       pdf-recursive ps-recursive uninstall-info-recursive \
+       uninstall-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/mwilli/strongswan/trunk/missing --run aclocal-1.9
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/mwilli/strongswan/trunk/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/mwilli/strongswan/trunk/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/mwilli/strongswan/trunk/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/mwilli/strongswan/trunk/missing --run automake-1.9
+AWK = gawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEFS = -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"strongSwan\" -DVERSION=\"4.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 
+DEPDIR = .deps
+ECHO = echo
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+F77 = 
+FFLAGS = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS = 
+MAKEINFO = ${SHELL} /home/mwilli/strongswan/trunk/missing --run makeinfo
+OBJEXT = o
+PACKAGE = strongSwan
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = 
+PACKAGE_STRING = 
+PACKAGE_TARNAME = 
+PACKAGE_VERSION = 
+PATH_SEPARATOR = :
+RANLIB = ranlib
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+VERSION = 4.0
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = 
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP = strip
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i686-pc-linux-gnu
+build_alias = 
+build_cpu = i686
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i686-pc-linux-gnu
+host_alias = 
+host_cpu = i686
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/info
+install_sh = /home/mwilli/strongswan/trunk/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr/local
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = ${prefix}/etc
+target_alias = 
+SUBDIRS = libstrongswan stroke charon whack
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+               && exit 0; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
+       cd $(top_srcdir) && \
+         $(AUTOMAKE) --gnu  src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+distclean-libtool:
+       -rm -f libtool
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+       @failcom='exit 1'; \
+       for f in x $$MAKEFLAGS; do \
+         case $$f in \
+           *=* | --[!k]*);; \
+           *k*) failcom='fail=yes';; \
+         esac; \
        done; \
+       dot_seen=no; \
+       target=`echo $@ | sed s/-recursive//`; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           dot_seen=yes; \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done; \
+       if test "$$dot_seen" = "no"; then \
+         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+       fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+       @failcom='exit 1'; \
+       for f in x $$MAKEFLAGS; do \
+         case $$f in \
+           *=* | --[!k]*);; \
+           *k*) failcom='fail=yes';; \
+         esac; \
+       done; \
+       dot_seen=no; \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       rev=''; for subdir in $$list; do \
+         if test "$$subdir" = "."; then :; else \
+           rev="$$subdir $$rev"; \
+         fi; \
+       done; \
+       rev="$$rev ."; \
+       target=`echo $@ | sed s/-recursive//`; \
+       for subdir in $$rev; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done && test -z "$$fail"
+tags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+       done
+ctags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+       done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+         include_option=--etags-include; \
+         empty_fix=.; \
+       else \
+         include_option=--include; \
+         empty_fix=; \
+       fi; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test ! -f $$subdir/TAGS || \
+             tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+         fi; \
+       done; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+           $$tags $$unique; \
+       fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       test -z "$(CTAGS_ARGS)$$tags$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$tags $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && cd $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+       list='$(DISTFILES)'; for file in $$list; do \
+         case $$file in \
+           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+           $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+         esac; \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+         if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+           dir="/$$dir"; \
+           $(mkdir_p) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
+         fi; \
+         if test -d $$d/$$file; then \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+         else \
+           test -f $(distdir)/$$file \
+           || cp -p $$d/$$file $(distdir)/$$file \
+           || exit 1; \
+         fi; \
+       done
+       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test -d "$(distdir)/$$subdir" \
+           || $(mkdir_p) "$(distdir)/$$subdir" \
+           || exit 1; \
+           distdir=`$(am__cd) $(distdir) && pwd`; \
+           top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+           (cd $$subdir && \
+             $(MAKE) $(AM_MAKEFLAGS) \
+               top_distdir="$$top_distdir" \
+               distdir="$$distdir/$$subdir" \
+               distdir) \
+             || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+         `test -z '$(STRIP)' || \
+           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool \
+       distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
+       clean clean-generic clean-libtool clean-recursive ctags \
+       ctags-recursive distclean distclean-generic distclean-libtool \
+       distclean-recursive distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-exec install-exec-am install-info \
+       install-info-am install-man install-strip installcheck \
+       installcheck-am installdirs installdirs-am maintainer-clean \
+       maintainer-clean-generic maintainer-clean-recursive \
+       mostlyclean mostlyclean-generic mostlyclean-libtool \
+       mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
+       uninstall uninstall-am uninstall-info-am
 
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
index 722d5d3..eddb91b 100644 (file)
-# Copyright (C) 2005 Jan Hutter, Martin Willi
-# Hochschule fuer Technik Rapperswil
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2 of the License, or (at your
-# option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-
-FREESWANSRCDIR=../..
-# include strongswan Makefile, if charon sits in its tree
-ifeq ($(shell ls $(FREESWANSRCDIR)/Makefile.inc 2>&1), ../../Makefile.inc)
-  include ${FREESWANSRCDIR}/Makefile.inc
-else
-# Defaults if not using strongswan defines
-  USE_LEAK_DETECTIVE?=false
-  INSTALL=install
-  INSTBINFLAGS=-b --suffix=.old
-  LIBEXECDIR=/usr/local/libexec/ipsec
-  SHAREDLIBDIR=/usr/local/lib
-endif
-
-
-BUILD_DIR= ./bin/
-
-BINNAMECHARON= $(BUILD_DIR)charon
-BINNAMESTROKE= $(BUILD_DIR)stroke
-BINNAMETEST= $(BUILD_DIR)run_tests
-BINNAMELIB=  $(BUILD_DIR)libstrongswan.so
-
-MAIN_DIR= ./
-
-CFLAGS= -Icharon -Ilib -Istroke -fPIC -Wall -Wcast-qual -Wstrict-prototypes -Wbad-function-cast -g
-ifeq ($(USE_LEAK_DETECTIVE),true)
-  CFLAGS+= -DLEAK_DETECTIVE
-endif
-
-# objects is extended by each included Makefile
-CHARON_OBJS=
-LIB_OBJS=
-TEST_OBJS=
-
-all :                                          programs
-
-include $(MAIN_DIR)charon/Makefile.charon
-include $(MAIN_DIR)lib/Makefile.lib
-include $(MAIN_DIR)stroke/Makefile.stroke
-include $(MAIN_DIR)testing/Makefile.testcases
-
-programs :                                     $(BINNAMECHARON) $(BINNAMESTROKE)
-
-test :                                         $(BINNAMETEST)
-                                                       LD_LIBRARY_PATH=$(BUILD_DIR) $(BINNAMETEST)
-
-run :                                          $(BINNAMECHARON)
-                                                       LD_LIBRARY_PATH=$(BUILD_DIR) $(BINNAMECHARON)
-
-apidoc : 
-                                                       doxygen Doxyfile
-
-build_dir:
-                                                       mkdir -p $(BUILD_DIR)
-                                                       
-$(BINNAMELIB) :                                build_dir $(LIB_OBJS)
-                                                       $(CC) -lpthread -ldl -lgmp -shared $(LIB_OBJS) -o $@
-
-$(BINNAMECHARON) :                     build_dir $(CHARON_OBJS) $(BINNAMELIB) $(BUILD_DIR)daemon.o
-                                                       $(CC) -L./bin -lstrongswan $(CHARON_OBJS) $(BUILD_DIR)daemon.o -o $@
-
-$(BINNAMETEST) :                       build_dir $(CHARON_OBJS) $(TEST_OBJS) $(BINNAMELIB) $(BUILD_DIR)testcases.o
-                                                       $(CC) -L./bin -lstrongswan  $(LDFLAGS) $(CHARON_OBJS) $(TEST_OBJS) $(BUILD_DIR)testcases.o -o $@
-
-$(BINNAMESTROKE) :                     build_dir $(BINNAMELIB) $(BUILD_DIR)stroke.o
-                                                       $(CC) $(LDFLAGS) $(CFLAGS) $(BUILD_DIR)stroke.o -o $@
-
-install :                                      $(BINNAMECHARON) $(BINNAMESTROKE)
-                                                       $(INSTALL) $(INSTBINFLAGS) $(BINNAMECHARON) $(BINNAMESTROKE) $(LIBEXECDIR)
-                                                       $(INSTALL) $(INSTBINFLAGS) $(BINNAMELIB) $(SHAREDLIBDIR)
-                               
-install_file_list:
-                                                       @echo $(LIBEXECDIR)/charon
-                                                       @echo $(LIBEXECDIR)/stroke
-                                                       @echo $(SHAREDLIBDIR)/libstrongswan.so
-
-clean :                
-                                                       rm -fR $(BUILD_DIR)
-                               
-cleanall: clean
-
-distclean: clean
-
-mostlyclean: clean
-
-realclean: clean
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# src/charon/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+srcdir = .
+top_srcdir = ../..
+
+pkgdatadir = $(datadir)/strongSwan
+pkglibdir = $(libdir)/strongSwan
+pkgincludedir = $(includedir)/strongSwan
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i686-pc-linux-gnu
+host_triplet = i686-pc-linux-gnu
+bin_PROGRAMS = charon$(EXEEXT)
+subdir = src/charon
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_charon_OBJECTS = connection.$(OBJEXT) \
+       local_connection_store.$(OBJEXT) policy.$(OBJEXT) \
+       local_policy_store.$(OBJEXT) local_credential_store.$(OBJEXT) \
+       traffic_selector.$(OBJEXT) proposal.$(OBJEXT) \
+       configuration.$(OBJEXT) ike_sa_init_requested.$(OBJEXT) \
+       state.$(OBJEXT) ike_sa_init_responded.$(OBJEXT) \
+       ike_sa_established.$(OBJEXT) responder_init.$(OBJEXT) \
+       initiator_init.$(OBJEXT) ike_auth_requested.$(OBJEXT) \
+       child_sa.$(OBJEXT) ike_sa_manager.$(OBJEXT) \
+       ike_sa_id.$(OBJEXT) authenticator.$(OBJEXT) ike_sa.$(OBJEXT) \
+       encryption_payload.$(OBJEXT) cert_payload.$(OBJEXT) \
+       traffic_selector_substructure.$(OBJEXT) \
+       transform_attribute.$(OBJEXT) \
+       configuration_attribute.$(OBJEXT) \
+       transform_substructure.$(OBJEXT) auth_payload.$(OBJEXT) \
+       ike_header.$(OBJEXT) nonce_payload.$(OBJEXT) \
+       eap_payload.$(OBJEXT) ts_payload.$(OBJEXT) \
+       notify_payload.$(OBJEXT) id_payload.$(OBJEXT) \
+       ke_payload.$(OBJEXT) unknown_payload.$(OBJEXT) \
+       encodings.$(OBJEXT) cp_payload.$(OBJEXT) \
+       delete_payload.$(OBJEXT) sa_payload.$(OBJEXT) \
+       certreq_payload.$(OBJEXT) vendor_id_payload.$(OBJEXT) \
+       proposal_substructure.$(OBJEXT) payload.$(OBJEXT) \
+       message.$(OBJEXT) generator.$(OBJEXT) parser.$(OBJEXT) \
+       daemon.$(OBJEXT) packet.$(OBJEXT) socket.$(OBJEXT) \
+       job.$(OBJEXT) delete_established_ike_sa_job.$(OBJEXT) \
+       incoming_packet_job.$(OBJEXT) \
+       delete_half_open_ike_sa_job.$(OBJEXT) \
+       retransmit_request_job.$(OBJEXT) initiate_ike_sa_job.$(OBJEXT) \
+       job_queue.$(OBJEXT) event_queue.$(OBJEXT) send_queue.$(OBJEXT) \
+       kernel_interface.$(OBJEXT) thread_pool.$(OBJEXT) \
+       scheduler.$(OBJEXT) sender.$(OBJEXT) receiver.$(OBJEXT) \
+       stroke_interface.$(OBJEXT)
+charon_OBJECTS = $(am_charon_OBJECTS)
+charon_LDADD = $(LDADD)
+charon_DEPENDENCIES =  \
+       $(top_builddir)/src/libstrongswan/libstrongswan.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+       $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+       $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(charon_SOURCES)
+DIST_SOURCES = $(charon_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/mwilli/strongswan/trunk/missing --run aclocal-1.9
+AMDEP_FALSE = #
+AMDEP_TRUE = 
+AMTAR = ${SHELL} /home/mwilli/strongswan/trunk/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/mwilli/strongswan/trunk/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/mwilli/strongswan/trunk/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/mwilli/strongswan/trunk/missing --run automake-1.9
+AWK = gawk
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS = 
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEFS = -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"strongSwan\" -DVERSION=\"4.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 
+DEPDIR = .deps
+ECHO = echo
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = grep -E
+EXEEXT = 
+F77 = 
+FFLAGS = 
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LDFLAGS = 
+LIBOBJS = 
+LIBS = 
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LN_S = ln -s
+LTLIBOBJS = 
+MAKEINFO = ${SHELL} /home/mwilli/strongswan/trunk/missing --run makeinfo
+OBJEXT = o
+PACKAGE = strongSwan
+PACKAGE_BUGREPORT = 
+PACKAGE_NAME = 
+PACKAGE_STRING = 
+PACKAGE_TARNAME = 
+PACKAGE_VERSION = 
+PATH_SEPARATOR = :
+RANLIB = ranlib
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = strip
+VERSION = 4.0
+ac_ct_AR = ar
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_F77 = 
+ac_ct_RANLIB = ranlib
+ac_ct_STRIP = strip
+am__fastdepCC_FALSE = #
+am__fastdepCC_TRUE = 
+am__fastdepCXX_FALSE = #
+am__fastdepCXX_TRUE = 
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i686-pc-linux-gnu
+build_alias = 
+build_cpu = i686
+build_os = linux-gnu
+build_vendor = pc
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host = i686-pc-linux-gnu
+host_alias = 
+host_cpu = i686
+host_os = linux-gnu
+host_vendor = pc
+includedir = ${prefix}/include
+infodir = ${prefix}/info
+install_sh = /home/mwilli/strongswan/trunk/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /usr/local
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = ${prefix}/etc
+target_alias = 
+charon_SOURCES = \
+config/connections/connection.c \
+config/connections/local_connection_store.c \
+config/policies/policy.c \
+config/policies/local_policy_store.c \
+config/credentials/local_credential_store.c \
+config/traffic_selector.c \
+config/proposal.c \
+config/configuration.c \
+sa/states/ike_sa_init_requested.c \
+sa/states/state.c \
+sa/states/ike_sa_init_responded.c \
+sa/states/ike_sa_established.c \
+sa/states/responder_init.c \
+sa/states/initiator_init.c \
+sa/states/ike_auth_requested.c \
+sa/child_sa.c \
+sa/ike_sa_manager.c \
+sa/ike_sa_id.c \
+sa/authenticator.c \
+sa/ike_sa.c \
+encoding/payloads/encryption_payload.c \
+encoding/payloads/cert_payload.c \
+encoding/payloads/traffic_selector_substructure.c \
+encoding/payloads/transform_attribute.c \
+encoding/payloads/configuration_attribute.c \
+encoding/payloads/transform_substructure.c \
+encoding/payloads/auth_payload.c \
+encoding/payloads/ike_header.c \
+encoding/payloads/nonce_payload.c \
+encoding/payloads/eap_payload.c \
+encoding/payloads/ts_payload.c \
+encoding/payloads/notify_payload.c \
+encoding/payloads/id_payload.c \
+encoding/payloads/ke_payload.c \
+encoding/payloads/unknown_payload.c \
+encoding/payloads/encodings.c \
+encoding/payloads/cp_payload.c \
+encoding/payloads/delete_payload.c \
+encoding/payloads/sa_payload.c \
+encoding/payloads/certreq_payload.c \
+encoding/payloads/vendor_id_payload.c \
+encoding/payloads/proposal_substructure.c \
+encoding/payloads/payload.c \
+encoding/message.c \
+encoding/generator.c \
+encoding/parser.c \
+daemon.c \
+network/packet.c \
+network/socket.c \
+queues/jobs/job.c \
+queues/jobs/delete_established_ike_sa_job.c \
+queues/jobs/incoming_packet_job.c \
+queues/jobs/delete_half_open_ike_sa_job.c \
+queues/jobs/retransmit_request_job.c \
+queues/jobs/initiate_ike_sa_job.c \
+queues/job_queue.c \
+queues/event_queue.c \
+queues/send_queue.c \
+threads/kernel_interface.c \
+threads/thread_pool.c \
+threads/scheduler.c \
+threads/sender.c \
+threads/receiver.c \
+threads/stroke_interface.c
+
+INCLUDES = -I$(top_srcdir)/src/libstrongswan -I$(top_srcdir)/src/charon -I$(top_srcdir)/src/stroke
+LDADD = $(top_builddir)/src/libstrongswan/libstrongswan.la -lgmp -lpthread
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+               && exit 0; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/charon/Makefile'; \
+       cd $(top_srcdir) && \
+         $(AUTOMAKE) --gnu  src/charon/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binPROGRAMS: $(bin_PROGRAMS)
+       @$(NORMAL_INSTALL)
+       test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+       @list='$(bin_PROGRAMS)'; for p in $$list; do \
+         p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+         if test -f $$p \
+            || test -f $$p1 \
+         ; then \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+          $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+         else :; fi; \
+       done
+
+uninstall-binPROGRAMS:
+       @$(NORMAL_UNINSTALL)
+       @list='$(bin_PROGRAMS)'; for p in $$list; do \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+         rm -f "$(DESTDIR)$(bindir)/$$f"; \
+       done
+
+clean-binPROGRAMS:
+       @list='$(bin_PROGRAMS)'; for p in $$list; do \
+         f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+         echo " rm -f $$p $$f"; \
+         rm -f $$p $$f ; \
+       done
+charon$(EXEEXT): $(charon_OBJECTS) $(charon_DEPENDENCIES) 
+       @rm -f charon$(EXEEXT)
+       $(LINK) $(charon_LDFLAGS) $(charon_OBJECTS) $(charon_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+include ./$(DEPDIR)/auth_payload.Po
+include ./$(DEPDIR)/authenticator.Po
+include ./$(DEPDIR)/cert_payload.Po
+include ./$(DEPDIR)/certreq_payload.Po
+include ./$(DEPDIR)/child_sa.Po
+include ./$(DEPDIR)/configuration.Po
+include ./$(DEPDIR)/configuration_attribute.Po
+include ./$(DEPDIR)/connection.Po
+include ./$(DEPDIR)/cp_payload.Po
+include ./$(DEPDIR)/daemon.Po
+include ./$(DEPDIR)/delete_established_ike_sa_job.Po
+include ./$(DEPDIR)/delete_half_open_ike_sa_job.Po
+include ./$(DEPDIR)/delete_payload.Po
+include ./$(DEPDIR)/eap_payload.Po
+include ./$(DEPDIR)/encodings.Po
+include ./$(DEPDIR)/encryption_payload.Po
+include ./$(DEPDIR)/event_queue.Po
+include ./$(DEPDIR)/generator.Po
+include ./$(DEPDIR)/id_payload.Po
+include ./$(DEPDIR)/ike_auth_requested.Po
+include ./$(DEPDIR)/ike_header.Po
+include ./$(DEPDIR)/ike_sa.Po
+include ./$(DEPDIR)/ike_sa_established.Po
+include ./$(DEPDIR)/ike_sa_id.Po
+include ./$(DEPDIR)/ike_sa_init_requested.Po
+include ./$(DEPDIR)/ike_sa_init_responded.Po
+include ./$(DEPDIR)/ike_sa_manager.Po
+include ./$(DEPDIR)/incoming_packet_job.Po
+include ./$(DEPDIR)/initiate_ike_sa_job.Po
+include ./$(DEPDIR)/initiator_init.Po
+include ./$(DEPDIR)/job.Po
+include ./$(DEPDIR)/job_queue.Po
+include ./$(DEPDIR)/ke_payload.Po
+include ./$(DEPDIR)/kernel_interface.Po
+include ./$(DEPDIR)/local_connection_store.Po
+include ./$(DEPDIR)/local_credential_store.Po
+include ./$(DEPDIR)/local_policy_store.Po
+include ./$(DEPDIR)/message.Po
+include ./$(DEPDIR)/nonce_payload.Po
+include ./$(DEPDIR)/notify_payload.Po
+include ./$(DEPDIR)/packet.Po
+include ./$(DEPDIR)/parser.Po
+include ./$(DEPDIR)/payload.Po
+include ./$(DEPDIR)/policy.Po
+include ./$(DEPDIR)/proposal.Po
+include ./$(DEPDIR)/proposal_substructure.Po
+include ./$(DEPDIR)/receiver.Po
+include ./$(DEPDIR)/responder_init.Po
+include ./$(DEPDIR)/retransmit_request_job.Po
+include ./$(DEPDIR)/sa_payload.Po
+include ./$(DEPDIR)/scheduler.Po
+include ./$(DEPDIR)/send_queue.Po
+include ./$(DEPDIR)/sender.Po
+include ./$(DEPDIR)/socket.Po
+include ./$(DEPDIR)/state.Po
+include ./$(DEPDIR)/stroke_interface.Po
+include ./$(DEPDIR)/thread_pool.Po
+include ./$(DEPDIR)/traffic_selector.Po
+include ./$(DEPDIR)/traffic_selector_substructure.Po
+include ./$(DEPDIR)/transform_attribute.Po
+include ./$(DEPDIR)/transform_substructure.Po
+include ./$(DEPDIR)/ts_payload.Po
+include ./$(DEPDIR)/unknown_payload.Po
+include ./$(DEPDIR)/vendor_id_payload.Po
+
+.c.o:
+       if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+       then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#      source='$<' object='$@' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(COMPILE) -c $<
+
+.c.obj:
+       if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+       then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#      source='$<' object='$@' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+       if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+       then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+#      source='$<' object='$@' libtool=yes \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(LTCOMPILE) -c -o $@ $<
+
+connection.o: config/connections/connection.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT connection.o -MD -MP -MF "$(DEPDIR)/connection.Tpo" -c -o connection.o `test -f 'config/connections/connection.c' || echo '$(srcdir)/'`config/connections/connection.c; \
+       then mv -f "$(DEPDIR)/connection.Tpo" "$(DEPDIR)/connection.Po"; else rm -f "$(DEPDIR)/connection.Tpo"; exit 1; fi
+#      source='config/connections/connection.c' object='connection.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o connection.o `test -f 'config/connections/connection.c' || echo '$(srcdir)/'`config/connections/connection.c
+
+connection.obj: config/connections/connection.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT connection.obj -MD -MP -MF "$(DEPDIR)/connection.Tpo" -c -o connection.obj `if test -f 'config/connections/connection.c'; then $(CYGPATH_W) 'config/connections/connection.c'; else $(CYGPATH_W) '$(srcdir)/config/connections/connection.c'; fi`; \
+       then mv -f "$(DEPDIR)/connection.Tpo" "$(DEPDIR)/connection.Po"; else rm -f "$(DEPDIR)/connection.Tpo"; exit 1; fi
+#      source='config/connections/connection.c' object='connection.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o connection.obj `if test -f 'config/connections/connection.c'; then $(CYGPATH_W) 'config/connections/connection.c'; else $(CYGPATH_W) '$(srcdir)/config/connections/connection.c'; fi`
+
+local_connection_store.o: config/connections/local_connection_store.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT local_connection_store.o -MD -MP -MF "$(DEPDIR)/local_connection_store.Tpo" -c -o local_connection_store.o `test -f 'config/connections/local_connection_store.c' || echo '$(srcdir)/'`config/connections/local_connection_store.c; \
+       then mv -f "$(DEPDIR)/local_connection_store.Tpo" "$(DEPDIR)/local_connection_store.Po"; else rm -f "$(DEPDIR)/local_connection_store.Tpo"; exit 1; fi
+#      source='config/connections/local_connection_store.c' object='local_connection_store.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o local_connection_store.o `test -f 'config/connections/local_connection_store.c' || echo '$(srcdir)/'`config/connections/local_connection_store.c
+
+local_connection_store.obj: config/connections/local_connection_store.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT local_connection_store.obj -MD -MP -MF "$(DEPDIR)/local_connection_store.Tpo" -c -o local_connection_store.obj `if test -f 'config/connections/local_connection_store.c'; then $(CYGPATH_W) 'config/connections/local_connection_store.c'; else $(CYGPATH_W) '$(srcdir)/config/connections/local_connection_store.c'; fi`; \
+       then mv -f "$(DEPDIR)/local_connection_store.Tpo" "$(DEPDIR)/local_connection_store.Po"; else rm -f "$(DEPDIR)/local_connection_store.Tpo"; exit 1; fi
+#      source='config/connections/local_connection_store.c' object='local_connection_store.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o local_connection_store.obj `if test -f 'config/connections/local_connection_store.c'; then $(CYGPATH_W) 'config/connections/local_connection_store.c'; else $(CYGPATH_W) '$(srcdir)/config/connections/local_connection_store.c'; fi`
+
+policy.o: config/policies/policy.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT policy.o -MD -MP -MF "$(DEPDIR)/policy.Tpo" -c -o policy.o `test -f 'config/policies/policy.c' || echo '$(srcdir)/'`config/policies/policy.c; \
+       then mv -f "$(DEPDIR)/policy.Tpo" "$(DEPDIR)/policy.Po"; else rm -f "$(DEPDIR)/policy.Tpo"; exit 1; fi
+#      source='config/policies/policy.c' object='policy.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o policy.o `test -f 'config/policies/policy.c' || echo '$(srcdir)/'`config/policies/policy.c
+
+policy.obj: config/policies/policy.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT policy.obj -MD -MP -MF "$(DEPDIR)/policy.Tpo" -c -o policy.obj `if test -f 'config/policies/policy.c'; then $(CYGPATH_W) 'config/policies/policy.c'; else $(CYGPATH_W) '$(srcdir)/config/policies/policy.c'; fi`; \
+       then mv -f "$(DEPDIR)/policy.Tpo" "$(DEPDIR)/policy.Po"; else rm -f "$(DEPDIR)/policy.Tpo"; exit 1; fi
+#      source='config/policies/policy.c' object='policy.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o policy.obj `if test -f 'config/policies/policy.c'; then $(CYGPATH_W) 'config/policies/policy.c'; else $(CYGPATH_W) '$(srcdir)/config/policies/policy.c'; fi`
+
+local_policy_store.o: config/policies/local_policy_store.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT local_policy_store.o -MD -MP -MF "$(DEPDIR)/local_policy_store.Tpo" -c -o local_policy_store.o `test -f 'config/policies/local_policy_store.c' || echo '$(srcdir)/'`config/policies/local_policy_store.c; \
+       then mv -f "$(DEPDIR)/local_policy_store.Tpo" "$(DEPDIR)/local_policy_store.Po"; else rm -f "$(DEPDIR)/local_policy_store.Tpo"; exit 1; fi
+#      source='config/policies/local_policy_store.c' object='local_policy_store.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o local_policy_store.o `test -f 'config/policies/local_policy_store.c' || echo '$(srcdir)/'`config/policies/local_policy_store.c
+
+local_policy_store.obj: config/policies/local_policy_store.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT local_policy_store.obj -MD -MP -MF "$(DEPDIR)/local_policy_store.Tpo" -c -o local_policy_store.obj `if test -f 'config/policies/local_policy_store.c'; then $(CYGPATH_W) 'config/policies/local_policy_store.c'; else $(CYGPATH_W) '$(srcdir)/config/policies/local_policy_store.c'; fi`; \
+       then mv -f "$(DEPDIR)/local_policy_store.Tpo" "$(DEPDIR)/local_policy_store.Po"; else rm -f "$(DEPDIR)/local_policy_store.Tpo"; exit 1; fi
+#      source='config/policies/local_policy_store.c' object='local_policy_store.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o local_policy_store.obj `if test -f 'config/policies/local_policy_store.c'; then $(CYGPATH_W) 'config/policies/local_policy_store.c'; else $(CYGPATH_W) '$(srcdir)/config/policies/local_policy_store.c'; fi`
+
+local_credential_store.o: config/credentials/local_credential_store.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT local_credential_store.o -MD -MP -MF "$(DEPDIR)/local_credential_store.Tpo" -c -o local_credential_store.o `test -f 'config/credentials/local_credential_store.c' || echo '$(srcdir)/'`config/credentials/local_credential_store.c; \
+       then mv -f "$(DEPDIR)/local_credential_store.Tpo" "$(DEPDIR)/local_credential_store.Po"; else rm -f "$(DEPDIR)/local_credential_store.Tpo"; exit 1; fi
+#      source='config/credentials/local_credential_store.c' object='local_credential_store.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o local_credential_store.o `test -f 'config/credentials/local_credential_store.c' || echo '$(srcdir)/'`config/credentials/local_credential_store.c
+
+local_credential_store.obj: config/credentials/local_credential_store.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT local_credential_store.obj -MD -MP -MF "$(DEPDIR)/local_credential_store.Tpo" -c -o local_credential_store.obj `if test -f 'config/credentials/local_credential_store.c'; then $(CYGPATH_W) 'config/credentials/local_credential_store.c'; else $(CYGPATH_W) '$(srcdir)/config/credentials/local_credential_store.c'; fi`; \
+       then mv -f "$(DEPDIR)/local_credential_store.Tpo" "$(DEPDIR)/local_credential_store.Po"; else rm -f "$(DEPDIR)/local_credential_store.Tpo"; exit 1; fi
+#      source='config/credentials/local_credential_store.c' object='local_credential_store.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o local_credential_store.obj `if test -f 'config/credentials/local_credential_store.c'; then $(CYGPATH_W) 'config/credentials/local_credential_store.c'; else $(CYGPATH_W) '$(srcdir)/config/credentials/local_credential_store.c'; fi`
+
+traffic_selector.o: config/traffic_selector.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT traffic_selector.o -MD -MP -MF "$(DEPDIR)/traffic_selector.Tpo" -c -o traffic_selector.o `test -f 'config/traffic_selector.c' || echo '$(srcdir)/'`config/traffic_selector.c; \
+       then mv -f "$(DEPDIR)/traffic_selector.Tpo" "$(DEPDIR)/traffic_selector.Po"; else rm -f "$(DEPDIR)/traffic_selector.Tpo"; exit 1; fi
+#      source='config/traffic_selector.c' object='traffic_selector.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o traffic_selector.o `test -f 'config/traffic_selector.c' || echo '$(srcdir)/'`config/traffic_selector.c
+
+traffic_selector.obj: config/traffic_selector.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT traffic_selector.obj -MD -MP -MF "$(DEPDIR)/traffic_selector.Tpo" -c -o traffic_selector.obj `if test -f 'config/traffic_selector.c'; then $(CYGPATH_W) 'config/traffic_selector.c'; else $(CYGPATH_W) '$(srcdir)/config/traffic_selector.c'; fi`; \
+       then mv -f "$(DEPDIR)/traffic_selector.Tpo" "$(DEPDIR)/traffic_selector.Po"; else rm -f "$(DEPDIR)/traffic_selector.Tpo"; exit 1; fi
+#      source='config/traffic_selector.c' object='traffic_selector.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o traffic_selector.obj `if test -f 'config/traffic_selector.c'; then $(CYGPATH_W) 'config/traffic_selector.c'; else $(CYGPATH_W) '$(srcdir)/config/traffic_selector.c'; fi`
+
+proposal.o: config/proposal.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT proposal.o -MD -MP -MF "$(DEPDIR)/proposal.Tpo" -c -o proposal.o `test -f 'config/proposal.c' || echo '$(srcdir)/'`config/proposal.c; \
+       then mv -f "$(DEPDIR)/proposal.Tpo" "$(DEPDIR)/proposal.Po"; else rm -f "$(DEPDIR)/proposal.Tpo"; exit 1; fi
+#      source='config/proposal.c' object='proposal.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o proposal.o `test -f 'config/proposal.c' || echo '$(srcdir)/'`config/proposal.c
+
+proposal.obj: config/proposal.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT proposal.obj -MD -MP -MF "$(DEPDIR)/proposal.Tpo" -c -o proposal.obj `if test -f 'config/proposal.c'; then $(CYGPATH_W) 'config/proposal.c'; else $(CYGPATH_W) '$(srcdir)/config/proposal.c'; fi`; \
+       then mv -f "$(DEPDIR)/proposal.Tpo" "$(DEPDIR)/proposal.Po"; else rm -f "$(DEPDIR)/proposal.Tpo"; exit 1; fi
+#      source='config/proposal.c' object='proposal.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o proposal.obj `if test -f 'config/proposal.c'; then $(CYGPATH_W) 'config/proposal.c'; else $(CYGPATH_W) '$(srcdir)/config/proposal.c'; fi`
+
+configuration.o: config/configuration.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT configuration.o -MD -MP -MF "$(DEPDIR)/configuration.Tpo" -c -o configuration.o `test -f 'config/configuration.c' || echo '$(srcdir)/'`config/configuration.c; \
+       then mv -f "$(DEPDIR)/configuration.Tpo" "$(DEPDIR)/configuration.Po"; else rm -f "$(DEPDIR)/configuration.Tpo"; exit 1; fi
+#      source='config/configuration.c' object='configuration.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o configuration.o `test -f 'config/configuration.c' || echo '$(srcdir)/'`config/configuration.c
+
+configuration.obj: config/configuration.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT configuration.obj -MD -MP -MF "$(DEPDIR)/configuration.Tpo" -c -o configuration.obj `if test -f 'config/configuration.c'; then $(CYGPATH_W) 'config/configuration.c'; else $(CYGPATH_W) '$(srcdir)/config/configuration.c'; fi`; \
+       then mv -f "$(DEPDIR)/configuration.Tpo" "$(DEPDIR)/configuration.Po"; else rm -f "$(DEPDIR)/configuration.Tpo"; exit 1; fi
+#      source='config/configuration.c' object='configuration.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o configuration.obj `if test -f 'config/configuration.c'; then $(CYGPATH_W) 'config/configuration.c'; else $(CYGPATH_W) '$(srcdir)/config/configuration.c'; fi`
+
+ike_sa_init_requested.o: sa/states/ike_sa_init_requested.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_sa_init_requested.o -MD -MP -MF "$(DEPDIR)/ike_sa_init_requested.Tpo" -c -o ike_sa_init_requested.o `test -f 'sa/states/ike_sa_init_requested.c' || echo '$(srcdir)/'`sa/states/ike_sa_init_requested.c; \
+       then mv -f "$(DEPDIR)/ike_sa_init_requested.Tpo" "$(DEPDIR)/ike_sa_init_requested.Po"; else rm -f "$(DEPDIR)/ike_sa_init_requested.Tpo"; exit 1; fi
+#      source='sa/states/ike_sa_init_requested.c' object='ike_sa_init_requested.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_sa_init_requested.o `test -f 'sa/states/ike_sa_init_requested.c' || echo '$(srcdir)/'`sa/states/ike_sa_init_requested.c
+
+ike_sa_init_requested.obj: sa/states/ike_sa_init_requested.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_sa_init_requested.obj -MD -MP -MF "$(DEPDIR)/ike_sa_init_requested.Tpo" -c -o ike_sa_init_requested.obj `if test -f 'sa/states/ike_sa_init_requested.c'; then $(CYGPATH_W) 'sa/states/ike_sa_init_requested.c'; else $(CYGPATH_W) '$(srcdir)/sa/states/ike_sa_init_requested.c'; fi`; \
+       then mv -f "$(DEPDIR)/ike_sa_init_requested.Tpo" "$(DEPDIR)/ike_sa_init_requested.Po"; else rm -f "$(DEPDIR)/ike_sa_init_requested.Tpo"; exit 1; fi
+#      source='sa/states/ike_sa_init_requested.c' object='ike_sa_init_requested.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_sa_init_requested.obj `if test -f 'sa/states/ike_sa_init_requested.c'; then $(CYGPATH_W) 'sa/states/ike_sa_init_requested.c'; else $(CYGPATH_W) '$(srcdir)/sa/states/ike_sa_init_requested.c'; fi`
+
+state.o: sa/states/state.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT state.o -MD -MP -MF "$(DEPDIR)/state.Tpo" -c -o state.o `test -f 'sa/states/state.c' || echo '$(srcdir)/'`sa/states/state.c; \
+       then mv -f "$(DEPDIR)/state.Tpo" "$(DEPDIR)/state.Po"; else rm -f "$(DEPDIR)/state.Tpo"; exit 1; fi
+#      source='sa/states/state.c' object='state.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o state.o `test -f 'sa/states/state.c' || echo '$(srcdir)/'`sa/states/state.c
+
+state.obj: sa/states/state.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT state.obj -MD -MP -MF "$(DEPDIR)/state.Tpo" -c -o state.obj `if test -f 'sa/states/state.c'; then $(CYGPATH_W) 'sa/states/state.c'; else $(CYGPATH_W) '$(srcdir)/sa/states/state.c'; fi`; \
+       then mv -f "$(DEPDIR)/state.Tpo" "$(DEPDIR)/state.Po"; else rm -f "$(DEPDIR)/state.Tpo"; exit 1; fi
+#      source='sa/states/state.c' object='state.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o state.obj `if test -f 'sa/states/state.c'; then $(CYGPATH_W) 'sa/states/state.c'; else $(CYGPATH_W) '$(srcdir)/sa/states/state.c'; fi`
+
+ike_sa_init_responded.o: sa/states/ike_sa_init_responded.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_sa_init_responded.o -MD -MP -MF "$(DEPDIR)/ike_sa_init_responded.Tpo" -c -o ike_sa_init_responded.o `test -f 'sa/states/ike_sa_init_responded.c' || echo '$(srcdir)/'`sa/states/ike_sa_init_responded.c; \
+       then mv -f "$(DEPDIR)/ike_sa_init_responded.Tpo" "$(DEPDIR)/ike_sa_init_responded.Po"; else rm -f "$(DEPDIR)/ike_sa_init_responded.Tpo"; exit 1; fi
+#      source='sa/states/ike_sa_init_responded.c' object='ike_sa_init_responded.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_sa_init_responded.o `test -f 'sa/states/ike_sa_init_responded.c' || echo '$(srcdir)/'`sa/states/ike_sa_init_responded.c
+
+ike_sa_init_responded.obj: sa/states/ike_sa_init_responded.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_sa_init_responded.obj -MD -MP -MF "$(DEPDIR)/ike_sa_init_responded.Tpo" -c -o ike_sa_init_responded.obj `if test -f 'sa/states/ike_sa_init_responded.c'; then $(CYGPATH_W) 'sa/states/ike_sa_init_responded.c'; else $(CYGPATH_W) '$(srcdir)/sa/states/ike_sa_init_responded.c'; fi`; \
+       then mv -f "$(DEPDIR)/ike_sa_init_responded.Tpo" "$(DEPDIR)/ike_sa_init_responded.Po"; else rm -f "$(DEPDIR)/ike_sa_init_responded.Tpo"; exit 1; fi
+#      source='sa/states/ike_sa_init_responded.c' object='ike_sa_init_responded.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_sa_init_responded.obj `if test -f 'sa/states/ike_sa_init_responded.c'; then $(CYGPATH_W) 'sa/states/ike_sa_init_responded.c'; else $(CYGPATH_W) '$(srcdir)/sa/states/ike_sa_init_responded.c'; fi`
+
+ike_sa_established.o: sa/states/ike_sa_established.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_sa_established.o -MD -MP -MF "$(DEPDIR)/ike_sa_established.Tpo" -c -o ike_sa_established.o `test -f 'sa/states/ike_sa_established.c' || echo '$(srcdir)/'`sa/states/ike_sa_established.c; \
+       then mv -f "$(DEPDIR)/ike_sa_established.Tpo" "$(DEPDIR)/ike_sa_established.Po"; else rm -f "$(DEPDIR)/ike_sa_established.Tpo"; exit 1; fi
+#      source='sa/states/ike_sa_established.c' object='ike_sa_established.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_sa_established.o `test -f 'sa/states/ike_sa_established.c' || echo '$(srcdir)/'`sa/states/ike_sa_established.c
+
+ike_sa_established.obj: sa/states/ike_sa_established.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_sa_established.obj -MD -MP -MF "$(DEPDIR)/ike_sa_established.Tpo" -c -o ike_sa_established.obj `if test -f 'sa/states/ike_sa_established.c'; then $(CYGPATH_W) 'sa/states/ike_sa_established.c'; else $(CYGPATH_W) '$(srcdir)/sa/states/ike_sa_established.c'; fi`; \
+       then mv -f "$(DEPDIR)/ike_sa_established.Tpo" "$(DEPDIR)/ike_sa_established.Po"; else rm -f "$(DEPDIR)/ike_sa_established.Tpo"; exit 1; fi
+#      source='sa/states/ike_sa_established.c' object='ike_sa_established.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_sa_established.obj `if test -f 'sa/states/ike_sa_established.c'; then $(CYGPATH_W) 'sa/states/ike_sa_established.c'; else $(CYGPATH_W) '$(srcdir)/sa/states/ike_sa_established.c'; fi`
+
+responder_init.o: sa/states/responder_init.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT responder_init.o -MD -MP -MF "$(DEPDIR)/responder_init.Tpo" -c -o responder_init.o `test -f 'sa/states/responder_init.c' || echo '$(srcdir)/'`sa/states/responder_init.c; \
+       then mv -f "$(DEPDIR)/responder_init.Tpo" "$(DEPDIR)/responder_init.Po"; else rm -f "$(DEPDIR)/responder_init.Tpo"; exit 1; fi
+#      source='sa/states/responder_init.c' object='responder_init.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o responder_init.o `test -f 'sa/states/responder_init.c' || echo '$(srcdir)/'`sa/states/responder_init.c
+
+responder_init.obj: sa/states/responder_init.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT responder_init.obj -MD -MP -MF "$(DEPDIR)/responder_init.Tpo" -c -o responder_init.obj `if test -f 'sa/states/responder_init.c'; then $(CYGPATH_W) 'sa/states/responder_init.c'; else $(CYGPATH_W) '$(srcdir)/sa/states/responder_init.c'; fi`; \
+       then mv -f "$(DEPDIR)/responder_init.Tpo" "$(DEPDIR)/responder_init.Po"; else rm -f "$(DEPDIR)/responder_init.Tpo"; exit 1; fi
+#      source='sa/states/responder_init.c' object='responder_init.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o responder_init.obj `if test -f 'sa/states/responder_init.c'; then $(CYGPATH_W) 'sa/states/responder_init.c'; else $(CYGPATH_W) '$(srcdir)/sa/states/responder_init.c'; fi`
+
+initiator_init.o: sa/states/initiator_init.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT initiator_init.o -MD -MP -MF "$(DEPDIR)/initiator_init.Tpo" -c -o initiator_init.o `test -f 'sa/states/initiator_init.c' || echo '$(srcdir)/'`sa/states/initiator_init.c; \
+       then mv -f "$(DEPDIR)/initiator_init.Tpo" "$(DEPDIR)/initiator_init.Po"; else rm -f "$(DEPDIR)/initiator_init.Tpo"; exit 1; fi
+#      source='sa/states/initiator_init.c' object='initiator_init.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o initiator_init.o `test -f 'sa/states/initiator_init.c' || echo '$(srcdir)/'`sa/states/initiator_init.c
+
+initiator_init.obj: sa/states/initiator_init.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT initiator_init.obj -MD -MP -MF "$(DEPDIR)/initiator_init.Tpo" -c -o initiator_init.obj `if test -f 'sa/states/initiator_init.c'; then $(CYGPATH_W) 'sa/states/initiator_init.c'; else $(CYGPATH_W) '$(srcdir)/sa/states/initiator_init.c'; fi`; \
+       then mv -f "$(DEPDIR)/initiator_init.Tpo" "$(DEPDIR)/initiator_init.Po"; else rm -f "$(DEPDIR)/initiator_init.Tpo"; exit 1; fi
+#      source='sa/states/initiator_init.c' object='initiator_init.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o initiator_init.obj `if test -f 'sa/states/initiator_init.c'; then $(CYGPATH_W) 'sa/states/initiator_init.c'; else $(CYGPATH_W) '$(srcdir)/sa/states/initiator_init.c'; fi`
+
+ike_auth_requested.o: sa/states/ike_auth_requested.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_auth_requested.o -MD -MP -MF "$(DEPDIR)/ike_auth_requested.Tpo" -c -o ike_auth_requested.o `test -f 'sa/states/ike_auth_requested.c' || echo '$(srcdir)/'`sa/states/ike_auth_requested.c; \
+       then mv -f "$(DEPDIR)/ike_auth_requested.Tpo" "$(DEPDIR)/ike_auth_requested.Po"; else rm -f "$(DEPDIR)/ike_auth_requested.Tpo"; exit 1; fi
+#      source='sa/states/ike_auth_requested.c' object='ike_auth_requested.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_auth_requested.o `test -f 'sa/states/ike_auth_requested.c' || echo '$(srcdir)/'`sa/states/ike_auth_requested.c
+
+ike_auth_requested.obj: sa/states/ike_auth_requested.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_auth_requested.obj -MD -MP -MF "$(DEPDIR)/ike_auth_requested.Tpo" -c -o ike_auth_requested.obj `if test -f 'sa/states/ike_auth_requested.c'; then $(CYGPATH_W) 'sa/states/ike_auth_requested.c'; else $(CYGPATH_W) '$(srcdir)/sa/states/ike_auth_requested.c'; fi`; \
+       then mv -f "$(DEPDIR)/ike_auth_requested.Tpo" "$(DEPDIR)/ike_auth_requested.Po"; else rm -f "$(DEPDIR)/ike_auth_requested.Tpo"; exit 1; fi
+#      source='sa/states/ike_auth_requested.c' object='ike_auth_requested.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_auth_requested.obj `if test -f 'sa/states/ike_auth_requested.c'; then $(CYGPATH_W) 'sa/states/ike_auth_requested.c'; else $(CYGPATH_W) '$(srcdir)/sa/states/ike_auth_requested.c'; fi`
+
+child_sa.o: sa/child_sa.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT child_sa.o -MD -MP -MF "$(DEPDIR)/child_sa.Tpo" -c -o child_sa.o `test -f 'sa/child_sa.c' || echo '$(srcdir)/'`sa/child_sa.c; \
+       then mv -f "$(DEPDIR)/child_sa.Tpo" "$(DEPDIR)/child_sa.Po"; else rm -f "$(DEPDIR)/child_sa.Tpo"; exit 1; fi
+#      source='sa/child_sa.c' object='child_sa.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o child_sa.o `test -f 'sa/child_sa.c' || echo '$(srcdir)/'`sa/child_sa.c
+
+child_sa.obj: sa/child_sa.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT child_sa.obj -MD -MP -MF "$(DEPDIR)/child_sa.Tpo" -c -o child_sa.obj `if test -f 'sa/child_sa.c'; then $(CYGPATH_W) 'sa/child_sa.c'; else $(CYGPATH_W) '$(srcdir)/sa/child_sa.c'; fi`; \
+       then mv -f "$(DEPDIR)/child_sa.Tpo" "$(DEPDIR)/child_sa.Po"; else rm -f "$(DEPDIR)/child_sa.Tpo"; exit 1; fi
+#      source='sa/child_sa.c' object='child_sa.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o child_sa.obj `if test -f 'sa/child_sa.c'; then $(CYGPATH_W) 'sa/child_sa.c'; else $(CYGPATH_W) '$(srcdir)/sa/child_sa.c'; fi`
+
+ike_sa_manager.o: sa/ike_sa_manager.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_sa_manager.o -MD -MP -MF "$(DEPDIR)/ike_sa_manager.Tpo" -c -o ike_sa_manager.o `test -f 'sa/ike_sa_manager.c' || echo '$(srcdir)/'`sa/ike_sa_manager.c; \
+       then mv -f "$(DEPDIR)/ike_sa_manager.Tpo" "$(DEPDIR)/ike_sa_manager.Po"; else rm -f "$(DEPDIR)/ike_sa_manager.Tpo"; exit 1; fi
+#      source='sa/ike_sa_manager.c' object='ike_sa_manager.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_sa_manager.o `test -f 'sa/ike_sa_manager.c' || echo '$(srcdir)/'`sa/ike_sa_manager.c
+
+ike_sa_manager.obj: sa/ike_sa_manager.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_sa_manager.obj -MD -MP -MF "$(DEPDIR)/ike_sa_manager.Tpo" -c -o ike_sa_manager.obj `if test -f 'sa/ike_sa_manager.c'; then $(CYGPATH_W) 'sa/ike_sa_manager.c'; else $(CYGPATH_W) '$(srcdir)/sa/ike_sa_manager.c'; fi`; \
+       then mv -f "$(DEPDIR)/ike_sa_manager.Tpo" "$(DEPDIR)/ike_sa_manager.Po"; else rm -f "$(DEPDIR)/ike_sa_manager.Tpo"; exit 1; fi
+#      source='sa/ike_sa_manager.c' object='ike_sa_manager.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_sa_manager.obj `if test -f 'sa/ike_sa_manager.c'; then $(CYGPATH_W) 'sa/ike_sa_manager.c'; else $(CYGPATH_W) '$(srcdir)/sa/ike_sa_manager.c'; fi`
+
+ike_sa_id.o: sa/ike_sa_id.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_sa_id.o -MD -MP -MF "$(DEPDIR)/ike_sa_id.Tpo" -c -o ike_sa_id.o `test -f 'sa/ike_sa_id.c' || echo '$(srcdir)/'`sa/ike_sa_id.c; \
+       then mv -f "$(DEPDIR)/ike_sa_id.Tpo" "$(DEPDIR)/ike_sa_id.Po"; else rm -f "$(DEPDIR)/ike_sa_id.Tpo"; exit 1; fi
+#      source='sa/ike_sa_id.c' object='ike_sa_id.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_sa_id.o `test -f 'sa/ike_sa_id.c' || echo '$(srcdir)/'`sa/ike_sa_id.c
+
+ike_sa_id.obj: sa/ike_sa_id.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_sa_id.obj -MD -MP -MF "$(DEPDIR)/ike_sa_id.Tpo" -c -o ike_sa_id.obj `if test -f 'sa/ike_sa_id.c'; then $(CYGPATH_W) 'sa/ike_sa_id.c'; else $(CYGPATH_W) '$(srcdir)/sa/ike_sa_id.c'; fi`; \
+       then mv -f "$(DEPDIR)/ike_sa_id.Tpo" "$(DEPDIR)/ike_sa_id.Po"; else rm -f "$(DEPDIR)/ike_sa_id.Tpo"; exit 1; fi
+#      source='sa/ike_sa_id.c' object='ike_sa_id.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_sa_id.obj `if test -f 'sa/ike_sa_id.c'; then $(CYGPATH_W) 'sa/ike_sa_id.c'; else $(CYGPATH_W) '$(srcdir)/sa/ike_sa_id.c'; fi`
+
+authenticator.o: sa/authenticator.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT authenticator.o -MD -MP -MF "$(DEPDIR)/authenticator.Tpo" -c -o authenticator.o `test -f 'sa/authenticator.c' || echo '$(srcdir)/'`sa/authenticator.c; \
+       then mv -f "$(DEPDIR)/authenticator.Tpo" "$(DEPDIR)/authenticator.Po"; else rm -f "$(DEPDIR)/authenticator.Tpo"; exit 1; fi
+#      source='sa/authenticator.c' object='authenticator.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o authenticator.o `test -f 'sa/authenticator.c' || echo '$(srcdir)/'`sa/authenticator.c
+
+authenticator.obj: sa/authenticator.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT authenticator.obj -MD -MP -MF "$(DEPDIR)/authenticator.Tpo" -c -o authenticator.obj `if test -f 'sa/authenticator.c'; then $(CYGPATH_W) 'sa/authenticator.c'; else $(CYGPATH_W) '$(srcdir)/sa/authenticator.c'; fi`; \
+       then mv -f "$(DEPDIR)/authenticator.Tpo" "$(DEPDIR)/authenticator.Po"; else rm -f "$(DEPDIR)/authenticator.Tpo"; exit 1; fi
+#      source='sa/authenticator.c' object='authenticator.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o authenticator.obj `if test -f 'sa/authenticator.c'; then $(CYGPATH_W) 'sa/authenticator.c'; else $(CYGPATH_W) '$(srcdir)/sa/authenticator.c'; fi`
+
+ike_sa.o: sa/ike_sa.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_sa.o -MD -MP -MF "$(DEPDIR)/ike_sa.Tpo" -c -o ike_sa.o `test -f 'sa/ike_sa.c' || echo '$(srcdir)/'`sa/ike_sa.c; \
+       then mv -f "$(DEPDIR)/ike_sa.Tpo" "$(DEPDIR)/ike_sa.Po"; else rm -f "$(DEPDIR)/ike_sa.Tpo"; exit 1; fi
+#      source='sa/ike_sa.c' object='ike_sa.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_sa.o `test -f 'sa/ike_sa.c' || echo '$(srcdir)/'`sa/ike_sa.c
+
+ike_sa.obj: sa/ike_sa.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_sa.obj -MD -MP -MF "$(DEPDIR)/ike_sa.Tpo" -c -o ike_sa.obj `if test -f 'sa/ike_sa.c'; then $(CYGPATH_W) 'sa/ike_sa.c'; else $(CYGPATH_W) '$(srcdir)/sa/ike_sa.c'; fi`; \
+       then mv -f "$(DEPDIR)/ike_sa.Tpo" "$(DEPDIR)/ike_sa.Po"; else rm -f "$(DEPDIR)/ike_sa.Tpo"; exit 1; fi
+#      source='sa/ike_sa.c' object='ike_sa.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_sa.obj `if test -f 'sa/ike_sa.c'; then $(CYGPATH_W) 'sa/ike_sa.c'; else $(CYGPATH_W) '$(srcdir)/sa/ike_sa.c'; fi`
+
+encryption_payload.o: encoding/payloads/encryption_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT encryption_payload.o -MD -MP -MF "$(DEPDIR)/encryption_payload.Tpo" -c -o encryption_payload.o `test -f 'encoding/payloads/encryption_payload.c' || echo '$(srcdir)/'`encoding/payloads/encryption_payload.c; \
+       then mv -f "$(DEPDIR)/encryption_payload.Tpo" "$(DEPDIR)/encryption_payload.Po"; else rm -f "$(DEPDIR)/encryption_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/encryption_payload.c' object='encryption_payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o encryption_payload.o `test -f 'encoding/payloads/encryption_payload.c' || echo '$(srcdir)/'`encoding/payloads/encryption_payload.c
+
+encryption_payload.obj: encoding/payloads/encryption_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT encryption_payload.obj -MD -MP -MF "$(DEPDIR)/encryption_payload.Tpo" -c -o encryption_payload.obj `if test -f 'encoding/payloads/encryption_payload.c'; then $(CYGPATH_W) 'encoding/payloads/encryption_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/encryption_payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/encryption_payload.Tpo" "$(DEPDIR)/encryption_payload.Po"; else rm -f "$(DEPDIR)/encryption_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/encryption_payload.c' object='encryption_payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o encryption_payload.obj `if test -f 'encoding/payloads/encryption_payload.c'; then $(CYGPATH_W) 'encoding/payloads/encryption_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/encryption_payload.c'; fi`
+
+cert_payload.o: encoding/payloads/cert_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cert_payload.o -MD -MP -MF "$(DEPDIR)/cert_payload.Tpo" -c -o cert_payload.o `test -f 'encoding/payloads/cert_payload.c' || echo '$(srcdir)/'`encoding/payloads/cert_payload.c; \
+       then mv -f "$(DEPDIR)/cert_payload.Tpo" "$(DEPDIR)/cert_payload.Po"; else rm -f "$(DEPDIR)/cert_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/cert_payload.c' object='cert_payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cert_payload.o `test -f 'encoding/payloads/cert_payload.c' || echo '$(srcdir)/'`encoding/payloads/cert_payload.c
+
+cert_payload.obj: encoding/payloads/cert_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cert_payload.obj -MD -MP -MF "$(DEPDIR)/cert_payload.Tpo" -c -o cert_payload.obj `if test -f 'encoding/payloads/cert_payload.c'; then $(CYGPATH_W) 'encoding/payloads/cert_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/cert_payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/cert_payload.Tpo" "$(DEPDIR)/cert_payload.Po"; else rm -f "$(DEPDIR)/cert_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/cert_payload.c' object='cert_payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cert_payload.obj `if test -f 'encoding/payloads/cert_payload.c'; then $(CYGPATH_W) 'encoding/payloads/cert_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/cert_payload.c'; fi`
+
+traffic_selector_substructure.o: encoding/payloads/traffic_selector_substructure.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT traffic_selector_substructure.o -MD -MP -MF "$(DEPDIR)/traffic_selector_substructure.Tpo" -c -o traffic_selector_substructure.o `test -f 'encoding/payloads/traffic_selector_substructure.c' || echo '$(srcdir)/'`encoding/payloads/traffic_selector_substructure.c; \
+       then mv -f "$(DEPDIR)/traffic_selector_substructure.Tpo" "$(DEPDIR)/traffic_selector_substructure.Po"; else rm -f "$(DEPDIR)/traffic_selector_substructure.Tpo"; exit 1; fi
+#      source='encoding/payloads/traffic_selector_substructure.c' object='traffic_selector_substructure.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o traffic_selector_substructure.o `test -f 'encoding/payloads/traffic_selector_substructure.c' || echo '$(srcdir)/'`encoding/payloads/traffic_selector_substructure.c
+
+traffic_selector_substructure.obj: encoding/payloads/traffic_selector_substructure.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT traffic_selector_substructure.obj -MD -MP -MF "$(DEPDIR)/traffic_selector_substructure.Tpo" -c -o traffic_selector_substructure.obj `if test -f 'encoding/payloads/traffic_selector_substructure.c'; then $(CYGPATH_W) 'encoding/payloads/traffic_selector_substructure.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/traffic_selector_substructure.c'; fi`; \
+       then mv -f "$(DEPDIR)/traffic_selector_substructure.Tpo" "$(DEPDIR)/traffic_selector_substructure.Po"; else rm -f "$(DEPDIR)/traffic_selector_substructure.Tpo"; exit 1; fi
+#      source='encoding/payloads/traffic_selector_substructure.c' object='traffic_selector_substructure.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o traffic_selector_substructure.obj `if test -f 'encoding/payloads/traffic_selector_substructure.c'; then $(CYGPATH_W) 'encoding/payloads/traffic_selector_substructure.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/traffic_selector_substructure.c'; fi`
+
+transform_attribute.o: encoding/payloads/transform_attribute.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT transform_attribute.o -MD -MP -MF "$(DEPDIR)/transform_attribute.Tpo" -c -o transform_attribute.o `test -f 'encoding/payloads/transform_attribute.c' || echo '$(srcdir)/'`encoding/payloads/transform_attribute.c; \
+       then mv -f "$(DEPDIR)/transform_attribute.Tpo" "$(DEPDIR)/transform_attribute.Po"; else rm -f "$(DEPDIR)/transform_attribute.Tpo"; exit 1; fi
+#      source='encoding/payloads/transform_attribute.c' object='transform_attribute.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o transform_attribute.o `test -f 'encoding/payloads/transform_attribute.c' || echo '$(srcdir)/'`encoding/payloads/transform_attribute.c
+
+transform_attribute.obj: encoding/payloads/transform_attribute.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT transform_attribute.obj -MD -MP -MF "$(DEPDIR)/transform_attribute.Tpo" -c -o transform_attribute.obj `if test -f 'encoding/payloads/transform_attribute.c'; then $(CYGPATH_W) 'encoding/payloads/transform_attribute.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/transform_attribute.c'; fi`; \
+       then mv -f "$(DEPDIR)/transform_attribute.Tpo" "$(DEPDIR)/transform_attribute.Po"; else rm -f "$(DEPDIR)/transform_attribute.Tpo"; exit 1; fi
+#      source='encoding/payloads/transform_attribute.c' object='transform_attribute.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o transform_attribute.obj `if test -f 'encoding/payloads/transform_attribute.c'; then $(CYGPATH_W) 'encoding/payloads/transform_attribute.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/transform_attribute.c'; fi`
+
+configuration_attribute.o: encoding/payloads/configuration_attribute.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT configuration_attribute.o -MD -MP -MF "$(DEPDIR)/configuration_attribute.Tpo" -c -o configuration_attribute.o `test -f 'encoding/payloads/configuration_attribute.c' || echo '$(srcdir)/'`encoding/payloads/configuration_attribute.c; \
+       then mv -f "$(DEPDIR)/configuration_attribute.Tpo" "$(DEPDIR)/configuration_attribute.Po"; else rm -f "$(DEPDIR)/configuration_attribute.Tpo"; exit 1; fi
+#      source='encoding/payloads/configuration_attribute.c' object='configuration_attribute.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o configuration_attribute.o `test -f 'encoding/payloads/configuration_attribute.c' || echo '$(srcdir)/'`encoding/payloads/configuration_attribute.c
+
+configuration_attribute.obj: encoding/payloads/configuration_attribute.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT configuration_attribute.obj -MD -MP -MF "$(DEPDIR)/configuration_attribute.Tpo" -c -o configuration_attribute.obj `if test -f 'encoding/payloads/configuration_attribute.c'; then $(CYGPATH_W) 'encoding/payloads/configuration_attribute.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/configuration_attribute.c'; fi`; \
+       then mv -f "$(DEPDIR)/configuration_attribute.Tpo" "$(DEPDIR)/configuration_attribute.Po"; else rm -f "$(DEPDIR)/configuration_attribute.Tpo"; exit 1; fi
+#      source='encoding/payloads/configuration_attribute.c' object='configuration_attribute.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o configuration_attribute.obj `if test -f 'encoding/payloads/configuration_attribute.c'; then $(CYGPATH_W) 'encoding/payloads/configuration_attribute.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/configuration_attribute.c'; fi`
+
+transform_substructure.o: encoding/payloads/transform_substructure.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT transform_substructure.o -MD -MP -MF "$(DEPDIR)/transform_substructure.Tpo" -c -o transform_substructure.o `test -f 'encoding/payloads/transform_substructure.c' || echo '$(srcdir)/'`encoding/payloads/transform_substructure.c; \
+       then mv -f "$(DEPDIR)/transform_substructure.Tpo" "$(DEPDIR)/transform_substructure.Po"; else rm -f "$(DEPDIR)/transform_substructure.Tpo"; exit 1; fi
+#      source='encoding/payloads/transform_substructure.c' object='transform_substructure.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o transform_substructure.o `test -f 'encoding/payloads/transform_substructure.c' || echo '$(srcdir)/'`encoding/payloads/transform_substructure.c
+
+transform_substructure.obj: encoding/payloads/transform_substructure.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT transform_substructure.obj -MD -MP -MF "$(DEPDIR)/transform_substructure.Tpo" -c -o transform_substructure.obj `if test -f 'encoding/payloads/transform_substructure.c'; then $(CYGPATH_W) 'encoding/payloads/transform_substructure.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/transform_substructure.c'; fi`; \
+       then mv -f "$(DEPDIR)/transform_substructure.Tpo" "$(DEPDIR)/transform_substructure.Po"; else rm -f "$(DEPDIR)/transform_substructure.Tpo"; exit 1; fi
+#      source='encoding/payloads/transform_substructure.c' object='transform_substructure.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o transform_substructure.obj `if test -f 'encoding/payloads/transform_substructure.c'; then $(CYGPATH_W) 'encoding/payloads/transform_substructure.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/transform_substructure.c'; fi`
+
+auth_payload.o: encoding/payloads/auth_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT auth_payload.o -MD -MP -MF "$(DEPDIR)/auth_payload.Tpo" -c -o auth_payload.o `test -f 'encoding/payloads/auth_payload.c' || echo '$(srcdir)/'`encoding/payloads/auth_payload.c; \
+       then mv -f "$(DEPDIR)/auth_payload.Tpo" "$(DEPDIR)/auth_payload.Po"; else rm -f "$(DEPDIR)/auth_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/auth_payload.c' object='auth_payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o auth_payload.o `test -f 'encoding/payloads/auth_payload.c' || echo '$(srcdir)/'`encoding/payloads/auth_payload.c
+
+auth_payload.obj: encoding/payloads/auth_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT auth_payload.obj -MD -MP -MF "$(DEPDIR)/auth_payload.Tpo" -c -o auth_payload.obj `if test -f 'encoding/payloads/auth_payload.c'; then $(CYGPATH_W) 'encoding/payloads/auth_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/auth_payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/auth_payload.Tpo" "$(DEPDIR)/auth_payload.Po"; else rm -f "$(DEPDIR)/auth_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/auth_payload.c' object='auth_payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o auth_payload.obj `if test -f 'encoding/payloads/auth_payload.c'; then $(CYGPATH_W) 'encoding/payloads/auth_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/auth_payload.c'; fi`
+
+ike_header.o: encoding/payloads/ike_header.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_header.o -MD -MP -MF "$(DEPDIR)/ike_header.Tpo" -c -o ike_header.o `test -f 'encoding/payloads/ike_header.c' || echo '$(srcdir)/'`encoding/payloads/ike_header.c; \
+       then mv -f "$(DEPDIR)/ike_header.Tpo" "$(DEPDIR)/ike_header.Po"; else rm -f "$(DEPDIR)/ike_header.Tpo"; exit 1; fi
+#      source='encoding/payloads/ike_header.c' object='ike_header.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_header.o `test -f 'encoding/payloads/ike_header.c' || echo '$(srcdir)/'`encoding/payloads/ike_header.c
+
+ike_header.obj: encoding/payloads/ike_header.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ike_header.obj -MD -MP -MF "$(DEPDIR)/ike_header.Tpo" -c -o ike_header.obj `if test -f 'encoding/payloads/ike_header.c'; then $(CYGPATH_W) 'encoding/payloads/ike_header.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/ike_header.c'; fi`; \
+       then mv -f "$(DEPDIR)/ike_header.Tpo" "$(DEPDIR)/ike_header.Po"; else rm -f "$(DEPDIR)/ike_header.Tpo"; exit 1; fi
+#      source='encoding/payloads/ike_header.c' object='ike_header.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ike_header.obj `if test -f 'encoding/payloads/ike_header.c'; then $(CYGPATH_W) 'encoding/payloads/ike_header.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/ike_header.c'; fi`
+
+nonce_payload.o: encoding/payloads/nonce_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonce_payload.o -MD -MP -MF "$(DEPDIR)/nonce_payload.Tpo" -c -o nonce_payload.o `test -f 'encoding/payloads/nonce_payload.c' || echo '$(srcdir)/'`encoding/payloads/nonce_payload.c; \
+       then mv -f "$(DEPDIR)/nonce_payload.Tpo" "$(DEPDIR)/nonce_payload.Po"; else rm -f "$(DEPDIR)/nonce_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/nonce_payload.c' object='nonce_payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonce_payload.o `test -f 'encoding/payloads/nonce_payload.c' || echo '$(srcdir)/'`encoding/payloads/nonce_payload.c
+
+nonce_payload.obj: encoding/payloads/nonce_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonce_payload.obj -MD -MP -MF "$(DEPDIR)/nonce_payload.Tpo" -c -o nonce_payload.obj `if test -f 'encoding/payloads/nonce_payload.c'; then $(CYGPATH_W) 'encoding/payloads/nonce_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/nonce_payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/nonce_payload.Tpo" "$(DEPDIR)/nonce_payload.Po"; else rm -f "$(DEPDIR)/nonce_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/nonce_payload.c' object='nonce_payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonce_payload.obj `if test -f 'encoding/payloads/nonce_payload.c'; then $(CYGPATH_W) 'encoding/payloads/nonce_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/nonce_payload.c'; fi`
+
+eap_payload.o: encoding/payloads/eap_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eap_payload.o -MD -MP -MF "$(DEPDIR)/eap_payload.Tpo" -c -o eap_payload.o `test -f 'encoding/payloads/eap_payload.c' || echo '$(srcdir)/'`encoding/payloads/eap_payload.c; \
+       then mv -f "$(DEPDIR)/eap_payload.Tpo" "$(DEPDIR)/eap_payload.Po"; else rm -f "$(DEPDIR)/eap_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/eap_payload.c' object='eap_payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eap_payload.o `test -f 'encoding/payloads/eap_payload.c' || echo '$(srcdir)/'`encoding/payloads/eap_payload.c
+
+eap_payload.obj: encoding/payloads/eap_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eap_payload.obj -MD -MP -MF "$(DEPDIR)/eap_payload.Tpo" -c -o eap_payload.obj `if test -f 'encoding/payloads/eap_payload.c'; then $(CYGPATH_W) 'encoding/payloads/eap_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/eap_payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/eap_payload.Tpo" "$(DEPDIR)/eap_payload.Po"; else rm -f "$(DEPDIR)/eap_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/eap_payload.c' object='eap_payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eap_payload.obj `if test -f 'encoding/payloads/eap_payload.c'; then $(CYGPATH_W) 'encoding/payloads/eap_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/eap_payload.c'; fi`
+
+ts_payload.o: encoding/payloads/ts_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ts_payload.o -MD -MP -MF "$(DEPDIR)/ts_payload.Tpo" -c -o ts_payload.o `test -f 'encoding/payloads/ts_payload.c' || echo '$(srcdir)/'`encoding/payloads/ts_payload.c; \
+       then mv -f "$(DEPDIR)/ts_payload.Tpo" "$(DEPDIR)/ts_payload.Po"; else rm -f "$(DEPDIR)/ts_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/ts_payload.c' object='ts_payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ts_payload.o `test -f 'encoding/payloads/ts_payload.c' || echo '$(srcdir)/'`encoding/payloads/ts_payload.c
+
+ts_payload.obj: encoding/payloads/ts_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ts_payload.obj -MD -MP -MF "$(DEPDIR)/ts_payload.Tpo" -c -o ts_payload.obj `if test -f 'encoding/payloads/ts_payload.c'; then $(CYGPATH_W) 'encoding/payloads/ts_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/ts_payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/ts_payload.Tpo" "$(DEPDIR)/ts_payload.Po"; else rm -f "$(DEPDIR)/ts_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/ts_payload.c' object='ts_payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ts_payload.obj `if test -f 'encoding/payloads/ts_payload.c'; then $(CYGPATH_W) 'encoding/payloads/ts_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/ts_payload.c'; fi`
+
+notify_payload.o: encoding/payloads/notify_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT notify_payload.o -MD -MP -MF "$(DEPDIR)/notify_payload.Tpo" -c -o notify_payload.o `test -f 'encoding/payloads/notify_payload.c' || echo '$(srcdir)/'`encoding/payloads/notify_payload.c; \
+       then mv -f "$(DEPDIR)/notify_payload.Tpo" "$(DEPDIR)/notify_payload.Po"; else rm -f "$(DEPDIR)/notify_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/notify_payload.c' object='notify_payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o notify_payload.o `test -f 'encoding/payloads/notify_payload.c' || echo '$(srcdir)/'`encoding/payloads/notify_payload.c
+
+notify_payload.obj: encoding/payloads/notify_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT notify_payload.obj -MD -MP -MF "$(DEPDIR)/notify_payload.Tpo" -c -o notify_payload.obj `if test -f 'encoding/payloads/notify_payload.c'; then $(CYGPATH_W) 'encoding/payloads/notify_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/notify_payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/notify_payload.Tpo" "$(DEPDIR)/notify_payload.Po"; else rm -f "$(DEPDIR)/notify_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/notify_payload.c' object='notify_payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o notify_payload.obj `if test -f 'encoding/payloads/notify_payload.c'; then $(CYGPATH_W) 'encoding/payloads/notify_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/notify_payload.c'; fi`
+
+id_payload.o: encoding/payloads/id_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT id_payload.o -MD -MP -MF "$(DEPDIR)/id_payload.Tpo" -c -o id_payload.o `test -f 'encoding/payloads/id_payload.c' || echo '$(srcdir)/'`encoding/payloads/id_payload.c; \
+       then mv -f "$(DEPDIR)/id_payload.Tpo" "$(DEPDIR)/id_payload.Po"; else rm -f "$(DEPDIR)/id_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/id_payload.c' object='id_payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o id_payload.o `test -f 'encoding/payloads/id_payload.c' || echo '$(srcdir)/'`encoding/payloads/id_payload.c
+
+id_payload.obj: encoding/payloads/id_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT id_payload.obj -MD -MP -MF "$(DEPDIR)/id_payload.Tpo" -c -o id_payload.obj `if test -f 'encoding/payloads/id_payload.c'; then $(CYGPATH_W) 'encoding/payloads/id_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/id_payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/id_payload.Tpo" "$(DEPDIR)/id_payload.Po"; else rm -f "$(DEPDIR)/id_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/id_payload.c' object='id_payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o id_payload.obj `if test -f 'encoding/payloads/id_payload.c'; then $(CYGPATH_W) 'encoding/payloads/id_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/id_payload.c'; fi`
+
+ke_payload.o: encoding/payloads/ke_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ke_payload.o -MD -MP -MF "$(DEPDIR)/ke_payload.Tpo" -c -o ke_payload.o `test -f 'encoding/payloads/ke_payload.c' || echo '$(srcdir)/'`encoding/payloads/ke_payload.c; \
+       then mv -f "$(DEPDIR)/ke_payload.Tpo" "$(DEPDIR)/ke_payload.Po"; else rm -f "$(DEPDIR)/ke_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/ke_payload.c' object='ke_payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ke_payload.o `test -f 'encoding/payloads/ke_payload.c' || echo '$(srcdir)/'`encoding/payloads/ke_payload.c
+
+ke_payload.obj: encoding/payloads/ke_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ke_payload.obj -MD -MP -MF "$(DEPDIR)/ke_payload.Tpo" -c -o ke_payload.obj `if test -f 'encoding/payloads/ke_payload.c'; then $(CYGPATH_W) 'encoding/payloads/ke_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/ke_payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/ke_payload.Tpo" "$(DEPDIR)/ke_payload.Po"; else rm -f "$(DEPDIR)/ke_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/ke_payload.c' object='ke_payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ke_payload.obj `if test -f 'encoding/payloads/ke_payload.c'; then $(CYGPATH_W) 'encoding/payloads/ke_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/ke_payload.c'; fi`
+
+unknown_payload.o: encoding/payloads/unknown_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT unknown_payload.o -MD -MP -MF "$(DEPDIR)/unknown_payload.Tpo" -c -o unknown_payload.o `test -f 'encoding/payloads/unknown_payload.c' || echo '$(srcdir)/'`encoding/payloads/unknown_payload.c; \
+       then mv -f "$(DEPDIR)/unknown_payload.Tpo" "$(DEPDIR)/unknown_payload.Po"; else rm -f "$(DEPDIR)/unknown_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/unknown_payload.c' object='unknown_payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o unknown_payload.o `test -f 'encoding/payloads/unknown_payload.c' || echo '$(srcdir)/'`encoding/payloads/unknown_payload.c
+
+unknown_payload.obj: encoding/payloads/unknown_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT unknown_payload.obj -MD -MP -MF "$(DEPDIR)/unknown_payload.Tpo" -c -o unknown_payload.obj `if test -f 'encoding/payloads/unknown_payload.c'; then $(CYGPATH_W) 'encoding/payloads/unknown_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/unknown_payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/unknown_payload.Tpo" "$(DEPDIR)/unknown_payload.Po"; else rm -f "$(DEPDIR)/unknown_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/unknown_payload.c' object='unknown_payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o unknown_payload.obj `if test -f 'encoding/payloads/unknown_payload.c'; then $(CYGPATH_W) 'encoding/payloads/unknown_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/unknown_payload.c'; fi`
+
+encodings.o: encoding/payloads/encodings.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT encodings.o -MD -MP -MF "$(DEPDIR)/encodings.Tpo" -c -o encodings.o `test -f 'encoding/payloads/encodings.c' || echo '$(srcdir)/'`encoding/payloads/encodings.c; \
+       then mv -f "$(DEPDIR)/encodings.Tpo" "$(DEPDIR)/encodings.Po"; else rm -f "$(DEPDIR)/encodings.Tpo"; exit 1; fi
+#      source='encoding/payloads/encodings.c' object='encodings.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o encodings.o `test -f 'encoding/payloads/encodings.c' || echo '$(srcdir)/'`encoding/payloads/encodings.c
+
+encodings.obj: encoding/payloads/encodings.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT encodings.obj -MD -MP -MF "$(DEPDIR)/encodings.Tpo" -c -o encodings.obj `if test -f 'encoding/payloads/encodings.c'; then $(CYGPATH_W) 'encoding/payloads/encodings.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/encodings.c'; fi`; \
+       then mv -f "$(DEPDIR)/encodings.Tpo" "$(DEPDIR)/encodings.Po"; else rm -f "$(DEPDIR)/encodings.Tpo"; exit 1; fi
+#      source='encoding/payloads/encodings.c' object='encodings.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o encodings.obj `if test -f 'encoding/payloads/encodings.c'; then $(CYGPATH_W) 'encoding/payloads/encodings.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/encodings.c'; fi`
+
+cp_payload.o: encoding/payloads/cp_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cp_payload.o -MD -MP -MF "$(DEPDIR)/cp_payload.Tpo" -c -o cp_payload.o `test -f 'encoding/payloads/cp_payload.c' || echo '$(srcdir)/'`encoding/payloads/cp_payload.c; \
+       then mv -f "$(DEPDIR)/cp_payload.Tpo" "$(DEPDIR)/cp_payload.Po"; else rm -f "$(DEPDIR)/cp_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/cp_payload.c' object='cp_payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cp_payload.o `test -f 'encoding/payloads/cp_payload.c' || echo '$(srcdir)/'`encoding/payloads/cp_payload.c
+
+cp_payload.obj: encoding/payloads/cp_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cp_payload.obj -MD -MP -MF "$(DEPDIR)/cp_payload.Tpo" -c -o cp_payload.obj `if test -f 'encoding/payloads/cp_payload.c'; then $(CYGPATH_W) 'encoding/payloads/cp_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/cp_payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/cp_payload.Tpo" "$(DEPDIR)/cp_payload.Po"; else rm -f "$(DEPDIR)/cp_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/cp_payload.c' object='cp_payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cp_payload.obj `if test -f 'encoding/payloads/cp_payload.c'; then $(CYGPATH_W) 'encoding/payloads/cp_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/cp_payload.c'; fi`
+
+delete_payload.o: encoding/payloads/delete_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT delete_payload.o -MD -MP -MF "$(DEPDIR)/delete_payload.Tpo" -c -o delete_payload.o `test -f 'encoding/payloads/delete_payload.c' || echo '$(srcdir)/'`encoding/payloads/delete_payload.c; \
+       then mv -f "$(DEPDIR)/delete_payload.Tpo" "$(DEPDIR)/delete_payload.Po"; else rm -f "$(DEPDIR)/delete_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/delete_payload.c' object='delete_payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o delete_payload.o `test -f 'encoding/payloads/delete_payload.c' || echo '$(srcdir)/'`encoding/payloads/delete_payload.c
+
+delete_payload.obj: encoding/payloads/delete_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT delete_payload.obj -MD -MP -MF "$(DEPDIR)/delete_payload.Tpo" -c -o delete_payload.obj `if test -f 'encoding/payloads/delete_payload.c'; then $(CYGPATH_W) 'encoding/payloads/delete_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/delete_payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/delete_payload.Tpo" "$(DEPDIR)/delete_payload.Po"; else rm -f "$(DEPDIR)/delete_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/delete_payload.c' object='delete_payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o delete_payload.obj `if test -f 'encoding/payloads/delete_payload.c'; then $(CYGPATH_W) 'encoding/payloads/delete_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/delete_payload.c'; fi`
+
+sa_payload.o: encoding/payloads/sa_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sa_payload.o -MD -MP -MF "$(DEPDIR)/sa_payload.Tpo" -c -o sa_payload.o `test -f 'encoding/payloads/sa_payload.c' || echo '$(srcdir)/'`encoding/payloads/sa_payload.c; \
+       then mv -f "$(DEPDIR)/sa_payload.Tpo" "$(DEPDIR)/sa_payload.Po"; else rm -f "$(DEPDIR)/sa_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/sa_payload.c' object='sa_payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sa_payload.o `test -f 'encoding/payloads/sa_payload.c' || echo '$(srcdir)/'`encoding/payloads/sa_payload.c
+
+sa_payload.obj: encoding/payloads/sa_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sa_payload.obj -MD -MP -MF "$(DEPDIR)/sa_payload.Tpo" -c -o sa_payload.obj `if test -f 'encoding/payloads/sa_payload.c'; then $(CYGPATH_W) 'encoding/payloads/sa_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/sa_payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/sa_payload.Tpo" "$(DEPDIR)/sa_payload.Po"; else rm -f "$(DEPDIR)/sa_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/sa_payload.c' object='sa_payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sa_payload.obj `if test -f 'encoding/payloads/sa_payload.c'; then $(CYGPATH_W) 'encoding/payloads/sa_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/sa_payload.c'; fi`
+
+certreq_payload.o: encoding/payloads/certreq_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT certreq_payload.o -MD -MP -MF "$(DEPDIR)/certreq_payload.Tpo" -c -o certreq_payload.o `test -f 'encoding/payloads/certreq_payload.c' || echo '$(srcdir)/'`encoding/payloads/certreq_payload.c; \
+       then mv -f "$(DEPDIR)/certreq_payload.Tpo" "$(DEPDIR)/certreq_payload.Po"; else rm -f "$(DEPDIR)/certreq_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/certreq_payload.c' object='certreq_payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o certreq_payload.o `test -f 'encoding/payloads/certreq_payload.c' || echo '$(srcdir)/'`encoding/payloads/certreq_payload.c
+
+certreq_payload.obj: encoding/payloads/certreq_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT certreq_payload.obj -MD -MP -MF "$(DEPDIR)/certreq_payload.Tpo" -c -o certreq_payload.obj `if test -f 'encoding/payloads/certreq_payload.c'; then $(CYGPATH_W) 'encoding/payloads/certreq_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/certreq_payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/certreq_payload.Tpo" "$(DEPDIR)/certreq_payload.Po"; else rm -f "$(DEPDIR)/certreq_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/certreq_payload.c' object='certreq_payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o certreq_payload.obj `if test -f 'encoding/payloads/certreq_payload.c'; then $(CYGPATH_W) 'encoding/payloads/certreq_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/certreq_payload.c'; fi`
+
+vendor_id_payload.o: encoding/payloads/vendor_id_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vendor_id_payload.o -MD -MP -MF "$(DEPDIR)/vendor_id_payload.Tpo" -c -o vendor_id_payload.o `test -f 'encoding/payloads/vendor_id_payload.c' || echo '$(srcdir)/'`encoding/payloads/vendor_id_payload.c; \
+       then mv -f "$(DEPDIR)/vendor_id_payload.Tpo" "$(DEPDIR)/vendor_id_payload.Po"; else rm -f "$(DEPDIR)/vendor_id_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/vendor_id_payload.c' object='vendor_id_payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vendor_id_payload.o `test -f 'encoding/payloads/vendor_id_payload.c' || echo '$(srcdir)/'`encoding/payloads/vendor_id_payload.c
+
+vendor_id_payload.obj: encoding/payloads/vendor_id_payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vendor_id_payload.obj -MD -MP -MF "$(DEPDIR)/vendor_id_payload.Tpo" -c -o vendor_id_payload.obj `if test -f 'encoding/payloads/vendor_id_payload.c'; then $(CYGPATH_W) 'encoding/payloads/vendor_id_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/vendor_id_payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/vendor_id_payload.Tpo" "$(DEPDIR)/vendor_id_payload.Po"; else rm -f "$(DEPDIR)/vendor_id_payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/vendor_id_payload.c' object='vendor_id_payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vendor_id_payload.obj `if test -f 'encoding/payloads/vendor_id_payload.c'; then $(CYGPATH_W) 'encoding/payloads/vendor_id_payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/vendor_id_payload.c'; fi`
+
+proposal_substructure.o: encoding/payloads/proposal_substructure.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT proposal_substructure.o -MD -MP -MF "$(DEPDIR)/proposal_substructure.Tpo" -c -o proposal_substructure.o `test -f 'encoding/payloads/proposal_substructure.c' || echo '$(srcdir)/'`encoding/payloads/proposal_substructure.c; \
+       then mv -f "$(DEPDIR)/proposal_substructure.Tpo" "$(DEPDIR)/proposal_substructure.Po"; else rm -f "$(DEPDIR)/proposal_substructure.Tpo"; exit 1; fi
+#      source='encoding/payloads/proposal_substructure.c' object='proposal_substructure.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o proposal_substructure.o `test -f 'encoding/payloads/proposal_substructure.c' || echo '$(srcdir)/'`encoding/payloads/proposal_substructure.c
+
+proposal_substructure.obj: encoding/payloads/proposal_substructure.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT proposal_substructure.obj -MD -MP -MF "$(DEPDIR)/proposal_substructure.Tpo" -c -o proposal_substructure.obj `if test -f 'encoding/payloads/proposal_substructure.c'; then $(CYGPATH_W) 'encoding/payloads/proposal_substructure.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/proposal_substructure.c'; fi`; \
+       then mv -f "$(DEPDIR)/proposal_substructure.Tpo" "$(DEPDIR)/proposal_substructure.Po"; else rm -f "$(DEPDIR)/proposal_substructure.Tpo"; exit 1; fi
+#      source='encoding/payloads/proposal_substructure.c' object='proposal_substructure.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o proposal_substructure.obj `if test -f 'encoding/payloads/proposal_substructure.c'; then $(CYGPATH_W) 'encoding/payloads/proposal_substructure.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/proposal_substructure.c'; fi`
+
+payload.o: encoding/payloads/payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT payload.o -MD -MP -MF "$(DEPDIR)/payload.Tpo" -c -o payload.o `test -f 'encoding/payloads/payload.c' || echo '$(srcdir)/'`encoding/payloads/payload.c; \
+       then mv -f "$(DEPDIR)/payload.Tpo" "$(DEPDIR)/payload.Po"; else rm -f "$(DEPDIR)/payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/payload.c' object='payload.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o payload.o `test -f 'encoding/payloads/payload.c' || echo '$(srcdir)/'`encoding/payloads/payload.c
+
+payload.obj: encoding/payloads/payload.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT payload.obj -MD -MP -MF "$(DEPDIR)/payload.Tpo" -c -o payload.obj `if test -f 'encoding/payloads/payload.c'; then $(CYGPATH_W) 'encoding/payloads/payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/payload.c'; fi`; \
+       then mv -f "$(DEPDIR)/payload.Tpo" "$(DEPDIR)/payload.Po"; else rm -f "$(DEPDIR)/payload.Tpo"; exit 1; fi
+#      source='encoding/payloads/payload.c' object='payload.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o payload.obj `if test -f 'encoding/payloads/payload.c'; then $(CYGPATH_W) 'encoding/payloads/payload.c'; else $(CYGPATH_W) '$(srcdir)/encoding/payloads/payload.c'; fi`
+
+message.o: encoding/message.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT message.o -MD -MP -MF "$(DEPDIR)/message.Tpo" -c -o message.o `test -f 'encoding/message.c' || echo '$(srcdir)/'`encoding/message.c; \
+       then mv -f "$(DEPDIR)/message.Tpo" "$(DEPDIR)/message.Po"; else rm -f "$(DEPDIR)/message.Tpo"; exit 1; fi
+#      source='encoding/message.c' object='message.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o message.o `test -f 'encoding/message.c' || echo '$(srcdir)/'`encoding/message.c
+
+message.obj: encoding/message.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT message.obj -MD -MP -MF "$(DEPDIR)/message.Tpo" -c -o message.obj `if test -f 'encoding/message.c'; then $(CYGPATH_W) 'encoding/message.c'; else $(CYGPATH_W) '$(srcdir)/encoding/message.c'; fi`; \
+       then mv -f "$(DEPDIR)/message.Tpo" "$(DEPDIR)/message.Po"; else rm -f "$(DEPDIR)/message.Tpo"; exit 1; fi
+#      source='encoding/message.c' object='message.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o message.obj `if test -f 'encoding/message.c'; then $(CYGPATH_W) 'encoding/message.c'; else $(CYGPATH_W) '$(srcdir)/encoding/message.c'; fi`
+
+generator.o: encoding/generator.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT generator.o -MD -MP -MF "$(DEPDIR)/generator.Tpo" -c -o generator.o `test -f 'encoding/generator.c' || echo '$(srcdir)/'`encoding/generator.c; \
+       then mv -f "$(DEPDIR)/generator.Tpo" "$(DEPDIR)/generator.Po"; else rm -f "$(DEPDIR)/generator.Tpo"; exit 1; fi
+#      source='encoding/generator.c' object='generator.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o generator.o `test -f 'encoding/generator.c' || echo '$(srcdir)/'`encoding/generator.c
+
+generator.obj: encoding/generator.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT generator.obj -MD -MP -MF "$(DEPDIR)/generator.Tpo" -c -o generator.obj `if test -f 'encoding/generator.c'; then $(CYGPATH_W) 'encoding/generator.c'; else $(CYGPATH_W) '$(srcdir)/encoding/generator.c'; fi`; \
+       then mv -f "$(DEPDIR)/generator.Tpo" "$(DEPDIR)/generator.Po"; else rm -f "$(DEPDIR)/generator.Tpo"; exit 1; fi
+#      source='encoding/generator.c' object='generator.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o generator.obj `if test -f 'encoding/generator.c'; then $(CYGPATH_W) 'encoding/generator.c'; else $(CYGPATH_W) '$(srcdir)/encoding/generator.c'; fi`
+
+parser.o: encoding/parser.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT parser.o -MD -MP -MF "$(DEPDIR)/parser.Tpo" -c -o parser.o `test -f 'encoding/parser.c' || echo '$(srcdir)/'`encoding/parser.c; \
+       then mv -f "$(DEPDIR)/parser.Tpo" "$(DEPDIR)/parser.Po"; else rm -f "$(DEPDIR)/parser.Tpo"; exit 1; fi
+#      source='encoding/parser.c' object='parser.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o parser.o `test -f 'encoding/parser.c' || echo '$(srcdir)/'`encoding/parser.c
+
+parser.obj: encoding/parser.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT parser.obj -MD -MP -MF "$(DEPDIR)/parser.Tpo" -c -o parser.obj `if test -f 'encoding/parser.c'; then $(CYGPATH_W) 'encoding/parser.c'; else $(CYGPATH_W) '$(srcdir)/encoding/parser.c'; fi`; \
+       then mv -f "$(DEPDIR)/parser.Tpo" "$(DEPDIR)/parser.Po"; else rm -f "$(DEPDIR)/parser.Tpo"; exit 1; fi
+#      source='encoding/parser.c' object='parser.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o parser.obj `if test -f 'encoding/parser.c'; then $(CYGPATH_W) 'encoding/parser.c'; else $(CYGPATH_W) '$(srcdir)/encoding/parser.c'; fi`
+
+packet.o: network/packet.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT packet.o -MD -MP -MF "$(DEPDIR)/packet.Tpo" -c -o packet.o `test -f 'network/packet.c' || echo '$(srcdir)/'`network/packet.c; \
+       then mv -f "$(DEPDIR)/packet.Tpo" "$(DEPDIR)/packet.Po"; else rm -f "$(DEPDIR)/packet.Tpo"; exit 1; fi
+#      source='network/packet.c' object='packet.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o packet.o `test -f 'network/packet.c' || echo '$(srcdir)/'`network/packet.c
+
+packet.obj: network/packet.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT packet.obj -MD -MP -MF "$(DEPDIR)/packet.Tpo" -c -o packet.obj `if test -f 'network/packet.c'; then $(CYGPATH_W) 'network/packet.c'; else $(CYGPATH_W) '$(srcdir)/network/packet.c'; fi`; \
+       then mv -f "$(DEPDIR)/packet.Tpo" "$(DEPDIR)/packet.Po"; else rm -f "$(DEPDIR)/packet.Tpo"; exit 1; fi
+#      source='network/packet.c' object='packet.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o packet.obj `if test -f 'network/packet.c'; then $(CYGPATH_W) 'network/packet.c'; else $(CYGPATH_W) '$(srcdir)/network/packet.c'; fi`
+
+socket.o: network/socket.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT socket.o -MD -MP -MF "$(DEPDIR)/socket.Tpo" -c -o socket.o `test -f 'network/socket.c' || echo '$(srcdir)/'`network/socket.c; \
+       then mv -f "$(DEPDIR)/socket.Tpo" "$(DEPDIR)/socket.Po"; else rm -f "$(DEPDIR)/socket.Tpo"; exit 1; fi
+#      source='network/socket.c' object='socket.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o socket.o `test -f 'network/socket.c' || echo '$(srcdir)/'`network/socket.c
+
+socket.obj: network/socket.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT socket.obj -MD -MP -MF "$(DEPDIR)/socket.Tpo" -c -o socket.obj `if test -f 'network/socket.c'; then $(CYGPATH_W) 'network/socket.c'; else $(CYGPATH_W) '$(srcdir)/network/socket.c'; fi`; \
+       then mv -f "$(DEPDIR)/socket.Tpo" "$(DEPDIR)/socket.Po"; else rm -f "$(DEPDIR)/socket.Tpo"; exit 1; fi
+#      source='network/socket.c' object='socket.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o socket.obj `if test -f 'network/socket.c'; then $(CYGPATH_W) 'network/socket.c'; else $(CYGPATH_W) '$(srcdir)/network/socket.c'; fi`
+
+job.o: queues/jobs/job.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT job.o -MD -MP -MF "$(DEPDIR)/job.Tpo" -c -o job.o `test -f 'queues/jobs/job.c' || echo '$(srcdir)/'`queues/jobs/job.c; \
+       then mv -f "$(DEPDIR)/job.Tpo" "$(DEPDIR)/job.Po"; else rm -f "$(DEPDIR)/job.Tpo"; exit 1; fi
+#      source='queues/jobs/job.c' object='job.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o job.o `test -f 'queues/jobs/job.c' || echo '$(srcdir)/'`queues/jobs/job.c
+
+job.obj: queues/jobs/job.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT job.obj -MD -MP -MF "$(DEPDIR)/job.Tpo" -c -o job.obj `if test -f 'queues/jobs/job.c'; then $(CYGPATH_W) 'queues/jobs/job.c'; else $(CYGPATH_W) '$(srcdir)/queues/jobs/job.c'; fi`; \
+       then mv -f "$(DEPDIR)/job.Tpo" "$(DEPDIR)/job.Po"; else rm -f "$(DEPDIR)/job.Tpo"; exit 1; fi
+#      source='queues/jobs/job.c' object='job.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o job.obj `if test -f 'queues/jobs/job.c'; then $(CYGPATH_W) 'queues/jobs/job.c'; else $(CYGPATH_W) '$(srcdir)/queues/jobs/job.c'; fi`
+
+delete_established_ike_sa_job.o: queues/jobs/delete_established_ike_sa_job.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT delete_established_ike_sa_job.o -MD -MP -MF "$(DEPDIR)/delete_established_ike_sa_job.Tpo" -c -o delete_established_ike_sa_job.o `test -f 'queues/jobs/delete_established_ike_sa_job.c' || echo '$(srcdir)/'`queues/jobs/delete_established_ike_sa_job.c; \
+       then mv -f "$(DEPDIR)/delete_established_ike_sa_job.Tpo" "$(DEPDIR)/delete_established_ike_sa_job.Po"; else rm -f "$(DEPDIR)/delete_established_ike_sa_job.Tpo"; exit 1; fi
+#      source='queues/jobs/delete_established_ike_sa_job.c' object='delete_established_ike_sa_job.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o delete_established_ike_sa_job.o `test -f 'queues/jobs/delete_established_ike_sa_job.c' || echo '$(srcdir)/'`queues/jobs/delete_established_ike_sa_job.c
+
+delete_established_ike_sa_job.obj: queues/jobs/delete_established_ike_sa_job.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT delete_established_ike_sa_job.obj -MD -MP -MF "$(DEPDIR)/delete_established_ike_sa_job.Tpo" -c -o delete_established_ike_sa_job.obj `if test -f 'queues/jobs/delete_established_ike_sa_job.c'; then $(CYGPATH_W) 'queues/jobs/delete_established_ike_sa_job.c'; else $(CYGPATH_W) '$(srcdir)/queues/jobs/delete_established_ike_sa_job.c'; fi`; \
+       then mv -f "$(DEPDIR)/delete_established_ike_sa_job.Tpo" "$(DEPDIR)/delete_established_ike_sa_job.Po"; else rm -f "$(DEPDIR)/delete_established_ike_sa_job.Tpo"; exit 1; fi
+#      source='queues/jobs/delete_established_ike_sa_job.c' object='delete_established_ike_sa_job.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o delete_established_ike_sa_job.obj `if test -f 'queues/jobs/delete_established_ike_sa_job.c'; then $(CYGPATH_W) 'queues/jobs/delete_established_ike_sa_job.c'; else $(CYGPATH_W) '$(srcdir)/queues/jobs/delete_established_ike_sa_job.c'; fi`
+
+incoming_packet_job.o: queues/jobs/incoming_packet_job.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT incoming_packet_job.o -MD -MP -MF "$(DEPDIR)/incoming_packet_job.Tpo" -c -o incoming_packet_job.o `test -f 'queues/jobs/incoming_packet_job.c' || echo '$(srcdir)/'`queues/jobs/incoming_packet_job.c; \
+       then mv -f "$(DEPDIR)/incoming_packet_job.Tpo" "$(DEPDIR)/incoming_packet_job.Po"; else rm -f "$(DEPDIR)/incoming_packet_job.Tpo"; exit 1; fi
+#      source='queues/jobs/incoming_packet_job.c' object='incoming_packet_job.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o incoming_packet_job.o `test -f 'queues/jobs/incoming_packet_job.c' || echo '$(srcdir)/'`queues/jobs/incoming_packet_job.c
+
+incoming_packet_job.obj: queues/jobs/incoming_packet_job.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT incoming_packet_job.obj -MD -MP -MF "$(DEPDIR)/incoming_packet_job.Tpo" -c -o incoming_packet_job.obj `if test -f 'queues/jobs/incoming_packet_job.c'; then $(CYGPATH_W) 'queues/jobs/incoming_packet_job.c'; else $(CYGPATH_W) '$(srcdir)/queues/jobs/incoming_packet_job.c'; fi`; \
+       then mv -f "$(DEPDIR)/incoming_packet_job.Tpo" "$(DEPDIR)/incoming_packet_job.Po"; else rm -f "$(DEPDIR)/incoming_packet_job.Tpo"; exit 1; fi
+#      source='queues/jobs/incoming_packet_job.c' object='incoming_packet_job.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o incoming_packet_job.obj `if test -f 'queues/jobs/incoming_packet_job.c'; then $(CYGPATH_W) 'queues/jobs/incoming_packet_job.c'; else $(CYGPATH_W) '$(srcdir)/queues/jobs/incoming_packet_job.c'; fi`
+
+delete_half_open_ike_sa_job.o: queues/jobs/delete_half_open_ike_sa_job.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT delete_half_open_ike_sa_job.o -MD -MP -MF "$(DEPDIR)/delete_half_open_ike_sa_job.Tpo" -c -o delete_half_open_ike_sa_job.o `test -f 'queues/jobs/delete_half_open_ike_sa_job.c' || echo '$(srcdir)/'`queues/jobs/delete_half_open_ike_sa_job.c; \
+       then mv -f "$(DEPDIR)/delete_half_open_ike_sa_job.Tpo" "$(DEPDIR)/delete_half_open_ike_sa_job.Po"; else rm -f "$(DEPDIR)/delete_half_open_ike_sa_job.Tpo"; exit 1; fi
+#      source='queues/jobs/delete_half_open_ike_sa_job.c' object='delete_half_open_ike_sa_job.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o delete_half_open_ike_sa_job.o `test -f 'queues/jobs/delete_half_open_ike_sa_job.c' || echo '$(srcdir)/'`queues/jobs/delete_half_open_ike_sa_job.c
+
+delete_half_open_ike_sa_job.obj: queues/jobs/delete_half_open_ike_sa_job.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT delete_half_open_ike_sa_job.obj -MD -MP -MF "$(DEPDIR)/delete_half_open_ike_sa_job.Tpo" -c -o delete_half_open_ike_sa_job.obj `if test -f 'queues/jobs/delete_half_open_ike_sa_job.c'; then $(CYGPATH_W) 'queues/jobs/delete_half_open_ike_sa_job.c'; else $(CYGPATH_W) '$(srcdir)/queues/jobs/delete_half_open_ike_sa_job.c'; fi`; \
+       then mv -f "$(DEPDIR)/delete_half_open_ike_sa_job.Tpo" "$(DEPDIR)/delete_half_open_ike_sa_job.Po"; else rm -f "$(DEPDIR)/delete_half_open_ike_sa_job.Tpo"; exit 1; fi
+#      source='queues/jobs/delete_half_open_ike_sa_job.c' object='delete_half_open_ike_sa_job.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o delete_half_open_ike_sa_job.obj `if test -f 'queues/jobs/delete_half_open_ike_sa_job.c'; then $(CYGPATH_W) 'queues/jobs/delete_half_open_ike_sa_job.c'; else $(CYGPATH_W) '$(srcdir)/queues/jobs/delete_half_open_ike_sa_job.c'; fi`
+
+retransmit_request_job.o: queues/jobs/retransmit_request_job.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT retransmit_request_job.o -MD -MP -MF "$(DEPDIR)/retransmit_request_job.Tpo" -c -o retransmit_request_job.o `test -f 'queues/jobs/retransmit_request_job.c' || echo '$(srcdir)/'`queues/jobs/retransmit_request_job.c; \
+       then mv -f "$(DEPDIR)/retransmit_request_job.Tpo" "$(DEPDIR)/retransmit_request_job.Po"; else rm -f "$(DEPDIR)/retransmit_request_job.Tpo"; exit 1; fi
+#      source='queues/jobs/retransmit_request_job.c' object='retransmit_request_job.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o retransmit_request_job.o `test -f 'queues/jobs/retransmit_request_job.c' || echo '$(srcdir)/'`queues/jobs/retransmit_request_job.c
+
+retransmit_request_job.obj: queues/jobs/retransmit_request_job.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT retransmit_request_job.obj -MD -MP -MF "$(DEPDIR)/retransmit_request_job.Tpo" -c -o retransmit_request_job.obj `if test -f 'queues/jobs/retransmit_request_job.c'; then $(CYGPATH_W) 'queues/jobs/retransmit_request_job.c'; else $(CYGPATH_W) '$(srcdir)/queues/jobs/retransmit_request_job.c'; fi`; \
+       then mv -f "$(DEPDIR)/retransmit_request_job.Tpo" "$(DEPDIR)/retransmit_request_job.Po"; else rm -f "$(DEPDIR)/retransmit_request_job.Tpo"; exit 1; fi
+#      source='queues/jobs/retransmit_request_job.c' object='retransmit_request_job.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o retransmit_request_job.obj `if test -f 'queues/jobs/retransmit_request_job.c'; then $(CYGPATH_W) 'queues/jobs/retransmit_request_job.c'; else $(CYGPATH_W) '$(srcdir)/queues/jobs/retransmit_request_job.c'; fi`
+
+initiate_ike_sa_job.o: queues/jobs/initiate_ike_sa_job.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT initiate_ike_sa_job.o -MD -MP -MF "$(DEPDIR)/initiate_ike_sa_job.Tpo" -c -o initiate_ike_sa_job.o `test -f 'queues/jobs/initiate_ike_sa_job.c' || echo '$(srcdir)/'`queues/jobs/initiate_ike_sa_job.c; \
+       then mv -f "$(DEPDIR)/initiate_ike_sa_job.Tpo" "$(DEPDIR)/initiate_ike_sa_job.Po"; else rm -f "$(DEPDIR)/initiate_ike_sa_job.Tpo"; exit 1; fi
+#      source='queues/jobs/initiate_ike_sa_job.c' object='initiate_ike_sa_job.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o initiate_ike_sa_job.o `test -f 'queues/jobs/initiate_ike_sa_job.c' || echo '$(srcdir)/'`queues/jobs/initiate_ike_sa_job.c
+
+initiate_ike_sa_job.obj: queues/jobs/initiate_ike_sa_job.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT initiate_ike_sa_job.obj -MD -MP -MF "$(DEPDIR)/initiate_ike_sa_job.Tpo" -c -o initiate_ike_sa_job.obj `if test -f 'queues/jobs/initiate_ike_sa_job.c'; then $(CYGPATH_W) 'queues/jobs/initiate_ike_sa_job.c'; else $(CYGPATH_W) '$(srcdir)/queues/jobs/initiate_ike_sa_job.c'; fi`; \
+       then mv -f "$(DEPDIR)/initiate_ike_sa_job.Tpo" "$(DEPDIR)/initiate_ike_sa_job.Po"; else rm -f "$(DEPDIR)/initiate_ike_sa_job.Tpo"; exit 1; fi
+#      source='queues/jobs/initiate_ike_sa_job.c' object='initiate_ike_sa_job.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o initiate_ike_sa_job.obj `if test -f 'queues/jobs/initiate_ike_sa_job.c'; then $(CYGPATH_W) 'queues/jobs/initiate_ike_sa_job.c'; else $(CYGPATH_W) '$(srcdir)/queues/jobs/initiate_ike_sa_job.c'; fi`
+
+job_queue.o: queues/job_queue.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT job_queue.o -MD -MP -MF "$(DEPDIR)/job_queue.Tpo" -c -o job_queue.o `test -f 'queues/job_queue.c' || echo '$(srcdir)/'`queues/job_queue.c; \
+       then mv -f "$(DEPDIR)/job_queue.Tpo" "$(DEPDIR)/job_queue.Po"; else rm -f "$(DEPDIR)/job_queue.Tpo"; exit 1; fi
+#      source='queues/job_queue.c' object='job_queue.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o job_queue.o `test -f 'queues/job_queue.c' || echo '$(srcdir)/'`queues/job_queue.c
+
+job_queue.obj: queues/job_queue.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT job_queue.obj -MD -MP -MF "$(DEPDIR)/job_queue.Tpo" -c -o job_queue.obj `if test -f 'queues/job_queue.c'; then $(CYGPATH_W) 'queues/job_queue.c'; else $(CYGPATH_W) '$(srcdir)/queues/job_queue.c'; fi`; \
+       then mv -f "$(DEPDIR)/job_queue.Tpo" "$(DEPDIR)/job_queue.Po"; else rm -f "$(DEPDIR)/job_queue.Tpo"; exit 1; fi
+#      source='queues/job_queue.c' object='job_queue.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o job_queue.obj `if test -f 'queues/job_queue.c'; then $(CYGPATH_W) 'queues/job_queue.c'; else $(CYGPATH_W) '$(srcdir)/queues/job_queue.c'; fi`
+
+event_queue.o: queues/event_queue.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT event_queue.o -MD -MP -MF "$(DEPDIR)/event_queue.Tpo" -c -o event_queue.o `test -f 'queues/event_queue.c' || echo '$(srcdir)/'`queues/event_queue.c; \
+       then mv -f "$(DEPDIR)/event_queue.Tpo" "$(DEPDIR)/event_queue.Po"; else rm -f "$(DEPDIR)/event_queue.Tpo"; exit 1; fi
+#      source='queues/event_queue.c' object='event_queue.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o event_queue.o `test -f 'queues/event_queue.c' || echo '$(srcdir)/'`queues/event_queue.c
+
+event_queue.obj: queues/event_queue.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT event_queue.obj -MD -MP -MF "$(DEPDIR)/event_queue.Tpo" -c -o event_queue.obj `if test -f 'queues/event_queue.c'; then $(CYGPATH_W) 'queues/event_queue.c'; else $(CYGPATH_W) '$(srcdir)/queues/event_queue.c'; fi`; \
+       then mv -f "$(DEPDIR)/event_queue.Tpo" "$(DEPDIR)/event_queue.Po"; else rm -f "$(DEPDIR)/event_queue.Tpo"; exit 1; fi
+#      source='queues/event_queue.c' object='event_queue.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o event_queue.obj `if test -f 'queues/event_queue.c'; then $(CYGPATH_W) 'queues/event_queue.c'; else $(CYGPATH_W) '$(srcdir)/queues/event_queue.c'; fi`
+
+send_queue.o: queues/send_queue.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT send_queue.o -MD -MP -MF "$(DEPDIR)/send_queue.Tpo" -c -o send_queue.o `test -f 'queues/send_queue.c' || echo '$(srcdir)/'`queues/send_queue.c; \
+       then mv -f "$(DEPDIR)/send_queue.Tpo" "$(DEPDIR)/send_queue.Po"; else rm -f "$(DEPDIR)/send_queue.Tpo"; exit 1; fi
+#      source='queues/send_queue.c' object='send_queue.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o send_queue.o `test -f 'queues/send_queue.c' || echo '$(srcdir)/'`queues/send_queue.c
+
+send_queue.obj: queues/send_queue.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT send_queue.obj -MD -MP -MF "$(DEPDIR)/send_queue.Tpo" -c -o send_queue.obj `if test -f 'queues/send_queue.c'; then $(CYGPATH_W) 'queues/send_queue.c'; else $(CYGPATH_W) '$(srcdir)/queues/send_queue.c'; fi`; \
+       then mv -f "$(DEPDIR)/send_queue.Tpo" "$(DEPDIR)/send_queue.Po"; else rm -f "$(DEPDIR)/send_queue.Tpo"; exit 1; fi
+#      source='queues/send_queue.c' object='send_queue.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o send_queue.obj `if test -f 'queues/send_queue.c'; then $(CYGPATH_W) 'queues/send_queue.c'; else $(CYGPATH_W) '$(srcdir)/queues/send_queue.c'; fi`
+
+kernel_interface.o: threads/kernel_interface.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT kernel_interface.o -MD -MP -MF "$(DEPDIR)/kernel_interface.Tpo" -c -o kernel_interface.o `test -f 'threads/kernel_interface.c' || echo '$(srcdir)/'`threads/kernel_interface.c; \
+       then mv -f "$(DEPDIR)/kernel_interface.Tpo" "$(DEPDIR)/kernel_interface.Po"; else rm -f "$(DEPDIR)/kernel_interface.Tpo"; exit 1; fi
+#      source='threads/kernel_interface.c' object='kernel_interface.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o kernel_interface.o `test -f 'threads/kernel_interface.c' || echo '$(srcdir)/'`threads/kernel_interface.c
+
+kernel_interface.obj: threads/kernel_interface.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT kernel_interface.obj -MD -MP -MF "$(DEPDIR)/kernel_interface.Tpo" -c -o kernel_interface.obj `if test -f 'threads/kernel_interface.c'; then $(CYGPATH_W) 'threads/kernel_interface.c'; else $(CYGPATH_W) '$(srcdir)/threads/kernel_interface.c'; fi`; \
+       then mv -f "$(DEPDIR)/kernel_interface.Tpo" "$(DEPDIR)/kernel_interface.Po"; else rm -f "$(DEPDIR)/kernel_interface.Tpo"; exit 1; fi
+#      source='threads/kernel_interface.c' object='kernel_interface.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o kernel_interface.obj `if test -f 'threads/kernel_interface.c'; then $(CYGPATH_W) 'threads/kernel_interface.c'; else $(CYGPATH_W) '$(srcdir)/threads/kernel_interface.c'; fi`
+
+thread_pool.o: threads/thread_pool.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT thread_pool.o -MD -MP -MF "$(DEPDIR)/thread_pool.Tpo" -c -o thread_pool.o `test -f 'threads/thread_pool.c' || echo '$(srcdir)/'`threads/thread_pool.c; \
+       then mv -f "$(DEPDIR)/thread_pool.Tpo" "$(DEPDIR)/thread_pool.Po"; else rm -f "$(DEPDIR)/thread_pool.Tpo"; exit 1; fi
+#      source='threads/thread_pool.c' object='thread_pool.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o thread_pool.o `test -f 'threads/thread_pool.c' || echo '$(srcdir)/'`threads/thread_pool.c
+
+thread_pool.obj: threads/thread_pool.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT thread_pool.obj -MD -MP -MF "$(DEPDIR)/thread_pool.Tpo" -c -o thread_pool.obj `if test -f 'threads/thread_pool.c'; then $(CYGPATH_W) 'threads/thread_pool.c'; else $(CYGPATH_W) '$(srcdir)/threads/thread_pool.c'; fi`; \
+       then mv -f "$(DEPDIR)/thread_pool.Tpo" "$(DEPDIR)/thread_pool.Po"; else rm -f "$(DEPDIR)/thread_pool.Tpo"; exit 1; fi
+#      source='threads/thread_pool.c' object='thread_pool.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o thread_pool.obj `if test -f 'threads/thread_pool.c'; then $(CYGPATH_W) 'threads/thread_pool.c'; else $(CYGPATH_W) '$(srcdir)/threads/thread_pool.c'; fi`
+
+scheduler.o: threads/scheduler.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT scheduler.o -MD -MP -MF "$(DEPDIR)/scheduler.Tpo" -c -o scheduler.o `test -f 'threads/scheduler.c' || echo '$(srcdir)/'`threads/scheduler.c; \
+       then mv -f "$(DEPDIR)/scheduler.Tpo" "$(DEPDIR)/scheduler.Po"; else rm -f "$(DEPDIR)/scheduler.Tpo"; exit 1; fi
+#      source='threads/scheduler.c' object='scheduler.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o scheduler.o `test -f 'threads/scheduler.c' || echo '$(srcdir)/'`threads/scheduler.c
+
+scheduler.obj: threads/scheduler.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT scheduler.obj -MD -MP -MF "$(DEPDIR)/scheduler.Tpo" -c -o scheduler.obj `if test -f 'threads/scheduler.c'; then $(CYGPATH_W) 'threads/scheduler.c'; else $(CYGPATH_W) '$(srcdir)/threads/scheduler.c'; fi`; \
+       then mv -f "$(DEPDIR)/scheduler.Tpo" "$(DEPDIR)/scheduler.Po"; else rm -f "$(DEPDIR)/scheduler.Tpo"; exit 1; fi
+#      source='threads/scheduler.c' object='scheduler.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o scheduler.obj `if test -f 'threads/scheduler.c'; then $(CYGPATH_W) 'threads/scheduler.c'; else $(CYGPATH_W) '$(srcdir)/threads/scheduler.c'; fi`
+
+sender.o: threads/sender.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sender.o -MD -MP -MF "$(DEPDIR)/sender.Tpo" -c -o sender.o `test -f 'threads/sender.c' || echo '$(srcdir)/'`threads/sender.c; \
+       then mv -f "$(DEPDIR)/sender.Tpo" "$(DEPDIR)/sender.Po"; else rm -f "$(DEPDIR)/sender.Tpo"; exit 1; fi
+#      source='threads/sender.c' object='sender.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sender.o `test -f 'threads/sender.c' || echo '$(srcdir)/'`threads/sender.c
+
+sender.obj: threads/sender.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sender.obj -MD -MP -MF "$(DEPDIR)/sender.Tpo" -c -o sender.obj `if test -f 'threads/sender.c'; then $(CYGPATH_W) 'threads/sender.c'; else $(CYGPATH_W) '$(srcdir)/threads/sender.c'; fi`; \
+       then mv -f "$(DEPDIR)/sender.Tpo" "$(DEPDIR)/sender.Po"; else rm -f "$(DEPDIR)/sender.Tpo"; exit 1; fi
+#      source='threads/sender.c' object='sender.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sender.obj `if test -f 'threads/sender.c'; then $(CYGPATH_W) 'threads/sender.c'; else $(CYGPATH_W) '$(srcdir)/threads/sender.c'; fi`
+
+receiver.o: threads/receiver.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT receiver.o -MD -MP -MF "$(DEPDIR)/receiver.Tpo" -c -o receiver.o `test -f 'threads/receiver.c' || echo '$(srcdir)/'`threads/receiver.c; \
+       then mv -f "$(DEPDIR)/receiver.Tpo" "$(DEPDIR)/receiver.Po"; else rm -f "$(DEPDIR)/receiver.Tpo"; exit 1; fi
+#      source='threads/receiver.c' object='receiver.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o receiver.o `test -f 'threads/receiver.c' || echo '$(srcdir)/'`threads/receiver.c
+
+receiver.obj: threads/receiver.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT receiver.obj -MD -MP -MF "$(DEPDIR)/receiver.Tpo" -c -o receiver.obj `if test -f 'threads/receiver.c'; then $(CYGPATH_W) 'threads/receiver.c'; else $(CYGPATH_W) '$(srcdir)/threads/receiver.c'; fi`; \
+       then mv -f "$(DEPDIR)/receiver.Tpo" "$(DEPDIR)/receiver.Po"; else rm -f "$(DEPDIR)/receiver.Tpo"; exit 1; fi
+#      source='threads/receiver.c' object='receiver.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o receiver.obj `if test -f 'threads/receiver.c'; then $(CYGPATH_W) 'threads/receiver.c'; else $(CYGPATH_W) '$(srcdir)/threads/receiver.c'; fi`
+
+stroke_interface.o: threads/stroke_interface.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stroke_interface.o -MD -MP -MF "$(DEPDIR)/stroke_interface.Tpo" -c -o stroke_interface.o `test -f 'threads/stroke_interface.c' || echo '$(srcdir)/'`threads/stroke_interface.c; \
+       then mv -f "$(DEPDIR)/stroke_interface.Tpo" "$(DEPDIR)/stroke_interface.Po"; else rm -f "$(DEPDIR)/stroke_interface.Tpo"; exit 1; fi
+#      source='threads/stroke_interface.c' object='stroke_interface.o' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stroke_interface.o `test -f 'threads/stroke_interface.c' || echo '$(srcdir)/'`threads/stroke_interface.c
+
+stroke_interface.obj: threads/stroke_interface.c
+       if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stroke_interface.obj -MD -MP -MF "$(DEPDIR)/stroke_interface.Tpo" -c -o stroke_interface.obj `if test -f 'threads/stroke_interface.c'; then $(CYGPATH_W) 'threads/stroke_interface.c'; else $(CYGPATH_W) '$(srcdir)/threads/stroke_interface.c'; fi`; \
+       then mv -f "$(DEPDIR)/stroke_interface.Tpo" "$(DEPDIR)/stroke_interface.Po"; else rm -f "$(DEPDIR)/stroke_interface.Tpo"; exit 1; fi
+#      source='threads/stroke_interface.c' object='stroke_interface.obj' libtool=no \
+#      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#      $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stroke_interface.obj `if test -f 'threads/stroke_interface.c'; then $(CYGPATH_W) 'threads/stroke_interface.c'; else $(CYGPATH_W) '$(srcdir)/threads/stroke_interface.c'; fi`
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+distclean-libtool:
+       -rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+           $$tags $$unique; \
+       fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       test -z "$(CTAGS_ARGS)$$tags$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$tags $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && cd $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+       list='$(DISTFILES)'; for file in $$list; do \
+         case $$file in \
+           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+           $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+         esac; \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+         if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+           dir="/$$dir"; \
+           $(mkdir_p) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
+         fi; \
+         if test -d $$d/$$file; then \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+         else \
+           test -f $(distdir)/$$file \
+           || cp -p $$d/$$file $(distdir)/$$file \
+           || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+       for dir in "$(DESTDIR)$(bindir)"; do \
+         test -z "$$dir" || $(mkdir_p) "$$dir"; \
+       done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+         `test -z '$(STRIP)' || \
+           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+       clean-generic clean-libtool ctags distclean distclean-compile \
+       distclean-generic distclean-libtool distclean-tags distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-binPROGRAMS install-data install-data-am install-exec \
+       install-exec-am install-info install-info-am install-man \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+       pdf pdf-am ps ps-am tags uninstall uninstall-am \
+       uninstall-binPROGRAMS uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/freeswan.h b/src/freeswan.h
new file mode 100644 (file)
index 0000000..4ef948b
--- /dev/null
@@ -0,0 +1,477 @@
+#ifndef _FREESWAN_H
+/*
+ * header file for FreeS/WAN library functions
+ * Copyright (C) 1998, 1999, 2000  Henry Spencer.
+ * Copyright (C) 1999, 2000, 2001  Richard Guy Briggs
+ * 
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Library General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.  See <http://www.fsf.org/copyleft/lgpl.txt>.
+ * 
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+ * License for more details.
+ *
+ * RCSID $Id: freeswan.h,v 1.2 2004/03/22 21:53:17 as Exp $
+ */
+#define        _FREESWAN_H     /* seen it, no need to see it again */
+
+
+
+/*
+ * We've just got to have some datatypes defined...  And annoyingly, just
+ * where we get them depends on whether we're in userland or not.
+ */
+#ifdef __KERNEL__
+
+#  include <linux/types.h>
+#  include <linux/in.h>
+
+#else /* __KERNEL__ */
+
+#  include <stdio.h>
+#  include <netinet/in.h>
+
+#  define uint8_t u_int8_t
+#  define uint16_t u_int16_t 
+#  define uint32_t u_int32_t 
+#  define uint64_t u_int64_t 
+
+#  define DEBUG_NO_STATIC static
+
+#endif /* __KERNEL__ */
+
+#include <freeswan/ipsec_param.h>
+
+
+/*
+ * Grab the kernel version to see if we have NET_21, and therefore 
+ * IPv6. Some of this is repeated from ipsec_kversions.h. Of course, 
+ * we aren't really testing if the kernel has IPv6, but rather if the
+ * the include files do.
+ */
+#include <linux/version.h>
+#ifndef KERNEL_VERSION
+#define KERNEL_VERSION(x,y,z) (((x)<<16)+((y)<<8)+(z))
+#endif
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,1,0)
+#define NET_21
+#endif
+
+#ifndef IPPROTO_COMP
+#  define IPPROTO_COMP 108
+#endif /* !IPPROTO_COMP */
+
+#ifndef IPPROTO_INT
+#  define IPPROTO_INT 61
+#endif /* !IPPROTO_INT */
+
+#ifdef CONFIG_IPSEC_DEBUG
+#  define DEBUG_NO_STATIC
+#else /* CONFIG_IPSEC_DEBUG */
+#  define DEBUG_NO_STATIC static
+#endif /* CONFIG_IPSEC_DEBUG */
+
+#ifdef CONFIG_IPSEC_NAT_TRAVERSAL /* KERNEL ifdef */
+#ifndef NAT_TRAVERSAL
+#define NAT_TRAVERSAL
+#endif
+#endif
+#ifdef NAT_TRAVERSAL
+#define ESPINUDP_WITH_NON_IKE   1  /* draft-ietf-ipsec-nat-t-ike-00/01 */
+#define ESPINUDP_WITH_NON_ESP   2  /* draft-ietf-ipsec-nat-t-ike-02    */
+#endif
+
+/*
+ * Basic data types for the address-handling functions.
+ * ip_address and ip_subnet are supposed to be opaque types; do not
+ * use their definitions directly, they are subject to change!
+ */
+
+/* first, some quick fakes in case we're on an old system with no IPv6 */
+#ifndef s6_addr16
+struct in6_addr {
+       union 
+       {
+               __u8            u6_addr8[16];
+               __u16           u6_addr16[8];
+               __u32           u6_addr32[4];
+       } in6_u;
+#define s6_addr                        in6_u.u6_addr8
+#define s6_addr16              in6_u.u6_addr16
+#define s6_addr32              in6_u.u6_addr32
+};
+struct sockaddr_in6 {
+       unsigned short int      sin6_family;    /* AF_INET6 */
+       __u16                   sin6_port;      /* Transport layer port # */
+       __u32                   sin6_flowinfo;  /* IPv6 flow information */
+       struct in6_addr         sin6_addr;      /* IPv6 address */
+       __u32                   sin6_scope_id;  /* scope id (new in RFC2553) */
+};
+#endif /* !s6_addr16 */
+
+/* then the main types */
+typedef struct {
+       union {
+               struct sockaddr_in v4;
+               struct sockaddr_in6 v6;
+       } u;
+} ip_address;
+typedef struct {
+       ip_address addr;
+       int maskbits;
+} ip_subnet;
+
+/* and the SA ID stuff */
+#ifdef __KERNEL__
+typedef __u32 ipsec_spi_t;
+#else
+typedef u_int32_t ipsec_spi_t;
+#endif
+typedef struct {               /* to identify an SA, we need: */
+        ip_address dst;                /* A. destination host */
+        ipsec_spi_t spi;       /* B. 32-bit SPI, assigned by dest. host */
+#              define  SPI_PASS        256     /* magic values... */
+#              define  SPI_DROP        257     /* ...for use... */
+#              define  SPI_REJECT      258     /* ...with SA_INT */
+#              define  SPI_HOLD        259
+#              define  SPI_TRAP        260
+#              define  SPI_TRAPSUBNET  261
+       int proto;              /* C. protocol */
+#              define  SA_ESP  50      /* IPPROTO_ESP */
+#              define  SA_AH   51      /* IPPROTO_AH */
+#              define  SA_IPIP 4       /* IPPROTO_IPIP */
+#              define  SA_COMP 108     /* IPPROTO_COMP */
+#              define  SA_INT  61      /* IANA reserved for internal use */
+} ip_said;
+struct sa_id {                 /* old v4-only version */
+        struct in_addr dst;
+        ipsec_spi_t spi;
+       int proto;
+};
+
+/* misc */
+typedef const char *err_t;     /* error message, or NULL for success */
+struct prng {                  /* pseudo-random-number-generator guts */
+       unsigned char sbox[256];
+       int i, j;
+       unsigned long count;
+};
+
+
+/*
+ * definitions for user space, taken from freeswan/ipsec_sa.h
+ */
+typedef uint32_t IPsecSAref_t;
+
+#define IPSEC_SA_REF_FIELD_WIDTH (8 * sizeof(IPsecSAref_t))
+
+#define IPsecSAref2NFmark(x) ((x) << (IPSEC_SA_REF_FIELD_WIDTH - IPSEC_SA_REF_TABLE_IDX_WIDTH))
+#define NFmark2IPsecSAref(x) ((x) >> (IPSEC_SA_REF_FIELD_WIDTH - IPSEC_SA_REF_TABLE_IDX_WIDTH))
+
+#define IPSEC_SAREF_NULL (~((IPsecSAref_t)0))
+
+/* GCC magic for use in function definitions! */
+#ifdef GCC_LINT
+# define PRINTF_LIKE(n) __attribute__ ((format(printf, n, n+1)))
+# define NEVER_RETURNS __attribute__ ((noreturn))
+# define UNUSED __attribute__ ((unused))
+# define BLANK_FORMAT " "      /* GCC_LINT whines about empty formats */
+#else
+# define PRINTF_LIKE(n)        /* ignore */
+# define NEVER_RETURNS /* ignore */
+# define UNUSED /* ignore */
+# define BLANK_FORMAT ""
+#endif
+
+
+
+
+
+/*
+ * new IPv6-compatible functions
+ */
+
+/* text conversions */
+err_t ttoul(const char *src, size_t srclen, int format, unsigned long *dst);
+size_t ultot(unsigned long src, int format, char *buf, size_t buflen);
+#define        ULTOT_BUF       (22+1)  /* holds 64 bits in octal */
+err_t ttoaddr(const char *src, size_t srclen, int af, ip_address *dst);
+err_t tnatoaddr(const char *src, size_t srclen, int af, ip_address *dst);
+size_t addrtot(const ip_address *src, int format, char *buf, size_t buflen);
+/* RFC 1886 old IPv6 reverse-lookup format is the bulkiest */
+#define        ADDRTOT_BUF     (32*2 + 3 + 1 + 3 + 1 + 1)
+err_t ttosubnet(const char *src, size_t srclen, int af, ip_subnet *dst);
+size_t subnettot(const ip_subnet *src, int format, char *buf, size_t buflen);
+#define        SUBNETTOT_BUF   (ADDRTOT_BUF + 1 + 3)
+err_t ttosa(const char *src, size_t srclen, ip_said *dst);
+size_t satot(const ip_said *src, int format, char *bufptr, size_t buflen);
+#define        SATOT_BUF       (5 + ULTOA_BUF + 1 + ADDRTOT_BUF)
+err_t ttodata(const char *src, size_t srclen, int base, char *buf,
+                                               size_t buflen, size_t *needed);
+err_t ttodatav(const char *src, size_t srclen, int base,
+              char *buf,  size_t buflen, size_t *needed,
+              char *errp, size_t errlen, unsigned int flags);
+#define        TTODATAV_BUF    40      /* ttodatav's largest non-literal message */
+#define TTODATAV_IGNORESPACE  (1<<1)  /* ignore spaces in base64 encodings*/
+#define TTODATAV_SPACECOUNTS  0       /* do not ignore spaces in base64   */
+
+size_t datatot(const char *src, size_t srclen, int format, char *buf,
+                                                               size_t buflen);
+size_t keyblobtoid(const unsigned char *src, size_t srclen, char *dst,
+                                                               size_t dstlen);
+size_t splitkeytoid(const unsigned char *e, size_t elen, const unsigned char *m,
+                                       size_t mlen, char *dst, size_t dstlen);
+#define        KEYID_BUF               10      /* up to 9 text digits plus NUL */
+err_t ttoprotoport(char *src, size_t src_len, u_int8_t *proto, u_int16_t *port,
+                                                       int *has_port_wildcard);
+
+/* initializations */
+void initsaid(const ip_address *addr, ipsec_spi_t spi, int proto, ip_said *dst);
+err_t loopbackaddr(int af, ip_address *dst);
+err_t unspecaddr(int af, ip_address *dst);
+err_t anyaddr(int af, ip_address *dst);
+err_t initaddr(const unsigned char *src, size_t srclen, int af, ip_address *dst);
+err_t initsubnet(const ip_address *addr, int maskbits, int clash, ip_subnet *dst);
+err_t addrtosubnet(const ip_address *addr, ip_subnet *dst);
+
+/* misc. conversions and related */
+err_t rangetosubnet(const ip_address *from, const ip_address *to, ip_subnet *dst);
+int addrtypeof(const ip_address *src);
+int subnettypeof(const ip_subnet *src);
+size_t addrlenof(const ip_address *src);
+size_t addrbytesptr(const ip_address *src, const unsigned char **dst);
+size_t addrbytesof(const ip_address *src, unsigned char *dst, size_t dstlen);
+int masktocount(const ip_address *src);
+void networkof(const ip_subnet *src, ip_address *dst);
+void maskof(const ip_subnet *src, ip_address *dst);
+
+/* tests */
+int sameaddr(const ip_address *a, const ip_address *b);
+int addrcmp(const ip_address *a, const ip_address *b);
+int samesubnet(const ip_subnet *a, const ip_subnet *b);
+int addrinsubnet(const ip_address *a, const ip_subnet *s);
+int subnetinsubnet(const ip_subnet *a, const ip_subnet *b);
+int subnetishost(const ip_subnet *s);
+int samesaid(const ip_said *a, const ip_said *b);
+int sameaddrtype(const ip_address *a, const ip_address *b);
+int samesubnettype(const ip_subnet *a, const ip_subnet *b);
+int isanyaddr(const ip_address *src);
+int isunspecaddr(const ip_address *src);
+int isloopbackaddr(const ip_address *src);
+
+/* low-level grot */
+int portof(const ip_address *src);
+void setportof(int port, ip_address *dst);
+struct sockaddr *sockaddrof(ip_address *src);
+size_t sockaddrlenof(const ip_address *src);
+
+/* PRNG */
+void prng_init(struct prng *prng, const unsigned char *key, size_t keylen);
+void prng_bytes(struct prng *prng, unsigned char *dst, size_t dstlen);
+unsigned long prng_count(struct prng *prng);
+void prng_final(struct prng *prng);
+
+/* odds and ends */
+const char *ipsec_version_code(void);
+const char *ipsec_version_string(void);
+const char **ipsec_copyright_notice(void);
+
+const char *dns_string_rr(int rr, char *buf, int bufsize);
+const char *dns_string_datetime(time_t seconds,
+                               char *buf,
+                               int bufsize);
+
+
+/*
+ * old functions, to be deleted eventually
+ */
+
+/* unsigned long */
+const char *                   /* NULL for success, else string literal */
+atoul(
+       const char *src,
+       size_t srclen,          /* 0 means strlen(src) */
+       int base,               /* 0 means figure it out */
+       unsigned long *resultp
+);
+size_t                         /* space needed for full conversion */
+ultoa(
+       unsigned long n,
+       int base,
+       char *dst,
+       size_t dstlen
+);
+#define        ULTOA_BUF       21      /* just large enough for largest result, */
+                               /* assuming 64-bit unsigned long! */
+
+/* Internet addresses */
+const char *                   /* NULL for success, else string literal */
+atoaddr(
+       const char *src,
+       size_t srclen,          /* 0 means strlen(src) */
+       struct in_addr *addr
+);
+size_t                         /* space needed for full conversion */
+addrtoa(
+       struct in_addr addr,
+       int format,             /* character; 0 means default */
+       char *dst,
+       size_t dstlen
+);
+#define        ADDRTOA_BUF     16      /* just large enough for largest result */
+
+/* subnets */
+const char *                   /* NULL for success, else string literal */
+atosubnet(
+       const char *src,
+       size_t srclen,          /* 0 means strlen(src) */
+       struct in_addr *addr,
+       struct in_addr *mask
+);
+size_t                         /* space needed for full conversion */
+subnettoa(
+       struct in_addr addr,
+       struct in_addr mask,
+       int format,             /* character; 0 means default */
+       char *dst,
+       size_t dstlen
+);
+#define        SUBNETTOA_BUF   32      /* large enough for worst case result */
+
+/* ranges */
+const char *                   /* NULL for success, else string literal */
+atoasr(
+       const char *src,
+       size_t srclen,          /* 0 means strlen(src) */
+       char *type,             /* 'a', 's', 'r' */
+       struct in_addr *addrs   /* two-element array */
+);
+size_t                         /* space needed for full conversion */
+rangetoa(
+       struct in_addr *addrs,  /* two-element array */
+       int format,             /* character; 0 means default */
+       char *dst,
+       size_t dstlen
+);
+#define        RANGETOA_BUF    34      /* large enough for worst case result */
+
+/* data types for SA conversion functions */
+
+/* SAs */
+const char *                   /* NULL for success, else string literal */
+atosa(
+       const char *src,
+       size_t srclen,          /* 0 means strlen(src) */
+       struct sa_id *sa
+);
+size_t                         /* space needed for full conversion */
+satoa(
+       struct sa_id sa,
+       int format,             /* character; 0 means default */
+       char *dst,
+       size_t dstlen
+);
+#define        SATOA_BUF       (3+ULTOA_BUF+ADDRTOA_BUF)
+
+/* generic data, e.g. keys */
+const char *                   /* NULL for success, else string literal */
+atobytes(
+       const char *src,
+       size_t srclen,          /* 0 means strlen(src) */
+       char *dst,
+       size_t dstlen,
+       size_t *lenp            /* NULL means don't bother telling me */
+);
+size_t                         /* 0 failure, else true size */
+bytestoa(
+       const char *src,
+       size_t srclen,
+       int format,             /* character; 0 means default */
+       char *dst,
+       size_t dstlen
+);
+
+/* old versions of generic-data functions; deprecated */
+size_t                         /* 0 failure, else true size */
+atodata(
+       const char *src,
+       size_t srclen,          /* 0 means strlen(src) */
+       char *dst,
+       size_t dstlen
+);
+size_t                         /* 0 failure, else true size */
+datatoa(
+       const char *src,
+       size_t srclen,
+       int format,             /* character; 0 means default */
+       char *dst,
+       size_t dstlen
+);
+
+/* part extraction and special addresses */
+struct in_addr
+subnetof(
+       struct in_addr addr,
+       struct in_addr mask
+);
+struct in_addr
+hostof(
+       struct in_addr addr,
+       struct in_addr mask
+);
+struct in_addr
+broadcastof(
+       struct in_addr addr,
+       struct in_addr mask
+);
+
+/* mask handling */
+int
+goodmask(
+       struct in_addr mask
+);
+int
+masktobits(
+       struct in_addr mask
+);
+struct in_addr
+bitstomask(
+       int n
+);
+
+
+
+/*
+ * general utilities
+ */
+
+#ifndef __KERNEL__
+/* option pickup from files (userland only because of use of FILE) */
+const char *optionsfrom(const char *filename, int *argcp, char ***argvp,
+                                               int optind, FILE *errorreport);
+#endif
+
+/*
+ * Debugging levels for pfkey_lib_debug
+ */
+#define PF_KEY_DEBUG_PARSE_NONE    0
+#define PF_KEY_DEBUG_PARSE_PROBLEM 1
+#define PF_KEY_DEBUG_PARSE_STRUCT  2
+#define PF_KEY_DEBUG_PARSE_FLOW    4
+#define PF_KEY_DEBUG_PARSE_MAX     7
+
+extern unsigned int pfkey_lib_debug;  /* bits selecting what to report */
+
+/*
+ * pluto and lwdnsq need to know the maximum size of the commands to,
+ * and replies from lwdnsq. 
+ */
+
+#define LWDNSQ_CMDBUF_LEN      1024
+#define LWDNSQ_RESULT_LEN_MAX  4096
+
+#endif /* _FREESWAN_H */
diff --git a/src/freeswan/.cvsignore b/src/freeswan/.cvsignore
new file mode 100644 (file)
index 0000000..49cc19c
--- /dev/null
@@ -0,0 +1,9 @@
+try
+try1a
+try2
+try3
+try4
+try4a
+try6
+try7
+version.c
diff --git a/src/freeswan/Makefile b/src/freeswan/Makefile
new file mode 100644 (file)
index 0000000..50a98b4
--- /dev/null
@@ -0,0 +1,174 @@
+# FreeS/WAN library
+# Copyright (C) 1998-2001  Henry Spencer.
+# 
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2 of the License, or (at your
+# option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
+# 
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# RCSID $Id: Makefile,v 1.2 2004/03/22 21:53:17 as Exp $
+
+
+FREESWANSRCDIR=../..
+
+include ${FREESWANSRCDIR}/Makefile.inc
+include ${FREESWANSRCDIR}/Makefile.ver
+
+
+MANDIR=$(MANTREE)/man3
+
+SRCS=addrtoa.c addrtot.c addrtypeof.c anyaddr.c atoaddr.c \
+       atoasr.c atosa.c atosubnet.c atoul.c copyright.c datatot.c \
+       goodmask.c initaddr.c initsaid.c initsubnet.c keyblobtoid.c \
+       optionsfrom.c pfkey_v2_build.c pfkey_v2_ext_bits.c pfkey_v2_parse.c \
+       pfkey_v2_debug.c prng.c \
+       portof.c rangetoa.c rangetosubnet.c sameaddr.c \
+       satoa.c satot.c subnetof.c subnettoa.c subnettot.c \
+       subnettypeof.c ttoaddr.c ttodata.c ttoprotoport.c \
+       ttosa.c ttosubnet.c ttoul.c ultoa.c ultot.c 
+
+OBJS=${SRCS:.c=.o} version.o
+
+KLIPSD=${FREESWANSRCDIR}/linux/include
+SRCDIR=${FREESWANSRCDIR}/linux/lib/libfreeswan
+
+VPATH = ${SRCDIR}
+
+HDRS=${KLIPSD}/freeswan.h ${SRCDIR}/internal.h
+
+LIB=libfreeswan.a
+# Original flags
+CFLAGS=-I. -I${SRCDIR} -I${KLIPSD} -I${FREESWANSRCDIR} $(USERCOMPILE)
+CFLAGS+= -Wall
+#CFLAGS+= -Wconversion
+#CFLAGS+= -Wmissing-prototypes
+CFLAGS+= -Wpointer-arith
+CFLAGS+= -Wcast-qual
+#CFLAGS+= -Wmissing-declarations
+CFLAGS+= -Wstrict-prototypes
+#CFLAGS+= -pedantic
+#CFLAGS+= -W
+#CFLAGS+= -Wwrite-strings
+CFLAGS+= -Wbad-function-cast 
+CFLAGS+= -DNAT_TRAVERSAL
+
+
+ARFLAGS=crvs
+EXTHDRS=des.h
+EXTLIBS=libdes.a
+MANS=anyaddr.3 atoaddr.3 atoasr.3 atosa.3 atoul.3 goodmask.3 \
+       initaddr.3 initsubnet.3 optionsfrom.3 portof.3 rangetosubnet.3 \
+       sameaddr.3 subnetof.3 ttoaddr.3 ttodata.3 ttosa.3 ttoul.3 version.3
+
+.PHONY:        all install clean l t lt tar check depend checkprograms
+
+all:   $(LIB) 
+programs: $(LIB)
+
+install:
+       @mkdir -p $(MANDIR)
+       @for f in $(MANS) ; \
+       do \
+               $(INSTALL) $(INSTMANFLAGS) $(SRCDIR)/$$f $(MANDIR)/ipsec_$$f || exit 1 ; \
+       done
+       @$(FREESWANSRCDIR)/utils/manlink $(foreach man, $(MANS), ${SRCDIR}/$(man)) | \
+       while read from to; \
+       do \
+               ln -s -f ipsec_$$from $(MANDIR)/$$to; \
+       done
+
+
+install_file_list:
+       @for f in $(MANS) ; \
+       do \
+               echo $(MANDIR)/ipsec_$$f;\
+       done;
+       @$(FREESWANSRCDIR)/utils/manlink $(foreach man, $(MANS), ${SRCDIR}/$(man)) | \
+       while read from to; \
+       do \
+               echo $(MANDIR)/$$to; \
+       done
+
+$(LIB):        $(OBJS)
+       $(AR) $(ARFLAGS) $(LIB) $(OBJS)
+
+$(OBJS):       $(HDRS)
+
+# build version.c using version number from Makefile.ver
+version.c:     ${SRCDIR}/version.in.c ${FREESWANSRCDIR}/Makefile.ver
+       sed '/"/s/xxx/$(IPSECVERSION)/' ${SRCDIR}/version.in.c >$@
+
+#libdes.a:     ../libdes/libdes.a
+#      ln -f -s ../libdes/libdes.a
+#
+# yes, that's CFLAG=, not CFLAGS=
+#../libdes/libdes.a:
+#      cd ../libdes ; \
+#      if test " `arch | sed 's/^i[3456]/x/'`" = " x86" ; \
+#      then $(MAKE) CC='$(CC)' CFLAG='$(CFLAGS)' TESTING='' x86-elf ; \
+#      else $(MAKE) CC='$(CC)' CFLAG='$(CFLAGS)' libdes.a ; \
+#      fi
+
+clean:
+       rm -f $(LIB) *.o try* core *.core $(EXTHDRS) $(EXTLIBS) version.c
+
+
+# developer-only stuff
+l:
+       $(MAKE) $(LIB) ARFLAGS=crv CFLAGS=-O
+       $(RANLIB) $(LIB)
+
+t:     $(LIB) 
+       ln -f -s ${SRCDIR}/atosubnet.c try.c
+       ${CC} ${CFLAGS} -DATOSUBNET_MAIN try.c $(LIB) -o try
+       ./try -r
+       ln -f -s ${SRCDIR}/ttosubnet.c try1a.c
+       ${CC} ${CFLAGS} -DTTOSUBNET_MAIN try1a.c $(LIB) -o try1a
+       ./try1a -r
+       ln -f -s ${SRCDIR}/ttodata.c try2.c
+       ${CC} ${CFLAGS} -DTTODATA_MAIN try2.c $(LIB) -o try2
+       ./try2 -r
+       ln -f -s ${SRCDIR}/atoasr.c try3.c
+       ${CC} ${CFLAGS} -DATOASR_MAIN try3.c $(LIB) -o try3
+       ./try3 -r
+       ln -f -s ${SRCDIR}/atosa.c try4.c
+       ${CC} ${CFLAGS} -DATOSA_MAIN try4.c $(LIB) -o try4
+       ./try4 -r
+       ln -f -s ${SRCDIR}/ttosa.c try4a.c
+       ${CC} ${CFLAGS} -DTTOSA_MAIN try4a.c $(LIB) -o try4a
+       ./try4a -r
+       ln -f -s ${SRCDIR}/rangetosubnet.c try6.c
+       ${CC} ${CFLAGS} -DRANGETOSUBNET_MAIN try6.c $(LIB) -o try6
+       ./try6 -r
+       ln -f -s ${SRCDIR}/addrtot.c try7.c
+       ${CC} ${CFLAGS} -DADDRTOT_MAIN try7.c $(LIB) -o try7
+       ./try7 -r
+
+lt:    $(LIB)
+       $(MAKE) t
+       cp optionsfrom.c try5.c
+       cc -DTEST try5.c $(LIB) -o try5
+       echo --foo --bar >try5in1
+       echo --optionsfrom >>try5in1
+       echo try5in2 >>try5in1
+       echo --foo >try5in2
+       ./try5 --foo --bar --optionsfrom try5in1 --bar something
+
+tar:   clean
+       tar -cvf /tmp/lib.tar Makefile [a-z]*
+
+check:
+       echo no checks in lib right now.
+
+depend:
+       makedepend -Y -- $(CFLAGS) -- $(SRCS)
+
+checkprograms:
+
+# DO NOT DELETE
+
diff --git a/src/freeswan/Makefile.objs b/src/freeswan/Makefile.objs
new file mode 100644 (file)
index 0000000..41a89db
--- /dev/null
@@ -0,0 +1,18 @@
+obj-y += ultoa.o 
+obj-y += addrtoa.o 
+obj-y += subnettoa.o 
+obj-y += subnetof.o 
+obj-y += goodmask.o 
+obj-y += datatot.o 
+obj-y += rangetoa.o 
+obj-y += satoa.o 
+obj-y += prng.o 
+obj-y += pfkey_v2_parse.o 
+obj-y += pfkey_v2_build.o 
+obj-y += pfkey_v2_debug.o 
+obj-y += pfkey_v2_ext_bits.o 
+obj-y += version.o
+
+
+version.c:     ${LIBFREESWANDIR}/version.in.c ${FREESWANSRCDIR}/Makefile.ver
+       sed '/"/s/xxx/$(IPSECVERSION)/' ${LIBFREESWANDIR}/version.in.c >$@
diff --git a/src/freeswan/addrtoa.c b/src/freeswan/addrtoa.c
new file mode 100644 (file)
index 0000000..b1cc038
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * addresses to ASCII
+ * Copyright (C) 1998, 1999  Henry Spencer.
+ * 
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Library General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.  See <http://www.fsf.org/copyleft/lgpl.txt>.
+ * 
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+ * License for more details.
+ *
+ * RCSID $Id: addrtoa.c,v 1.1 2004/03/15 20:35:25 as Exp $
+ */
+#include "internal.h"
+#include "freeswan.h"
+
+#define        NBYTES  4               /* bytes in an address */
+#define        PERBYTE 4               /* three digits plus a dot or NUL */
+#define        BUFLEN  (NBYTES*PERBYTE)
+
+#if BUFLEN != ADDRTOA_BUF
+#error "ADDRTOA_BUF in freeswan.h inconsistent with addrtoa() code"
+#endif
+
+/*
+ - addrtoa - convert binary address to ASCII dotted decimal
+ */
+size_t                         /* space needed for full conversion */
+addrtoa(addr, format, dst, dstlen)
+struct in_addr addr;
+int format;                    /* character */
+char *dst;                     /* need not be valid if dstlen is 0 */
+size_t dstlen;
+{
+       unsigned long a = ntohl(addr.s_addr);
+       int i;
+       size_t n;
+       unsigned long byte;
+       char buf[BUFLEN];
+       char *p;
+
+       switch (format) {
+       case 0:
+               break;
+       default:
+               return 0;
+               break;
+       }
+
+       p = buf;
+       for (i = NBYTES-1; i >= 0; i--) {
+               byte = (a >> (i*8)) & 0xff;
+               p += ultoa(byte, 10, p, PERBYTE);
+               if (i != 0)
+                       *(p-1) = '.';
+       }
+       n = p - buf;
+
+       if (dstlen > 0) {
+               if (n > dstlen)
+                       buf[dstlen - 1] = '\0';
+               strcpy(dst, buf);
+       }
+       return n;
+}
diff --git a/src/freeswan/addrtot.c b/src/freeswan/addrtot.c
new file mode 100644 (file)
index 0000000..f229789
--- /dev/null
@@ -0,0 +1,302 @@
+/*
+ * addresses to text
+ * Copyright (C) 2000  Henry Spencer.
+ * 
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Library General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.  See <http://www.fsf.org/copyleft/lgpl.txt>.
+ * 
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+ * License for more details.
+ *
+ * RCSID $Id: addrtot.c,v 1.1 2004/03/15 20:35:25 as Exp $
+ */
+#include "internal.h"
+#include "freeswan.h"
+
+#define        IP4BYTES        4       /* bytes in an IPv4 address */
+#define        PERBYTE         4       /* three digits plus a dot or NUL */
+#define        IP6BYTES        16      /* bytes in an IPv6 address */
+
+/* forwards */
+static size_t normal4(const unsigned char *s, size_t len, char *b, char **dp);
+static size_t normal6(const unsigned char *s, size_t len, char *b, char **dp, int squish);
+static size_t reverse4(const unsigned char *s, size_t len, char *b, char **dp);
+static size_t reverse6(const unsigned char *s, size_t len, char *b, char **dp);
+
+/*
+ - addrtot - convert binary address to text (dotted decimal or IPv6 string)
+ */
+size_t                         /* space needed for full conversion */
+addrtot(src, format, dst, dstlen)
+const ip_address *src;
+int format;                    /* character */
+char *dst;                     /* need not be valid if dstlen is 0 */
+size_t dstlen;
+{
+       const unsigned char *b;
+       size_t n;
+       char buf[1+ADDRTOT_BUF+1];      /* :address: */
+       char *p;
+       int t = addrtypeof(src);
+#      define  TF(t, f)        (((t)<<8) | (f))
+
+       n = addrbytesptr(src, &b);
+       if (n == 0)
+               return 0;
+
+       switch (TF(t, format)) {
+       case TF(AF_INET, 0):
+               n = normal4(b, n, buf, &p);
+               break;
+       case TF(AF_INET6, 0):
+               n = normal6(b, n, buf, &p, 1);
+               break;
+       case TF(AF_INET, 'Q'):
+               n = normal4(b, n, buf, &p);
+               break;
+       case TF(AF_INET6, 'Q'):
+               n = normal6(b, n, buf, &p, 0);
+               break;
+       case TF(AF_INET, 'r'):
+               n = reverse4(b, n, buf, &p);
+               break;
+       case TF(AF_INET6, 'r'):
+               n = reverse6(b, n, buf, &p);
+               break;
+       default:                /* including (AF_INET, 'R') */
+               return 0;
+               break;
+       }
+
+       if (dstlen > 0) {
+               if (dstlen < n)
+                       p[dstlen - 1] = '\0';
+               strcpy(dst, p);
+       }
+       return n;
+}
+
+/*
+ - normal4 - normal IPv4 address-text conversion
+ */
+static size_t                  /* size of text, including NUL */
+normal4(srcp, srclen, buf, dstp)
+const unsigned char *srcp;
+size_t srclen;
+char *buf;                     /* guaranteed large enough */
+char **dstp;                   /* where to put result pointer */
+{
+       int i;
+       char *p;
+
+       if (srclen != IP4BYTES) /* "can't happen" */
+               return 0;
+       p = buf;
+       for (i = 0; i < IP4BYTES; i++) {
+               p += ultot(srcp[i], 10, p, PERBYTE);
+               if (i != IP4BYTES - 1)
+                       *(p-1) = '.';   /* overwrites the NUL */
+       }
+       *dstp = buf;
+       return p - buf;
+}
+
+/*
+ - normal6 - normal IPv6 address-text conversion
+ */
+static size_t                  /* size of text, including NUL */
+normal6(srcp, srclen, buf, dstp, squish)
+const unsigned char *srcp;
+size_t srclen;
+char *buf;                     /* guaranteed large enough, plus 2 */
+char **dstp;                   /* where to put result pointer */
+int    squish;                  /* whether to squish out 0:0 */
+{
+       int i;
+       unsigned long piece;
+       char *p;
+       char *q;
+
+       if (srclen != IP6BYTES) /* "can't happen" */
+               return 0;
+       p = buf;
+       *p++ = ':';
+       for (i = 0; i < IP6BYTES/2; i++) {
+               piece = (srcp[2*i] << 8) + srcp[2*i + 1];
+               p += ultot(piece, 16, p, 5);    /* 5 = abcd + NUL */
+               *(p-1) = ':';   /* overwrites the NUL */
+       }
+       *p = '\0';
+       q = strstr(buf, ":0:0:");
+       if (squish && q != NULL) {      /* zero squishing is possible */
+               p = q + 1;
+               while (*p == '0' && *(p+1) == ':')
+                       p += 2;
+               q++;
+               *q++ = ':';     /* overwrite first 0 */
+               while (*p != '\0')
+                       *q++ = *p++;
+               *q = '\0';
+               if (!(*(q-1) == ':' && *(q-2) == ':'))
+                       *--q = '\0';    /* strip final : unless :: */
+               p = buf;
+               if (!(*p == ':' && *(p+1) == ':'))
+                       p++;    /* skip initial : unless :: */
+       } else {
+               q = p;
+               *--q = '\0';    /* strip final : */
+               p = buf + 1;    /* skip initial : */
+       }
+       *dstp = p;
+       return q - p + 1;
+}
+
+/*
+ - reverse4 - IPv4 reverse-lookup conversion
+ */
+static size_t                  /* size of text, including NUL */
+reverse4(srcp, srclen, buf, dstp)
+const unsigned char *srcp;
+size_t srclen;
+char *buf;                     /* guaranteed large enough */
+char **dstp;                   /* where to put result pointer */
+{
+       int i;
+       char *p;
+
+       if (srclen != IP4BYTES) /* "can't happen" */
+               return 0;
+       p = buf;
+       for (i = IP4BYTES-1; i >= 0; i--) {
+               p += ultot(srcp[i], 10, p, PERBYTE);
+               *(p-1) = '.';   /* overwrites the NUL */
+       }
+       strcpy(p, "IN-ADDR.ARPA.");
+       *dstp = buf;
+       return strlen(buf) + 1;
+}
+
+/*
+ - reverse6 - IPv6 reverse-lookup conversion (RFC 1886)
+ * A trifle inefficient, really shouldn't use ultot...
+ */
+static size_t                  /* size of text, including NUL */
+reverse6(srcp, srclen, buf, dstp)
+const unsigned char *srcp;
+size_t srclen;
+char *buf;                     /* guaranteed large enough */
+char **dstp;                   /* where to put result pointer */
+{
+       int i;
+       unsigned long piece;
+       char *p;
+
+       if (srclen != IP6BYTES) /* "can't happen" */
+               return 0;
+       p = buf;
+       for (i = IP6BYTES-1; i >= 0; i--) {
+               piece = srcp[i];
+               p += ultot(piece&0xf, 16, p, 2);
+               *(p-1) = '.';
+               p += ultot(piece>>4, 16, p, 2);
+               *(p-1) = '.';
+       }
+       strcpy(p, "IP6.ARPA.");
+       *dstp = buf;
+       return strlen(buf) + 1;
+}
+
+/*
+ - reverse6 - modern IPv6 reverse-lookup conversion (RFC 2874)
+ * this version removed as it was obsoleted in the end.
+ */
+
+#ifdef ADDRTOT_MAIN
+
+#include <stdio.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+void regress(void);
+
+int
+main(int argc, char *argv[])
+{
+       if (argc < 2) {
+               fprintf(stderr, "Usage: %s {addr|net/mask|begin...end|-r}\n",
+                                                               argv[0]);
+               exit(2);
+       }
+
+       if (strcmp(argv[1], "-r") == 0) {
+               regress();
+               fprintf(stderr, "regress() returned?!?\n");
+               exit(1);
+       }
+       exit(0);
+}
+
+struct rtab {
+       char *input;
+        char  format;
+       char *output;                   /* NULL means error expected */
+} rtab[] = {
+       {"1.2.3.0",                     0, "1.2.3.0"},
+       {"1:2::3:4",                    0, "1:2::3:4"},
+       {"1:2::3:4",                   'Q', "1:2:0:0:0:0:3:4"},
+       {"1:2:0:0:3:4:0:0",             0, "1:2::3:4:0:0"},
+       {"1.2.3.4",                    'r' , "4.3.2.1.IN-ADDR.ARPA."},
+       /*                                    0 1 2 3 4 5 6 7 8 9 a b c d e f 0 1 2 3 4 5 6 7 8 9 a b c d e f */
+       {"1:2::3:4",                   'r', "4.0.0.0.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.1.0.0.0.IP6.ARPA."},
+        {NULL,                         0, NULL}
+};
+
+void
+regress()
+{
+       struct rtab *r;
+       int status = 0;
+       ip_address a;
+       char in[100];
+       char buf[100];
+       const char *oops;
+       size_t n;
+
+       for (r = rtab; r->input != NULL; r++) {
+               strcpy(in, r->input);
+
+               /* convert it *to* internal format */
+               oops = ttoaddr(in, strlen(in), 0, &a);
+
+               /* now convert it back */
+
+               n = addrtot(&a, r->format, buf, sizeof(buf));
+
+               if (n == 0 && r->output == NULL)
+                       {}              /* okay, error expected */
+               
+               else if (n == 0) {
+                       printf("`%s' atoasr failed\n", r->input);
+                       status = 1;
+                       
+               } else if (r->output == NULL) {
+                       printf("`%s' atoasr succeeded unexpectedly '%c'\n",
+                                                       r->input, r->format);
+                       status = 1;
+               } else {
+                 if (strcasecmp(r->output, buf) != 0) {
+                   printf("`%s' '%c' gave `%s', expected `%s'\n",
+                          r->input, r->format, buf, r->output);
+                   status = 1;
+                 }
+               }
+       }
+       exit(status);
+}
+
+#endif /* ADDRTOT_MAIN */
diff --git a/src/freeswan/addrtypeof.c b/src/freeswan/addrtypeof.c
new file mode 100644 (file)
index 0000000..e635099
--- /dev/null
@@ -0,0 +1,94 @@
+/*
+ * extract parts of an ip_address
+ * Copyright (C) 2000  Henry Spencer.
+ * 
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Library General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.  See <http://www.fsf.org/copyleft/lgpl.txt>.
+ * 
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+ * License for more details.
+ *
+ * RCSID $Id: addrtypeof.c,v 1.1 2004/03/15 20:35:25 as Exp $
+ */
+#include "internal.h"
+#include "freeswan.h"
+
+/*
+ - addrtypeof - get the type of an ip_address
+ */
+int
+addrtypeof(src)
+const ip_address *src;
+{
+       return src->u.v4.sin_family;
+}
+
+/*
+ - addrbytesptr - get pointer to the address bytes of an ip_address
+ */
+size_t                         /* 0 for error */
+addrbytesptr(src, dstp)
+const ip_address *src;
+const unsigned char **dstp;    /* NULL means just a size query */
+{
+       const unsigned char *p;
+       size_t n;
+
+       switch (src->u.v4.sin_family) {
+       case AF_INET:
+               p = (const unsigned char *)&src->u.v4.sin_addr.s_addr;
+               n = 4;
+               break;
+       case AF_INET6:
+               p = (const unsigned char *)&src->u.v6.sin6_addr;
+               n = 16;
+               break;
+       default:
+               return 0;
+               break;
+       }
+
+       if (dstp != NULL)
+               *dstp = p;
+       return n;
+}
+
+/*
+ - addrlenof - get length of the address bytes of an ip_address
+ */
+size_t                         /* 0 for error */
+addrlenof(src)
+const ip_address *src;
+{
+       return addrbytesptr(src, NULL);
+}
+
+/*
+ - addrbytesof - get the address bytes of an ip_address
+ */
+size_t                         /* 0 for error */
+addrbytesof(src, dst, dstlen)
+const ip_address *src;
+unsigned char *dst;
+size_t dstlen;
+{
+       const unsigned char *p;
+       size_t n;
+       size_t ncopy;
+
+       n = addrbytesptr(src, &p);
+       if (n == 0)
+               return 0;
+
+       if (dstlen > 0) {
+               ncopy = n;
+               if (ncopy > dstlen)
+                       ncopy = dstlen;
+               memcpy(dst, p, ncopy);
+       }
+       return n;
+}
diff --git a/src/freeswan/anyaddr.3 b/src/freeswan/anyaddr.3
new file mode 100644 (file)
index 0000000..4594a9f
--- /dev/null
@@ -0,0 +1,87 @@
+.TH IPSEC_ANYADDR 3 "8 Sept 2000"
+.\" RCSID $Id: anyaddr.3,v 1.1 2004/03/15 20:35:25 as Exp $
+.SH NAME
+ipsec anyaddr \- get "any" address
+.br
+ipsec isanyaddr \- test address for equality to "any" address
+.br
+ipsec unspecaddr \- get "unspecified" address
+.br
+ipsec isunspecaddr \- test address for equality to "unspecified" address
+.br
+ipsec loopbackaddr \- get loopback address
+.br
+ipsec isloopbackaddr \- test address for equality to loopback address
+.SH SYNOPSIS
+.B "#include <freeswan.h>
+.sp
+.B "const char *anyaddr(int af, ip_address *dst);"
+.br
+.B "int isanyaddr(const ip_address *src);"
+.br
+.B "const char *unspecaddr(int af, ip_address *dst);"
+.br
+.B "int isunspecaddr(const ip_address *src);"
+.br
+.B "const char *loopbackaddr(int af, ip_address *dst);"
+.br
+.B "int isloopbackaddr(const ip_address *src);"
+.SH DESCRIPTION
+These functions fill in, and test for, special values of the
+.I ip_address
+type.
+.PP
+.I Anyaddr
+fills in the destination
+.I *dst
+with the ``any'' address of address family
+.IR af
+(normally
+.B AF_INET
+or
+.BR AF_INET6 ).
+The IPv4 ``any'' address is the one embodied in the old
+.B INADDR_ANY
+macro.
+.PP
+.I Isanyaddr
+returns
+.B 1
+if the
+.I src
+address equals the ``any'' address,
+and
+.B 0
+otherwise.
+.PP
+Similarly,
+.I unspecaddr
+supplies, and
+.I isunspecaddr
+tests for,
+the ``unspecified'' address,
+which may be the same as the ``any'' address.
+.PP
+Similarly,
+.I loopbackaddr
+supplies, and
+.I islookbackaddr
+tests for,
+the loopback address.
+.PP
+.IR Anyaddr ,
+.IR unspecaddr ,
+and
+.I loopbackaddr
+return
+.B NULL
+for success and
+a pointer to a string-literal error message for failure;
+see DIAGNOSTICS.
+.SH SEE ALSO
+inet(3), ipsec_addrtot(3), ipsec_sameaddr(3)
+.SH DIAGNOSTICS
+Fatal errors in the address-supplying functions are:
+unknown address family.
+.SH HISTORY
+Written for the FreeS/WAN project by Henry Spencer.
diff --git a/src/freeswan/anyaddr.c b/src/freeswan/anyaddr.c
new file mode 100644 (file)
index 0000000..08aae63
--- /dev/null
@@ -0,0 +1,146 @@
+/*
+ * special addresses
+ * Copyright (C) 2000  Henry Spencer.
+ * 
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Library General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.  See <http://www.fsf.org/copyleft/lgpl.txt>.
+ * 
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+ * License for more details.
+ *
+ * RCSID $Id: anyaddr.c,v 1.1 2004/03/15 20:35:25 as Exp $
+ */
+#include "internal.h"
+#include "freeswan.h"
+
+/* these are mostly fallbacks for the no-IPv6-support-in-library case */
+#ifndef IN6ADDR_ANY_INIT
+#define        IN6ADDR_ANY_INIT        {{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }}
+#endif
+#ifndef IN6ADDR_LOOPBACK_INIT
+#define        IN6ADDR_LOOPBACK_INIT   {{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 }}
+#endif
+
+static struct in6_addr v6any = IN6ADDR_ANY_INIT;
+static struct in6_addr v6loop = IN6ADDR_LOOPBACK_INIT;
+
+/*
+ - anyaddr - initialize to the any-address value
+ */
+err_t                          /* NULL for success, else string literal */
+anyaddr(af, dst)
+int af;                                /* address family */
+ip_address *dst;
+{
+       uint32_t v4any = htonl(INADDR_ANY);
+
+       switch (af) {
+       case AF_INET:
+               return initaddr((unsigned char *)&v4any, sizeof(v4any), af, dst);
+               break;
+       case AF_INET6:
+               return initaddr((unsigned char *)&v6any, sizeof(v6any), af, dst);
+               break;
+       default:
+               return "unknown address family in anyaddr/unspecaddr";
+               break;
+       }
+}
+
+/*
+ - unspecaddr - initialize to the unspecified-address value
+ */
+err_t                          /* NULL for success, else string literal */
+unspecaddr(af, dst)
+int af;                                /* address family */
+ip_address *dst;
+{
+       return anyaddr(af, dst);
+}
+
+/*
+ - loopbackaddr - initialize to the loopback-address value
+ */
+err_t                          /* NULL for success, else string literal */
+loopbackaddr(af, dst)
+int af;                                /* address family */
+ip_address *dst;
+{
+       uint32_t v4loop = htonl(INADDR_LOOPBACK);
+
+       switch (af) {
+       case AF_INET:
+               return initaddr((unsigned char *)&v4loop, sizeof(v4loop), af, dst);
+               break;
+       case AF_INET6:
+               return initaddr((unsigned char *)&v6loop, sizeof(v6loop), af, dst);
+               break;
+       default:
+               return "unknown address family in loopbackaddr";
+               break;
+       }
+}
+
+/*
+ - isanyaddr - test for the any-address value
+ */
+int
+isanyaddr(src)
+const ip_address *src;
+{
+       uint32_t v4any = htonl(INADDR_ANY);
+       int cmp;
+
+       switch (src->u.v4.sin_family) {
+       case AF_INET:
+               cmp = memcmp(&src->u.v4.sin_addr.s_addr, &v4any, sizeof(v4any));
+               break;
+       case AF_INET6:
+               cmp = memcmp(&src->u.v6.sin6_addr, &v6any, sizeof(v6any));
+               break;
+       default:
+               return 0;
+               break;
+       }
+
+       return (cmp == 0) ? 1 : 0;
+}
+
+/*
+ - isunspecaddr - test for the unspecified-address value
+ */
+int
+isunspecaddr(src)
+const ip_address *src;
+{
+       return isanyaddr(src);
+}
+
+/*
+ - isloopbackaddr - test for the loopback-address value
+ */
+int
+isloopbackaddr(src)
+const ip_address *src;
+{
+       uint32_t v4loop = htonl(INADDR_LOOPBACK);
+       int cmp;
+
+       switch (src->u.v4.sin_family) {
+       case AF_INET:
+               cmp = memcmp(&src->u.v4.sin_addr.s_addr, &v4loop, sizeof(v4loop));
+               break;
+       case AF_INET6:
+               cmp = memcmp(&src->u.v6.sin6_addr, &v6loop, sizeof(v6loop));
+               break;
+       default:
+               return 0;
+               break;
+       }
+
+       return (cmp == 0) ? 1 : 0;
+}
diff --git a/src/freeswan/atoaddr.3 b/src/freeswan/atoaddr.3
new file mode 100644 (file)
index 0000000..a7dc8dc
--- /dev/null
@@ -0,0 +1,294 @@
+.TH IPSEC_ATOADDR 3 "11 June 2001"
+.\" RCSID $Id: atoaddr.3,v 1.1 2004/03/15 20:35:25 as Exp $
+.SH NAME
+ipsec atoaddr, addrtoa \- convert Internet addresses to and from ASCII
+.br
+ipsec atosubnet, subnettoa \- convert subnet/mask ASCII form to and from addresses
+.SH SYNOPSIS
+.B "#include <freeswan.h>
+.sp
+.B "const char *atoaddr(const char *src, size_t srclen,"
+.ti +1c
+.B "struct in_addr *addr);"
+.br
+.B "size_t addrtoa(struct in_addr addr, int format,"
+.ti +1c
+.B "char *dst, size_t dstlen);"
+.sp
+.B "const char *atosubnet(const char *src, size_t srclen,"
+.ti +1c
+.B "struct in_addr *addr, struct in_addr *mask);"
+.br
+.B "size_t subnettoa(struct in_addr addr, struct in_addr mask,"
+.ti +1c
+.B "int format, char *dst, size_t dstlen);"
+.SH DESCRIPTION
+These functions are obsolete; see
+.IR ipsec_ttoaddr (3)
+for their replacements.
+.PP
+.I Atoaddr
+converts an ASCII name or dotted-decimal address into a binary address
+(in network byte order).
+.I Addrtoa
+does the reverse conversion, back to an ASCII dotted-decimal address.
+.I Atosubnet
+and
+.I subnettoa
+do likewise for the ``address/mask'' ASCII form used to write a
+specification of a subnet.
+.PP
+An address is specified in ASCII as a
+dotted-decimal address (e.g.
+.BR 1.2.3.4 ),
+an eight-digit network-order hexadecimal number with the usual C prefix (e.g.
+.BR 0x01020304 ,
+which is synonymous with
+.BR 1.2.3.4 ),
+an eight-digit host-order hexadecimal number with a
+.B 0h
+prefix (e.g.
+.BR 0h01020304 ,
+which is synonymous with
+.B 1.2.3.4
+on a big-endian host and
+.B 4.3.2.1
+on a little-endian host),
+a DNS name to be looked up via
+.IR gethostbyname (3),
+or an old-style network name to be looked up via
+.IR getnetbyname (3).
+.PP
+A dotted-decimal address may be incomplete, in which case
+ASCII-to-binary conversion implicitly appends
+as many instances of
+.B .0
+as necessary to bring it up to four components.
+The components of a dotted-decimal address are always taken as
+decimal, and leading zeros are ignored.
+For example,
+.B 10
+is synonymous with
+.BR 10.0.0.0 ,
+and
+.B 128.009.000.032
+is synonymous with
+.BR 128.9.0.32
+(the latter example is verbatim from RFC 1166).
+The result of
+.I addrtoa
+is always complete and does not contain leading zeros.
+.PP
+The letters in
+a hexadecimal address may be uppercase or lowercase or any mixture thereof.
+Use of hexadecimal addresses is
+.B strongly
+.BR discouraged ;
+they are included only to save hassles when dealing with
+the handful of perverted programs which already print 
+network addresses in hexadecimal.
+.PP
+DNS names may be complete (optionally terminated with a ``.'')
+or incomplete, and are looked up as specified by local system configuration
+(see
+.IR resolver (5)).
+The
+.I h_addr
+value returned by
+.IR gethostbyname (3)
+is used,
+so with current DNS implementations,
+the result when the name corresponds to more than one address is
+difficult to predict.
+Name lookup resorts to
+.IR getnetbyname (3)
+only if
+.IR gethostbyname (3)
+fails.
+.PP
+A subnet specification is of the form \fInetwork\fB/\fImask\fR.
+The
+.I network
+and
+.I mask
+can be any form acceptable to
+.IR atoaddr .
+In addition, the
+.I mask
+can be a decimal integer (leading zeros ignored) giving a bit count,
+in which case
+it stands for a mask with that number of high bits on and all others off
+(e.g.,
+.B 24
+means
+.BR 255.255.255.0 ).
+In any case, the mask must be contiguous
+(a sequence of high bits on and all remaining low bits off).
+As a special case, the subnet specification
+.B %default
+is a synonym for
+.BR 0.0.0.0/0 .
+.PP
+.I Atosubnet
+ANDs the mask with the address before returning,
+so that any non-network bits in the address are turned off
+(e.g.,
+.B 10.1.2.3/24
+is synonymous with
+.BR 10.1.2.0/24 ).
+.I Subnettoa
+generates the decimal-integer-bit-count
+form of the mask,
+with no leading zeros,
+unless the mask is non-contiguous.
+.PP
+The
+.I srclen
+parameter of
+.I atoaddr
+and
+.I atosubnet
+specifies the length of the ASCII string pointed to by
+.IR src ;
+it is an error for there to be anything else
+(e.g., a terminating NUL) within that length.
+As a convenience for cases where an entire NUL-terminated string is
+to be converted,
+a
+.I srclen
+value of
+.B 0
+is taken to mean
+.BR strlen(src) .
+.PP
+The
+.I dstlen
+parameter of
+.I addrtoa
+and
+.I subnettoa
+specifies the size of the
+.I dst
+parameter;
+under no circumstances are more than
+.I dstlen
+bytes written to
+.IR dst .
+A result which will not fit is truncated.
+.I Dstlen
+can be zero, in which case
+.I dst
+need not be valid and no result is written,
+but the return value is unaffected;
+in all other cases, the (possibly truncated) result is NUL-terminated.
+The
+.I freeswan.h
+header file defines constants,
+.B ADDRTOA_BUF
+and
+.BR SUBNETTOA_BUF ,
+which are the sizes of buffers just large enough for worst-case results.
+.PP
+The
+.I format
+parameter of
+.I addrtoa
+and
+.I subnettoa
+specifies what format is to be used for the conversion.
+The value
+.B 0
+(not the ASCII character
+.BR '0' ,
+but a zero value)
+specifies a reasonable default,
+and is in fact the only format currently available.
+This parameter is a hedge against future needs.
+.PP
+The ASCII-to-binary functions return NULL for success and
+a pointer to a string-literal error message for failure;
+see DIAGNOSTICS.
+The binary-to-ASCII functions return
+.B 0
+for a failure, and otherwise
+always return the size of buffer which would 
+be needed to
+accommodate the full conversion result, including terminating NUL;
+it is the caller's responsibility to check this against the size of
+the provided buffer to determine whether truncation has occurred.
+.SH SEE ALSO
+inet(3)
+.SH DIAGNOSTICS
+Fatal errors in
+.I atoaddr
+are:
+empty input;
+attempt to allocate temporary storage for a very long name failed;
+name lookup failed;
+syntax error in dotted-decimal form;
+dotted-decimal component too large to fit in 8 bits.
+.PP
+Fatal errors in
+.I atosubnet
+are:
+no
+.B /
+in
+.IR src ;
+.I atoaddr
+error in conversion of
+.I network
+or
+.IR mask ;
+bit-count mask too big;
+mask non-contiguous.
+.PP
+Fatal errors in
+.I addrtoa
+and
+.I subnettoa
+are:
+unknown format.
+.SH HISTORY
+Written for the FreeS/WAN project by Henry Spencer.
+.SH BUGS
+The interpretation of incomplete dotted-decimal addresses
+(e.g.
+.B 10/24
+means
+.BR 10.0.0.0/24 )
+differs from that of some older conversion
+functions, e.g. those of
+.IR inet (3).
+The behavior of the older functions has never been
+particularly consistent or particularly useful.
+.PP
+Ignoring leading zeros in dotted-decimal components and bit counts
+is arguably the most useful behavior in this application,
+but it might occasionally cause confusion with the historical use of leading 
+zeros to denote octal numbers.
+.PP
+It is barely possible that somebody, somewhere,
+might have a legitimate use for non-contiguous subnet masks.
+.PP
+.IR Getnetbyname (3)
+is a historical dreg.
+.PP
+The restriction of ASCII-to-binary error reports to literal strings
+(so that callers don't need to worry about freeing them or copying them)
+does limit the precision of error reporting.
+.PP
+The ASCII-to-binary error-reporting convention lends itself
+to slightly obscure code,
+because many readers will not think of NULL as signifying success.
+A good way to make it clearer is to write something like:
+.PP
+.RS
+.nf
+.B "const char *error;"
+.sp
+.B "error = atoaddr( /* ... */ );"
+.B "if (error != NULL) {"
+.B "        /* something went wrong */"
+.fi
+.RE
diff --git a/src/freeswan/atoaddr.c b/src/freeswan/atoaddr.c
new file mode 100644 (file)
index 0000000..0c787b1
--- /dev/null
@@ -0,0 +1,238 @@
+/*
+ * conversion from ASCII forms of addresses to internal ones
+ * Copyright (C) 1998, 1999  Henry Spencer.
+ * 
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Library General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.  See <http://www.fsf.org/copyleft/lgpl.txt>.
+ * 
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+ * License for more details.
+ *
+ * RCSID $Id: atoaddr.c,v 1.1 2004/03/15 20:35:25 as Exp $
+ */
+#include "internal.h"
+#include "freeswan.h"
+
+/*
+ * Define NOLEADINGZEROS to interpret 032 as an error, not as 32.  There
+ * is deliberately no way to interpret it as 26 (i.e., as octal).
+ */
+
+/*
+ * Legal characters in a domain name.  Underscore technically is not,
+ * but is a common misunderstanding.
+ */
+static const char namechars[] = "abcdefghijklmnopqrstuvwxyz0123456789"
+                               "ABCDEFGHIJKLMNOPQRSTUVWXYZ-_.";
+
+static const char *try8hex(const char *, size_t, struct in_addr *);
+static const char *try8hosthex(const char *, size_t, struct in_addr *);
+static const char *trydotted(const char *, size_t, struct in_addr *);
+static const char *getbyte(const char **, const char *, int *);
+
+/*
+ - atoaddr - convert ASCII name or dotted-decimal address to binary address
+ */
+const char *                   /* NULL for success, else string literal */
+atoaddr(src, srclen, addrp)
+const char *src;
+size_t srclen;                 /* 0 means "apply strlen" */
+struct in_addr *addrp;
+{
+       struct hostent *h;
+       struct netent *ne = NULL;
+       const char *oops;
+#      define  HEXLEN  10      /* strlen("0x11223344") */
+#      ifndef ATOADDRBUF
+#      define  ATOADDRBUF      100
+#      endif
+       char namebuf[ATOADDRBUF];
+       char *p = namebuf;
+       char *q;
+
+       if (srclen == 0)
+               srclen = strlen(src);
+       if (srclen == 0)
+               return "empty string";
+
+       /* might it be hex? */
+       if (srclen == HEXLEN && *src == '0' && CIEQ(*(src+1), 'x'))
+               return try8hex(src+2, srclen-2, addrp);
+       if (srclen == HEXLEN && *src == '0' && CIEQ(*(src+1), 'h'))
+               return try8hosthex(src+2, srclen-2, addrp);
+
+       /* try it as dotted decimal */
+       oops = trydotted(src, srclen, addrp);
+       if (oops == NULL)
+               return NULL;            /* it worked */
+       if (*oops != '?')
+               return oops;            /* it *was* probably meant as a d.q. */
+
+       /* try it as a name -- first, NUL-terminate it */
+       if (srclen > sizeof(namebuf)-1) {
+               p = (char *) MALLOC(srclen+1);
+               if (p == NULL)
+                       return "unable to allocate temporary space for name";
+       }
+       p[0] = '\0';
+       strncat(p, src, srclen);
+
+       /* next, check that it's a vaguely legal name */
+       for (q = p; *q != '\0'; q++)
+               if (!isprint(*q))
+                       return "unprintable character in name";
+       if (strspn(p, namechars) != srclen)
+               return "illegal (non-DNS-name) character in name";
+
+       /* try as host name, failing that as /etc/networks network name */
+       h = gethostbyname(p);
+       if (h == NULL)
+               ne = getnetbyname(p);
+       if (p != namebuf)
+               FREE(p);
+       if (h == NULL && ne == NULL)
+               return "name lookup failed";
+
+       if (h != NULL)
+               memcpy(&addrp->s_addr, h->h_addr, sizeof(addrp->s_addr));
+       else
+               addrp->s_addr = htonl(ne->n_net);
+       return NULL;
+}
+
+/*
+ - try8hosthex - try conversion as an eight-digit host-order hex number
+ */
+const char *                   /* NULL for success, else string literal */
+try8hosthex(src, srclen, addrp)
+const char *src;
+size_t srclen;                 /* should be 8 */
+struct in_addr *addrp;
+{
+       const char *oops;
+       unsigned long addr;
+
+       if (srclen != 8)
+               return "internal error, try8hex called with bad length";
+
+       oops = atoul(src, srclen, 16, &addr);
+       if (oops != NULL)
+               return oops;
+
+       addrp->s_addr = addr;
+       return NULL;
+}
+
+/*
+ - try8hex - try conversion as an eight-digit network-order hex number
+ */
+const char *                   /* NULL for success, else string literal */
+try8hex(src, srclen, addrp)
+const char *src;
+size_t srclen;                 /* should be 8 */
+struct in_addr *addrp;
+{
+       const char *oops;
+
+       oops = try8hosthex(src, srclen, addrp);
+       if (oops != NULL)
+               return oops;
+
+       addrp->s_addr = htonl(addrp->s_addr);
+       return NULL;
+}
+
+/*
+ - trydotted - try conversion as dotted decimal
+ *
+ * If the first char of a complaint is '?', that means "didn't look like
+ * dotted decimal at all".
+ */
+const char *                   /* NULL for success, else string literal */
+trydotted(src, srclen, addrp)
+const char *src;
+size_t srclen;
+struct in_addr *addrp;
+{
+       const char *stop = src + srclen;        /* just past end */
+       int byte;
+       const char *oops;
+       unsigned long addr;
+       int i;
+#      define  NBYTES  4
+#      define  BYTE    8
+
+       addr = 0;
+       for (i = 0; i < NBYTES && src < stop; i++) {
+               oops = getbyte(&src, stop, &byte);
+               if (oops != NULL) {
+                       if (*oops != '?')
+                               return oops;    /* bad number */
+                       if (i > 1)
+                               return oops+1;  /* failed number */
+                       return oops;            /* with leading '?' */
+               }
+               addr = (addr << BYTE) | byte;
+               if (i < 3 && src < stop && *src++ != '.') {
+                       if (i == 0)
+                               return "?syntax error in dotted-decimal address";
+                       else
+                               return "syntax error in dotted-decimal address";
+               }
+       }
+       addr <<= (NBYTES - i) * BYTE;
+       if (src != stop)
+               return "extra garbage on end of dotted-decimal address";
+
+       addrp->s_addr = htonl(addr);
+       return NULL;
+}
+
+/*
+ - getbyte - try to scan a byte in dotted decimal
+ * A subtlety here is that all this arithmetic on ASCII digits really is
+ * highly portable -- ANSI C guarantees that digits 0-9 are contiguous.
+ * It's easier to just do it ourselves than set up for a call to atoul().
+ *
+ * If the first char of a complaint is '?', that means "didn't look like a
+ * number at all".
+ */
+const char *                   /* NULL for success, else string literal */
+getbyte(srcp, stop, retp)
+const char **srcp;             /* *srcp is updated */
+const char *stop;              /* first untouchable char */
+int *retp;                     /* return-value pointer */
+{
+       char c;
+       const char *p;
+       int no;
+
+       if (*srcp >= stop)
+               return "?empty number in dotted-decimal address";
+
+       if (stop - *srcp >= 3 && **srcp == '0' && CIEQ(*(*srcp+1), 'x'))
+               return "hex numbers not supported in dotted-decimal addresses";
+#ifdef NOLEADINGZEROS
+       if (stop - *srcp >= 2 && **srcp == '0' && isdigit(*(*srcp+1)))
+               return "octal numbers not supported in dotted-decimal addresses";
+#endif /* NOLEADINGZEROS */
+
+       /* must be decimal, if it's numeric at all */
+       no = 0;
+       p = *srcp;
+       while (p < stop && no <= 255 && (c = *p) >= '0' && c <= '9') {
+               no = no*10 + (c - '0');
+               p++;
+       }
+       if (p == *srcp)
+               return "?non-numeric component in dotted-decimal address";
+       *srcp = p;
+       if (no > 255)
+               return "byte overflow in dotted-decimal address";
+       *retp = no;
+       return NULL;
+}
diff --git a/src/freeswan/atoasr.3 b/src/freeswan/atoasr.3
new file mode 100644 (file)
index 0000000..1bd805d
--- /dev/null
@@ -0,0 +1,186 @@
+.TH IPSEC_ATOASR 3 "11 June 2001"
+.\" RCSID $Id: atoasr.3,v 1.1 2004/03/15 20:35:25 as Exp $
+.SH NAME
+ipsec atoasr \- convert ASCII to Internet address, subnet, or range
+.br
+ipsec rangetoa \- convert Internet address range to ASCII
+.SH SYNOPSIS
+.B "#include <freeswan.h>
+.sp
+.B "const char *atoasr(const char *src, size_t srclen,"
+.ti +1c
+.B "char *type, struct in_addr *addrs);"
+.br
+.B "size_t rangetoa(struct in_addr *addrs, int format,
+.ti +1c
+.B "char *dst, size_t dstlen);"
+.SH DESCRIPTION
+These functions are obsolete;
+there is no current equivalent,
+because so far they have not proved useful.
+.PP
+.I Atoasr
+converts an ASCII address, subnet, or address range
+into a suitable combination of binary addresses
+(in network byte order).
+.I Rangetoa
+converts an address range back into ASCII,
+using dotted-decimal form for the addresses
+(the other reverse conversions are handled by
+.IR ipsec_addrtoa (3)
+and
+.IR ipsec_subnettoa (3)).
+.PP
+A single address can be any form acceptable to
+.IR ipsec_atoaddr (3):
+dotted decimal, DNS name, or hexadecimal number.
+A subnet
+specification uses the form \fInetwork\fB/\fImask\fR
+interpreted by
+.IR ipsec_atosubnet (3).
+.PP
+An address range is two
+.IR ipsec_atoaddr (3)
+addresses separated by a
+.B ...
+delimiter.
+If there are four dots rather than three, the first is taken as
+part of the begin address,
+e.g. for a complete DNS name which ends with
+.B .
+to suppress completion attempts.
+The begin address of a range must be
+less than or equal to the end address.
+.PP
+The
+.I srclen
+parameter of
+.I atoasr
+specifies the length of the ASCII string pointed to by
+.IR src ;
+it is an error for there to be anything else
+(e.g., a terminating NUL) within that length.
+As a convenience for cases where an entire NUL-terminated string is
+to be converted,
+a
+.I srclen
+value of
+.B 0
+is taken to mean
+.BR strlen(src) .
+.PP
+The
+.I type
+parameter of
+.I atoasr
+must point to a
+.B char
+variable used to record which form was found.
+The
+.I addrs
+parameter must point to a two-element array of
+.B "struct in_addr"
+which receives the results.
+The values stored into
+.BR *type ,
+and the corresponding values in the array, are:
+.PP
+.ta 3c +2c +3c
+       *type   addrs[0]        addrs[1]
+.sp 0.8
+address        \&\fB'a'\fR     address -
+.br
+subnet \&\fB's'\fR     network mask
+.br
+range  \&\fB'r'\fR     begin   end
+.PP
+The
+.I dstlen
+parameter of
+.I rangetoa
+specifies the size of the
+.I dst
+parameter;
+under no circumstances are more than
+.I dstlen
+bytes written to
+.IR dst .
+A result which will not fit is truncated.
+.I Dstlen
+can be zero, in which case
+.I dst
+need not be valid and no result is written,
+but the return value is unaffected;
+in all other cases, the (possibly truncated) result is NUL-terminated.
+The
+.I freeswan.h
+header file defines a constant,
+.BR RANGETOA_BUF ,
+which is the size of a buffer just large enough for worst-case results.
+.PP
+The
+.I format
+parameter of
+.I rangetoa
+specifies what format is to be used for the conversion.
+The value
+.B 0
+(not the ASCII character
+.BR '0' ,
+but a zero value)
+specifies a reasonable default,
+and is in fact the only format currently available.
+This parameter is a hedge against future needs.
+.PP
+.I Atoasr
+returns NULL for success and
+a pointer to a string-literal error message for failure;
+see DIAGNOSTICS.
+.I Rangetoa
+returns
+.B 0
+for a failure, and otherwise
+always returns the size of buffer which would 
+be needed to
+accommodate the full conversion result, including terminating NUL;
+it is the caller's responsibility to check this against the size of
+the provided buffer to determine whether truncation has occurred.
+.SH SEE ALSO
+ipsec_atoaddr(3), ipsec_atosubnet(3)
+.SH DIAGNOSTICS
+Fatal errors in
+.I atoasr
+are:
+empty input;
+error in
+.IR ipsec_atoaddr (3)
+or
+.IR ipsec_atosubnet (3)
+during conversion;
+begin address of range exceeds end address.
+.PP
+Fatal errors in
+.I rangetoa
+are:
+unknown format.
+.SH HISTORY
+Written for the FreeS/WAN project by Henry Spencer.
+.SH BUGS
+The restriction of error reports to literal strings
+(so that callers don't need to worry about freeing them or copying them)
+does limit the precision of error reporting.
+.PP
+The error-reporting convention lends itself
+to slightly obscure code,
+because many readers will not think of NULL as signifying success.
+A good way to make it clearer is to write something like:
+.PP
+.RS
+.nf
+.B "const char *error;"
+.sp
+.B "error = atoasr( /* ... */ );"
+.B "if (error != NULL) {"
+.B "        /* something went wrong */"
+.fi
+.RE
diff --git a/src/freeswan/atoasr.c b/src/freeswan/atoasr.c
new file mode 100644 (file)
index 0000000..a68409b
--- /dev/null
@@ -0,0 +1,212 @@
+/*
+ * convert from ASCII form of address/subnet/range to binary
+ * Copyright (C) 1998, 1999  Henry Spencer.
+ * 
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Library General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.  See <http://www.fsf.org/copyleft/lgpl.txt>.
+ * 
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+ * License for more details.
+ *
+ * RCSID $Id: atoasr.c,v 1.1 2004/03/15 20:35:25 as Exp $
+ */
+#include "internal.h"
+#include "freeswan.h"
+
+/*
+ - atoasr - convert ASCII to address, subnet, or range
+ */
+const char *                   /* NULL for success, else string literal */
+atoasr(src, srclen, typep, addrsp)
+const char *src;
+size_t srclen;                 /* 0 means "apply strlen" */
+char *typep;                   /* return type code:  'a', 's', 'r' */
+struct in_addr addrsp[2];
+{
+       const char *punct;
+       const char *stop;
+       const char *oops;
+
+       if (srclen == 0)
+               srclen = strlen(src);
+       if (srclen == 0)
+               return "empty string";
+
+       /* subnet is easy to spot */
+       punct = memchr(src, '/', srclen);
+       if (punct != NULL) {
+               *typep = 's';
+               return atosubnet(src, srclen, &addrsp[0], &addrsp[1]);
+       }
+
+       /* try for a range */
+       stop = src + srclen;
+       for (punct = src; (punct = memchr(punct, '.', stop - punct)) != NULL;
+                                                                       punct++)
+               if (stop - punct > 3 && *(punct+1) == '.' && *(punct+2) == '.')
+                       break;                  /* NOTE BREAK OUT */
+       if (punct == NULL) {
+               /* didn't find the range delimiter, must be plain address */
+               *typep = 'a';
+               return atoaddr(src, srclen, &addrsp[0]);
+       }
+
+       /* looks like a range */
+       *typep = 'r';
+       if (stop - punct > 4 && *(punct+3) == '.')
+               punct++;                /* first dot is trailing dot of name */
+       oops = atoaddr(src, punct - src, &addrsp[0]);
+       if (oops != NULL)
+               return oops;
+       oops = atoaddr(punct+3, stop - (punct+3), &addrsp[1]);
+       if (oops != NULL)
+               return oops;
+       if (ntohl(addrsp[0].s_addr) > ntohl(addrsp[1].s_addr))
+               return "invalid range, begin > end";
+       return NULL;
+}
+
+
+
+#ifdef ATOASR_MAIN
+
+#include <stdio.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+void regress(void);
+
+int
+main(int argc, char *argv[])
+{
+       struct in_addr a[2];
+       char buf[100];
+       const char *oops;
+       size_t n;
+       char type;
+
+       if (argc < 2) {
+               fprintf(stderr, "Usage: %s {addr|net/mask|begin...end|-r}\n",
+                                                               argv[0]);
+               exit(2);
+       }
+
+       if (strcmp(argv[1], "-r") == 0) {
+               regress();
+               fprintf(stderr, "regress() returned?!?\n");
+               exit(1);
+       }
+
+       oops = atoasr(argv[1], 0, &type, a);
+       if (oops != NULL) {
+               fprintf(stderr, "%s: conversion failed: %s\n", argv[0], oops);
+               exit(1);
+       }
+       switch (type) {
+       case 'a':
+               n = addrtoa(a[0], 0, buf, sizeof(buf));
+               break;
+       case 's':
+               n = subnettoa(a[0], a[1], 0, buf, sizeof(buf));
+               break;
+       case 'r':
+               n = rangetoa(a, 0, buf, sizeof(buf));
+               break;
+       default:
+               fprintf(stderr, "%s: unknown type '%c'\n", argv[0], type);
+               exit(1);
+               break;
+       }
+       if (n > sizeof(buf)) {
+               fprintf(stderr, "%s: reverse conversion of ", argv[0]);
+               fprintf(stderr, "%s ", inet_ntoa(a[0]));
+               fprintf(stderr, "%s", inet_ntoa(a[1]));
+               fprintf(stderr, " failed: need %ld bytes, have only %ld\n",
+                                               (long)n, (long)sizeof(buf));
+               exit(1);
+       }
+       printf("%s\n", buf);
+
+       exit(0);
+}
+
+struct rtab {
+       char *input;
+       char *output;                   /* NULL means error expected */
+} rtab[] = {
+       {"1.2.3.0",                     "1.2.3.0"},
+       {"1.2.3.0/255.255.255.0",       "1.2.3.0/24"},
+       {"1.2.3.0...1.2.3.5",           "1.2.3.0...1.2.3.5"},
+       {"1.2.3.4.5",                   NULL},
+       {"1.2.3.4/",                    NULL},
+       {"1.2.3.4...",                  NULL},
+       {"1.2.3.4....",                 NULL},
+       {"localhost/32",                        "127.0.0.1/32"},
+       {"localhost...127.0.0.3",       "127.0.0.1...127.0.0.3"},
+       {"127.0.0.0...localhost",       "127.0.0.0...127.0.0.1"},
+       {"127.0.0.3...localhost",       NULL},
+       {NULL,                          NULL}
+};
+
+void
+regress(void)
+{
+       struct rtab *r;
+       int status = 0;
+       struct in_addr a[2];
+       char in[100];
+       char buf[100];
+       const char *oops;
+       size_t n;
+       char type;
+
+       for (r = rtab; r->input != NULL; r++) {
+               strcpy(in, r->input);
+               oops = atoasr(in, 0, &type, a);
+               if (oops != NULL && r->output == NULL)
+                       {}              /* okay, error expected */
+               else if (oops != NULL) {
+                       printf("`%s' atoasr failed: %s\n", r->input, oops);
+                       status = 1;
+               } else if (r->output == NULL) {
+                       printf("`%s' atoasr succeeded unexpectedly '%c'\n",
+                                                       r->input, type);
+                       status = 1;
+               } else {
+                       switch (type) {
+                       case 'a':
+                               n = addrtoa(a[0], 0, buf, sizeof(buf));
+                               break;
+                       case 's':
+                               n = subnettoa(a[0], a[1], 0, buf, sizeof(buf));
+                               break;
+                       case 'r':
+                               n = rangetoa(a, 0, buf, sizeof(buf));
+                               break;
+                       default:
+                               fprintf(stderr, "`%s' unknown type '%c'\n",
+                                                       r->input, type);
+                               n = 0;
+                               status = 1;
+                               break;
+                       }
+                       if (n > sizeof(buf)) {
+                               printf("`%s' '%c' reverse failed:  need %ld\n",
+                                               r->input, type, (long)n);
+                               status = 1;
+                       } else if (n > 0 && strcmp(r->output, buf) != 0) {
+                               printf("`%s' '%c' gave `%s', expected `%s'\n",
+                                       r->input, type, buf, r->output);
+                               status = 1;
+                       }
+               }
+       }
+       exit(status);
+}
+
+#endif /* ATOASR_MAIN */
diff --git a/src/freeswan/atosa.3 b/src/freeswan/atosa.3
new file mode 100644 (file)
index 0000000..116483a
--- /dev/null
@@ -0,0 +1,218 @@
+.TH IPSEC_ATOSA 3 "11 June 2001"
+.\" RCSID $Id: atosa.3,v 1.1 2004/03/15 20:35:26 as Exp $
+.SH NAME
+ipsec atosa, satoa \- convert IPsec Security Association IDs to and from ASCII
+.SH SYNOPSIS
+.B "#include <freeswan.h>
+.sp
+.B "const char *atosa(const char *src, size_t srclen,"
+.ti +1c
+.B "struct sa_id *sa);
+.br
+.B "size_t satoa(struct sa_id sa, int format,"
+.ti +1c
+.B "char *dst, size_t dstlen);"
+.sp
+.B "struct sa_id {"
+.ti +1c
+.B "struct in_addr dst;"
+.ti +1c
+.B "ipsec_spi_t spi;"
+.ti +1c
+.B "int proto;"
+.br
+.B "};"
+.SH DESCRIPTION
+These functions are obsolete; see
+.IR ipsec_ttosa (3)
+for their replacements.
+.PP
+.I Atosa
+converts an ASCII Security Association (SA) specifier into an
+.B sa_id
+structure (containing
+a destination-host address
+in network byte order,
+an SPI number in network byte order, and
+a protocol code).
+.I Satoa
+does the reverse conversion, back to an ASCII SA specifier.
+.PP
+An SA is specified in ASCII with a mail-like syntax, e.g.
+.BR esp507@1.2.3.4 .
+An SA specifier contains
+a protocol prefix (currently
+.BR ah ,
+.BR esp ,
+or
+.BR tun ),
+an unsigned integer SPI number,
+and an IP address.
+The SPI number can be decimal or hexadecimal
+(with
+.B 0x
+prefix), as accepted by
+.IR ipsec_atoul (3).
+The IP address can be any form accepted by
+.IR ipsec_atoaddr (3),
+e.g. dotted-decimal address or DNS name.
+.PP
+As a special case, the SA specifier
+.B %passthrough
+signifies the special SA used to indicate that packets should be
+passed through unaltered.
+(At present, this is a synonym for
+.BR tun0x0@0.0.0.0 ,
+but that is subject to change without notice.)
+This form is known to both
+.I atosa
+and
+.IR satoa ,
+so the internal form of
+.B %passthrough
+is never visible.
+.PP
+The
+.B <freeswan.h>
+header file supplies the
+.B sa_id
+structure, as well as a data type
+.B ipsec_spi_t
+which is an unsigned 32-bit integer.
+(There is no consistency between kernel and user on what such a type
+is called, hence the header hides the differences.)
+.PP
+The protocol code uses the same numbers that IP does.
+For user convenience, given the difficulty in acquiring the exact set of
+protocol names used by the kernel,
+.B <freeswan.h>
+defines the names
+.BR SA_ESP ,
+.BR SA_AH ,
+and
+.B SA_IPIP
+to have the same values as the kernel names
+.BR IPPROTO_ESP ,
+.BR IPPROTO_AH ,
+and
+.BR IPPROTO_IPIP .
+.PP
+The
+.I srclen
+parameter of
+.I atosa
+specifies the length of the ASCII string pointed to by
+.IR src ;
+it is an error for there to be anything else
+(e.g., a terminating NUL) within that length.
+As a convenience for cases where an entire NUL-terminated string is
+to be converted,
+a
+.I srclen
+value of
+.B 0
+is taken to mean
+.BR strlen(src) .
+.PP
+The
+.I dstlen
+parameter of
+.I satoa
+specifies the size of the
+.I dst
+parameter;
+under no circumstances are more than
+.I dstlen
+bytes written to
+.IR dst .
+A result which will not fit is truncated.
+.I Dstlen
+can be zero, in which case
+.I dst
+need not be valid and no result is written,
+but the return value is unaffected;
+in all other cases, the (possibly truncated) result is NUL-terminated.
+The
+.I freeswan.h
+header file defines a constant,
+.BR SATOA_BUF ,
+which is the size of a buffer just large enough for worst-case results.
+.PP
+The
+.I format
+parameter of
+.I satoa
+specifies what format is to be used for the conversion.
+The value
+.B 0
+(not the ASCII character
+.BR '0' ,
+but a zero value)
+specifies a reasonable default
+(currently
+lowercase protocol prefix, lowercase hexadecimal SPI, dotted-decimal address).
+The value
+.B d
+causes the SPI to be generated in decimal instead.
+.PP
+.I Atosa
+returns
+.B NULL
+for success and
+a pointer to a string-literal error message for failure;
+see DIAGNOSTICS.
+.I Satoa
+returns
+.B 0
+for a failure, and otherwise
+always returns the size of buffer which would 
+be needed to
+accommodate the full conversion result, including terminating NUL;
+it is the caller's responsibility to check this against the size of
+the provided buffer to determine whether truncation has occurred.
+.SH SEE ALSO
+ipsec_atoul(3), ipsec_atoaddr(3), inet(3)
+.SH DIAGNOSTICS
+Fatal errors in
+.I atosa
+are:
+empty input;
+input too small to be a legal SA specifier;
+no
+.B @
+in input;
+unknown protocol prefix;
+conversion error in
+.I atoul
+or
+.IR atoaddr .
+.PP
+Fatal errors in
+.I satoa
+are:
+unknown format; unknown protocol code.
+.SH HISTORY
+Written for the FreeS/WAN project by Henry Spencer.
+.SH BUGS
+The
+.B tun
+protocol code is a FreeS/WANism which may eventually disappear.
+.PP
+The restriction of ASCII-to-binary error reports to literal strings
+(so that callers don't need to worry about freeing them or copying them)
+does limit the precision of error reporting.
+.PP
+The ASCII-to-binary error-reporting convention lends itself
+to slightly obscure code,
+because many readers will not think of NULL as signifying success.
+A good way to make it clearer is to write something like:
+.PP
+.RS
+.nf
+.B "const char *error;"
+.sp
+.B "error = atoaddr( /* ... */ );"
+.B "if (error != NULL) {"
+.B "        /* something went wrong */"
+.fi
+.RE
diff --git a/src/freeswan/atosa.c b/src/freeswan/atosa.c
new file mode 100644 (file)
index 0000000..cc3b055
--- /dev/null
@@ -0,0 +1,200 @@
+/*
+ * convert from ASCII form of SA ID to binary
+ * Copyright (C) 1998, 1999  Henry Spencer.
+ * 
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Library General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.  See <http://www.fsf.org/copyleft/lgpl.txt>.
+ * 
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+ * License for more details.
+ *
+ * RCSID $Id: atosa.c,v 1.1 2004/03/15 20:35:26 as Exp $
+ */
+#include "internal.h"
+#include "freeswan.h"
+
+static struct satype {
+       char *prefix;
+       size_t prelen;          /* strlen(prefix) */
+       int proto;
+} satypes[] = {
+       { "ah",         2,      SA_AH   },
+       { "esp",        3,      SA_ESP  },
+       { "tun",        3,      SA_IPIP },
+       { "comp",       4,      SA_COMP },
+       { NULL,         0,      0,      }
+};
+
+/*
+ - atosa - convert ASCII "ah507@10.0.0.1" to SA identifier
+ */
+const char *                   /* NULL for success, else string literal */
+atosa(src, srclen, sa)
+const char *src;
+size_t srclen;                 /* 0 means "apply strlen" */
+struct sa_id *sa;
+{
+       const char *at;
+       const char *addr;
+       const char *spi = NULL;
+       struct satype *sat;
+       unsigned long ul;
+       const char *oops;
+#      define  MINLEN  5       /* ah0@0 is as short as it can get */
+       static char ptname[] = PASSTHROUGHNAME;
+#      define  PTNLEN  (sizeof(ptname)-1)      /* -1 for NUL */
+
+       if (srclen == 0)
+               srclen = strlen(src);
+       if (srclen == 0)
+               return "empty string";
+       if (srclen < MINLEN)
+               return "string too short to be SA specifier";
+       if (srclen == PTNLEN && memcmp(src, ptname, PTNLEN) == 0) {
+               src = PASSTHROUGHIS;
+               srclen = strlen(src);
+       }
+
+       at = memchr(src, '@', srclen);
+       if (at == NULL)
+               return "no @ in SA specifier";
+
+       for (sat = satypes; sat->prefix != NULL; sat++)
+               if (sat->prelen < srclen &&
+                               strncmp(src, sat->prefix, sat->prelen) == 0) {
+                       sa->proto = sat->proto;
+                       spi = src + sat->prelen;
+                       break;                  /* NOTE BREAK OUT */
+               }
+       if (sat->prefix == NULL)
+               return "SA specifier lacks valid protocol prefix";
+
+       if (spi >= at)
+               return "no SPI in SA specifier";
+       oops = atoul(spi, at - spi, 13, &ul);
+       if (oops != NULL)
+               return oops;
+       sa->spi = htonl(ul);
+
+       addr = at + 1;
+       oops = atoaddr(addr, srclen - (addr - src), &sa->dst);
+       if (oops != NULL)
+               return oops;
+
+       return NULL;
+}
+
+
+
+#ifdef ATOSA_MAIN
+
+#include <stdio.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+void regress(void);
+
+int
+main(int argc, char *argv[])
+{
+       struct sa_id sa;
+       char buf[100];
+       const char *oops;
+       size_t n;
+
+       if (argc < 2) {
+               fprintf(stderr, "Usage: %s {ahnnn@aaa|-r}\n", argv[0]);
+               exit(2);
+       }
+
+       if (strcmp(argv[1], "-r") == 0) {
+               regress();
+               fprintf(stderr, "regress() returned?!?\n");
+               exit(1);
+       }
+
+       oops = atosa(argv[1], 0, &sa);
+       if (oops != NULL) {
+               fprintf(stderr, "%s: conversion failed: %s\n", argv[0], oops);
+               exit(1);
+       }
+       n = satoa(sa, 0, buf, sizeof(buf));
+       if (n > sizeof(buf)) {
+               fprintf(stderr, "%s: reverse conv of `%d'", argv[0], sa.proto);
+               fprintf(stderr, "%lu@", (long unsigned int)sa.spi);
+               fprintf(stderr, "%s", inet_ntoa(sa.dst));
+               fprintf(stderr, " failed: need %ld bytes, have only %ld\n",
+                                               (long)n, (long)sizeof(buf));
+               exit(1);
+       }
+       printf("%s\n", buf);
+
+       exit(0);
+}
+
+struct rtab {
+       char *input;
+       char *output;                   /* NULL means error expected */
+} rtab[] = {
+       {"esp257@1.2.3.0",              "esp257@1.2.3.0"},
+       {"ah0x20@1.2.3.4",              "ah32@1.2.3.4"},
+       {"tun011@111.2.3.99",           "tun11@111.2.3.99"},
+       {"",                            NULL},
+       {"_",                           NULL},
+       {"ah2.2",                       NULL},
+       {"goo2@1.2.3.4",                        NULL},
+       {"esp9@1.2.3.4",                        "esp9@1.2.3.4"},
+       {"espp9@1.2.3.4",               NULL},
+       {"es9@1.2.3.4",                 NULL},
+       {"ah@1.2.3.4",                  NULL},
+       {"esp7x7@1.2.3.4",              NULL},
+       {"esp77@1.0x2.3.4",             NULL},
+       {PASSTHROUGHNAME,               PASSTHROUGHNAME},
+        {NULL,                         NULL}
+};
+
+void
+regress(void)
+{
+       struct rtab *r;
+       int status = 0;
+       struct sa_id sa;
+       char in[100];
+       char buf[100];
+       const char *oops;
+       size_t n;
+
+       for (r = rtab; r->input != NULL; r++) {
+               strcpy(in, r->input);
+               oops = atosa(in, 0, &sa);
+               if (oops != NULL && r->output == NULL)
+                       {}              /* okay, error expected */
+               else if (oops != NULL) {
+                       printf("`%s' atosa failed: %s\n", r->input, oops);
+                       status = 1;
+               } else if (r->output == NULL) {
+                       printf("`%s' atosa succeeded unexpectedly\n",
+                                                               r->input);
+                       status = 1;
+               } else {
+                       n = satoa(sa, 'd', buf, sizeof(buf));
+                       if (n > sizeof(buf)) {
+                               printf("`%s' satoa failed:  need %ld\n",
+                                                       r->input, (long)n);
+                               status = 1;
+                       } else if (strcmp(r->output, buf) != 0) {
+                               printf("`%s' gave `%s', expected `%s'\n",
+                                               r->input, buf, r->output);
+                               status = 1;
+                       }
+               }
+       }
+       exit(status);
+}
+
+#endif /* ATOSA_MAIN */
diff --git a/src/freeswan/atosubnet.c b/src/freeswan/atosubnet.c
new file mode 100644 (file)
index 0000000..9300c28
--- /dev/null
@@ -0,0 +1,216 @@
+/*
+ * convert from ASCII form of subnet specification to binary
+ * Copyright (C) 1998, 1999  Henry Spencer.
+ * 
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Library General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.  See <http://www.fsf.org/copyleft/lgpl.txt>.
+ * 
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+ * License for more details.
+ *
+ * RCSID $Id: atosubnet.c,v 1.1 2004/03/15 20:35:26 as Exp $
+ */
+#include "internal.h"
+#include "freeswan.h"
+
+#ifndef DEFAULTSUBNET
+#define        DEFAULTSUBNET   "%default"
+#endif
+
+/*
+ - atosubnet - convert ASCII "addr/mask" to address and mask
+ * Mask can be integer bit count.
+ */
+const char *                   /* NULL for success, else string literal */
+atosubnet(src, srclen, addrp, maskp)
+const char *src;
+size_t srclen;                 /* 0 means "apply strlen" */
+struct in_addr *addrp;
+struct in_addr *maskp;
+{
+       const char *slash;
+       const char *mask;
+       size_t mlen;
+       const char *oops;
+       unsigned long bc;
+       static char def[] = DEFAULTSUBNET;
+#      define  DEFLEN  (sizeof(def) - 1)       /* -1 for NUL */
+       static char defis[] = "0/0";
+#      define  DEFILEN (sizeof(defis) - 1)
+
+       if (srclen == 0)
+               srclen = strlen(src);
+       if (srclen == 0)
+               return "empty string";
+
+       if (srclen == DEFLEN && strncmp(src, def, srclen) == 0) {
+               src = defis;
+               srclen = DEFILEN;
+       }
+
+       slash = memchr(src, '/', srclen);
+       if (slash == NULL)
+               return "no / in subnet specification";
+       mask = slash + 1;
+       mlen = srclen - (mask - src);
+
+       oops = atoaddr(src, slash-src, addrp);
+       if (oops != NULL)
+               return oops;
+
+       oops = atoul(mask, mlen, 10, &bc);
+       if (oops == NULL) {
+               /* atoul succeeded, it's a bit-count mask */
+               if (bc > ABITS)
+                       return "bit-count mask too large";
+#ifdef NOLEADINGZEROS
+               if (mlen > 1 && *mask == '0')
+                       return "octal not allowed in mask";
+#endif /* NOLEADINGZEROS */
+               *maskp = bitstomask((int)bc);
+       } else {
+               oops = atoaddr(mask, mlen, maskp);
+               if (oops != NULL)
+                       return oops;
+               if (!goodmask(*maskp))
+                       return "non-contiguous mask";
+       }
+
+       addrp->s_addr &= maskp->s_addr;
+       return NULL;
+}
+
+
+
+#ifdef ATOSUBNET_MAIN
+
+#include <stdio.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+void regress(void);
+
+int
+main(int argc, char *argv[])
+{
+       struct in_addr a;
+       struct in_addr m;
+       char buf[100];
+       const char *oops;
+       size_t n;
+
+       if (argc < 2) {
+               fprintf(stderr, "Usage: %s {addr/mask|-r}\n", argv[0]);
+               exit(2);
+       }
+
+       if (strcmp(argv[1], "-r") == 0) {
+               regress();
+               fprintf(stderr, "regress() returned?!?\n");
+               exit(1);
+       }
+
+       oops = atosubnet(argv[1], 0, &a, &m);
+       if (oops != NULL) {
+               fprintf(stderr, "%s: conversion failed: %s\n", argv[0], oops);
+               exit(1);
+       }
+       n = subnettoa(a, m, 0, buf, sizeof(buf));
+       if (n > sizeof(buf)) {
+               fprintf(stderr, "%s: reverse conversion of ", argv[0]);
+               fprintf(stderr, "%s/", inet_ntoa(a));
+               fprintf(stderr, "%s", inet_ntoa(m));
+               fprintf(stderr, " failed: need %ld bytes, have only %ld\n",
+                                               (long)n, (long)sizeof(buf));
+               exit(1);
+       }
+       printf("%s\n", buf);
+
+       exit(0);
+}
+
+struct rtab {
+       char *input;
+       char *output;                   /* NULL means error expected */
+} rtab[] = {
+       {"1.2.3.0/255.255.255.0",       "1.2.3.0/24"},
+       {"1.2.3.0/24",                  "1.2.3.0/24"},
+       {"1.2.3.1/255.255.255.240",     "1.2.3.0/28"},
+       {"1.2.3.1/32",                  "1.2.3.1/32"},
+       {"1.2.3.1/0",                   "0.0.0.0/0"},
+/*     "1.2.3.1/255.255.127.0",        "1.2.3.0/255.255.127.0",        */
+       {"1.2.3.1/255.255.127.0",       NULL},
+       {"128.009.000.032/32",          "128.9.0.32/32"},
+       {"128.0x9.0.32/32",             NULL},
+       {"0x80090020/32",               "128.9.0.32/32"},
+       {"0x800x0020/32",               NULL},
+       {"128.9.0.32/0xffFF0000",       "128.9.0.0/16"},
+       {"128.9.0.32/0xff0000FF",       NULL},
+       {"128.9.0.32/0x0000ffFF",       NULL},
+       {"128.9.0.32/0x00ffFF0000",     NULL},
+       {"128.9.0.32/0xffFF",           NULL},
+       {"128.9.0.32.27/32",            NULL},
+       {"128.9.0k32/32",               NULL},
+       {"328.9.0.32/32",               NULL},
+       {"128.9..32/32",                NULL},
+       {"10/8",                        "10.0.0.0/8"},
+       {"10.0/8",                      "10.0.0.0/8"},
+       {"10.0.0/8",                    "10.0.0.0/8"},
+       {"10.0.1/24",                   "10.0.1.0/24"},
+       {"_",                           NULL},
+       {"_/_",                         NULL},
+       {"1.2.3.1",                     NULL},
+       {"1.2.3.1/_",                   NULL},
+       {"1.2.3.1/24._",                NULL},
+       {"1.2.3.1/99",                  NULL},
+       {"localhost/32",                "127.0.0.1/32"},
+       {"%default",                    "0.0.0.0/0"},
+       {NULL,                          NULL}
+};
+
+void
+regress()
+{
+       struct rtab *r;
+       int status = 0;
+       struct in_addr a;
+       struct in_addr m;
+       char in[100];
+       char buf[100];
+       const char *oops;
+       size_t n;
+
+       for (r = rtab; r->input != NULL; r++) {
+               strcpy(in, r->input);
+               oops = atosubnet(in, 0, &a, &m);
+               if (oops != NULL && r->output == NULL)
+                       {}              /* okay, error expected */
+               else if (oops != NULL) {
+                       printf("`%s' atosubnet failed: %s\n", r->input, oops);
+                       status = 1;
+               } else if (r->output == NULL) {
+                       printf("`%s' atosubnet succeeded unexpectedly\n",
+                                                               r->input);
+                       status = 1;
+               } else {
+                       n = subnettoa(a, m, 0, buf, sizeof(buf));
+                       if (n > sizeof(buf)) {
+                               printf("`%s' subnettoa failed:  need %ld\n",
+                                                       r->input, (long)n);
+                               status = 1;
+                       } else if (strcmp(r->output, buf) != 0) {
+                               printf("`%s' gave `%s', expected `%s'\n",
+                                               r->input, buf, r->output);
+                               status = 1;
+                       }
+               }
+       }
+       exit(status);
+}
+
+#endif /* ATOSUBNET_MAIN */
diff --git a/src/freeswan/atoul.3 b/src/freeswan/atoul.3
new file mode 100644 (file)
index 0000000..a606fa4
--- /dev/null
@@ -0,0 +1,161 @@
+.TH IPSEC_ATOUL 3 "11 June 2001"
+.\" RCSID $Id: atoul.3,v 1.1 2004/03/15 20:35:26 as Exp $
+.SH NAME
+ipsec atoul, ultoa \- convert unsigned-long numbers to and from ASCII
+.SH SYNOPSIS
+.B "#include <freeswan.h>
+.sp
+.B "const char *atoul(const char *src, size_t srclen,"
+.ti +1c
+.B "int base, unsigned long *n);"
+.br
+.B "size_t ultoa(unsigned long n, int base, char *dst,"
+.ti +1c
+.B "size_t dstlen);"
+.SH DESCRIPTION
+These functions are obsolete; see
+.IR ipsec_ttoul (3)
+for their replacements.
+.PP
+.I Atoul
+converts an ASCII number into a binary
+.B "unsigned long"
+value.
+.I Ultoa
+does the reverse conversion, back to an ASCII version.
+.PP
+Numbers are specified in ASCII as
+decimal (e.g.
+.BR 123 ),
+octal with a leading zero (e.g.
+.BR 012 ,
+which has value 10),
+or hexadecimal with a leading
+.B 0x
+(e.g.
+.BR 0x1f ,
+which has value 31)
+in either upper or lower case.
+.PP
+The
+.I srclen
+parameter of
+.I atoul
+specifies the length of the ASCII string pointed to by
+.IR src ;
+it is an error for there to be anything else
+(e.g., a terminating NUL) within that length.
+As a convenience for cases where an entire NUL-terminated string is
+to be converted,
+a
+.I srclen
+value of
+.B 0
+is taken to mean
+.BR strlen(src) .
+.PP
+The
+.I base
+parameter of
+.I atoul
+can be
+.BR 8 ,
+.BR 10 ,
+or
+.BR 16 ,
+in which case the number supplied is assumed to be of that form
+(and in the case of
+.BR 16 ,
+to lack any
+.B 0x
+prefix).
+It can also be
+.BR 0 ,
+in which case the number is examined for a leading zero
+or a leading
+.B 0x
+to determine its base,
+or
+.B 13
+(halfway between 10 and 16),
+which has the same effect as
+.B 0
+except that a non-hexadecimal
+number is considered decimal regardless of any leading zero.
+.PP
+The
+.I dstlen
+parameter of
+.I ultoa
+specifies the size of the
+.I dst
+parameter;
+under no circumstances are more than
+.I dstlen
+bytes written to
+.IR dst .
+A result which will not fit is truncated.
+.I Dstlen
+can be zero, in which case
+.I dst
+need not be valid and no result is written,
+but the return value is unaffected;
+in all other cases, the (possibly truncated) result is NUL-terminated.
+.PP
+The
+.I base
+parameter of
+.I ultoa
+must be
+.BR 8 ,
+.BR 10 ,
+or
+.BR 16 .
+.PP
+.I Atoul
+returns NULL for success and
+a pointer to a string-literal error message for failure;
+see DIAGNOSTICS.
+.I Ultoa
+returns the size of buffer which would 
+be needed to
+accommodate the full conversion result, including terminating NUL;
+it is the caller's responsibility to check this against the size of
+the provided buffer to determine whether truncation has occurred.
+.SH SEE ALSO
+atol(3), strtoul(3)
+.SH DIAGNOSTICS
+Fatal errors in
+.I atoul
+are:
+empty input;
+unknown
+.IR base ;
+non-digit character found;
+number too large for an
+.BR "unsigned long" .
+.SH HISTORY
+Written for the FreeS/WAN project by Henry Spencer.
+.SH BUGS
+There is no provision for reporting an invalid
+.I base
+parameter given to
+.IR ultoa .
+.PP
+The restriction of error reports to literal strings
+(so that callers don't need to worry about freeing them or copying them)
+does limit the precision of error reporting.
+.PP
+The error-reporting convention lends itself to slightly obscure code,
+because many readers will not think of NULL as signifying success.
+A good way to make it clearer is to write something like:
+.PP
+.RS
+.nf
+.B "const char *error;"
+.sp
+.B "error = atoul( /* ... */ );"
+.B "if (error != NULL) {"
+.B "        /* something went wrong */"
+.fi
+.RE
diff --git a/src/freeswan/atoul.c b/src/freeswan/atoul.c
new file mode 100644 (file)
index 0000000..e32a8cd
--- /dev/null
@@ -0,0 +1,90 @@
+/*
+ * convert from ASCII form of unsigned long to binary
+ * Copyright (C) 1998, 1999  Henry Spencer.
+ * 
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Library General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.  See <http://www.fsf.org/copyleft/lgpl.txt>.
+ * 
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+ * License for more details.
+ *
+ * RCSID $Id: atoul.c,v 1.1 2004/03/15 20:35:26 as Exp $
+ */
+#include "internal.h"
+#include "freeswan.h"
+
+/*
+ - atoul - convert ASCII substring to unsigned long number
+ */
+const char *                   /* NULL for success, else string literal */
+atoul(src, srclen, base, resultp)
+const char *src;
+size_t srclen;                 /* 0 means strlen(src) */
+int base;                      /* 0 means figure it out */
+unsigned long *resultp;
+{
+       const char *stop;
+       static char hex[] = "0123456789abcdef";
+       static char uchex[] = "0123456789ABCDEF";
+       int d;
+       char c;
+       char *p;
+       unsigned long r;
+       unsigned long rlimit;
+       int dlimit;
+
+       if (srclen == 0)
+               srclen = strlen(src);
+       if (srclen == 0)
+               return "empty string";
+
+       if (base == 0 || base == 13) {
+               if (srclen > 2 && *src == '0' && CIEQ(*(src+1), 'x'))
+                       return atoul(src+2, srclen-2, 16, resultp);
+               if (srclen > 1 && *src == '0' && base != 13)
+                       return atoul(src+1, srclen-1, 8, resultp);
+               return atoul(src, srclen, 10, resultp);
+       }
+       if (base != 8 && base != 10 && base != 16)
+               return "unsupported number base";
+
+       r = 0;
+       stop = src + srclen;
+       if (base == 16) {
+               while (src < stop) {
+                       c = *src++;
+                       p = strchr(hex, c);
+                       if (p != NULL)
+                               d = p - hex;
+                       else {
+                               p = strchr(uchex, c);
+                               if (p == NULL)
+                                       return "non-hex-digit in hex number";
+                               d = p - uchex;
+                       }
+                       r = (r << 4) | d;
+               }
+               /* defer length check to catch invalid digits first */
+               if (srclen > sizeof(unsigned long) * 2)
+                       return "hex number too long";
+       } else {
+               rlimit = ULONG_MAX / base;
+               dlimit = (int)(ULONG_MAX - rlimit*base);
+               while (src < stop) {
+                       c = *src++;
+                       d = c - '0';
+                       if (d < 0 || d >= base)
+                               return "non-digit in number";
+                       if (r > rlimit || (r == rlimit && d > dlimit))
+                               return "unsigned-long overflow";
+                       r = r*base + d;
+               }
+       }
+
+       *resultp = r;
+       return NULL;
+}
diff --git a/src/freeswan/copyright.c b/src/freeswan/copyright.c
new file mode 100644 (file)
index 0000000..0e836f6
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * return IPsec copyright notice
+ * Copyright (C) 2001, 2002  Henry Spencer.
+ *
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Library General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.  See <http://www.fsf.org/copyleft/lgpl.txt>.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+ * License for more details.
+ *
+ * RCSID $Id: copyright.c,v 1.6 2005/11/02 21:51:13 as Exp $
+ */
+#include "internal.h"
+#include "freeswan.h"
+
+static const char *co[] = {
+ "Copyright (C) 1999-2005  Henry Spencer, Richard Guy Briggs,",
+ "    D. Hugh Redelmeier, Sandy Harris, Claudia Schmeing,",
+ "    Michael Richardson, Angelos D. Keromytis, John Ioannidis,",
+ "",
+ "    Ken Bantoft, Stephen J. Bevan, JuanJo Ciarlante, Mathieu Lafon,",
+ "    Stephane Laroche, Kai Martius, Tuomo Soini, Herbert Xu,",
+ "",
+ "    Andreas Steffen, Martin Berner, Marco Bertossa, David Buechi,",
+ "    Ueli Galizzi, Christoph Gysin, Andreas Hess, Patric Lichtsteiner,",
+ "    Michael Meier, Andreas Schleiss, Ariane Seiler,",
+ "    Mario Strasser, Lukas Suter, Roger Wegmann, Simon Zwahlen,",
+ "    Zuercher Hochschule Winterthur (Switzerland).",
+ "",
+ "    Jan Hutter, Martin Willi, Andreas Steffen,",
+ "    Hochschule fuer Technik Rapperswil (Switzerland).",
+ "",
+ "This program is free software; you can redistribute it and/or modify it",
+ "under the terms of the GNU General Public License as published by the",
+ "Free Software Foundation; either version 2 of the License, or (at your",
+ "option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.",
+ "",
+ "This program is distributed in the hope that it will be useful, but",
+ "WITHOUT ANY WARRANTY; without even the implied warranty of",
+ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General",
+ "Public License (file COPYING in the distribution) for more details.",
+ NULL
+};
+
+/*
+ - ipsec_copyright_notice - return copyright notice, as a vector of strings
+ */
+const char **
+ipsec_copyright_notice()
+{
+       return co;
+}
diff --git a/src/freeswan/datatot.c b/src/freeswan/datatot.c
new file mode 100644 (file)
index 0000000..fbeb35f
--- /dev/null
@@ -0,0 +1,233 @@
+/*
+ * convert from binary data (e.g. key) to text form
+ * Copyright (C) 2000  Henry Spencer.
+ * 
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Library General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.  See <http://www.fsf.org/copyleft/lgpl.txt>.
+ * 
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+ * License for more details.
+ *
+ * RCSID $Id: datatot.c,v 1.1 2004/03/15 20:35:26 as Exp $
+ */
+#include "internal.h"
+#include "freeswan.h"
+
+static void convert(const char *src, size_t nreal, int format, char *out);
+
+/*
+ - datatot - convert data bytes to text
+ */
+size_t                         /* true length (with NUL) for success */
+datatot(src, srclen, format, dst, dstlen)
+const char *src;
+size_t srclen;
+int format;                    /* character indicating what format */
+char *dst;                     /* need not be valid if dstlen is 0 */
+size_t dstlen;
+{
+       size_t inblocksize;     /* process this many bytes at a time */
+       size_t outblocksize;    /* producing this many */
+       size_t breakevery;      /* add a _ every this many (0 means don't) */
+       size_t sincebreak;      /* output bytes since last _ */
+       char breakchar;         /* character used to break between groups */
+       char inblock[10];       /* enough for any format */
+       char outblock[10];      /* enough for any format */
+       char fake[1];           /* fake output area for dstlen == 0 */
+       size_t needed;          /* return value */
+       char *stop;             /* where the terminating NUL will go */
+       size_t ntodo;           /* remaining input */
+       size_t nreal;
+       char *out;
+       char *prefix;
+
+       breakevery = 0;
+       breakchar = '_';
+
+       switch (format) {
+       case 0:
+       case 'h':
+               format = 'x';
+               breakevery = 8;
+               /* FALLTHROUGH */
+       case 'x':
+               inblocksize = 1;
+               outblocksize = 2;
+               prefix = "0x";
+               break;
+       case ':':
+               format = 'x';
+               breakevery = 2;
+               breakchar = ':';
+               /* FALLTHROUGH */
+       case 16:
+               inblocksize = 1;
+               outblocksize = 2;
+               prefix = "";
+               format = 'x';
+               break;
+       case 's':
+               inblocksize = 3;
+               outblocksize = 4;
+               prefix = "0s";
+               break;
+       case 64:                /* beware, equals ' ' */
+               inblocksize = 3;
+               outblocksize = 4;
+               prefix = "";
+               format = 's';
+               break;
+       default:
+               return 0;
+               break;
+       }
+       assert(inblocksize < sizeof(inblock));
+       assert(outblocksize < sizeof(outblock));
+       assert(breakevery % outblocksize == 0);
+
+       if (srclen == 0)
+               return 0;
+       ntodo = srclen;
+
+       if (dstlen == 0) {      /* dispose of awkward special case */
+               dst = fake;
+               dstlen = 1;
+       }
+       stop = dst + dstlen - 1;
+
+       nreal = strlen(prefix);
+       needed = nreal;                 /* for starters */
+       if (dstlen <= nreal) {          /* prefix won't fit */
+               strncpy(dst, prefix, dstlen - 1);
+               dst += dstlen - 1;
+       } else {
+               strcpy(dst, prefix);
+               dst += nreal;
+       }
+       assert(dst <= stop);
+       sincebreak = 0;
+
+       while (ntodo > 0) {
+               if (ntodo < inblocksize) {      /* incomplete input */
+                       memset(inblock, 0, sizeof(inblock));
+                       memcpy(inblock, src, ntodo);
+                       src = inblock;
+                       nreal = ntodo;
+                       ntodo = inblocksize;
+               } else
+                       nreal = inblocksize;
+               out = (outblocksize > stop - dst) ? outblock : dst;
+
+               convert(src, nreal, format, out);
+               needed += outblocksize;
+               sincebreak += outblocksize;
+               if (dst < stop) {
+                       if (out != dst) {
+                               assert(outblocksize > stop - dst);
+                               memcpy(dst, out, stop - dst);
+                               dst = stop;
+                       } else
+                               dst += outblocksize;
+               }
+
+               src += inblocksize;
+               ntodo -= inblocksize;
+               if (breakevery != 0 && sincebreak >= breakevery && ntodo > 0) {
+                       if (dst < stop)
+                               *dst++ = breakchar;
+                       needed++;
+                       sincebreak = 0;
+               }
+       }
+
+       assert(dst <= stop);
+       *dst++ = '\0';
+       needed++;
+
+       return needed;
+}
+
+/*
+ - convert - convert one input block to one output block
+ */
+static void
+convert(src, nreal, format, out)
+const char *src;
+size_t nreal;                  /* how much of the input block is real */
+int format;
+char *out;
+{
+       static char hex[] = "0123456789abcdef";
+       static char base64[] =  "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+                               "abcdefghijklmnopqrstuvwxyz"
+                               "0123456789+/";
+       unsigned char c;
+       unsigned char c1, c2, c3;
+
+       assert(nreal > 0);
+       switch (format) {
+       case 'x':
+               assert(nreal == 1);
+               c = (unsigned char)*src;
+               *out++ = hex[c >> 4];
+               *out++ = hex[c & 0xf];
+               break;
+       case 's':
+               c1 = (unsigned char)*src++;
+               c2 = (unsigned char)*src++;
+               c3 = (unsigned char)*src++;
+               *out++ = base64[c1 >> 2];       /* top 6 bits of c1 */
+               c = (c1 & 0x3) << 4;            /* bottom 2 of c1... */
+               c |= c2 >> 4;                   /* ...top 4 of c2 */
+               *out++ = base64[c];
+               if (nreal == 1)
+                       *out++ = '=';
+               else {
+                       c = (c2 & 0xf) << 2;    /* bottom 4 of c2... */
+                       c |= c3 >> 6;           /* ...top 2 of c3 */
+                       *out++ = base64[c];
+               }
+               if (nreal <= 2)
+                       *out++ = '=';
+               else
+                       *out++ = base64[c3 & 0x3f];     /* bottom 6 of c3 */
+               break;
+       default:
+               assert(nreal == 0);     /* unknown format */
+               break;
+       }
+}
+
+/*
+ - datatoa - convert data to ASCII
+ * backward-compatibility synonym for datatot
+ */
+size_t                         /* true length (with NUL) for success */
+datatoa(src, srclen, format, dst, dstlen)
+const char *src;
+size_t srclen;
+int format;                    /* character indicating what format */
+char *dst;                     /* need not be valid if dstlen is 0 */
+size_t dstlen;
+{
+       return datatot(src, srclen, format, dst, dstle