Commit Graph

1084 Commits

Author SHA1 Message Date
Martin Willi 059c479a2f check integrity of libstrongswan 2009-06-22 15:47:17 +02:00
Martin Willi 960e0c1040 check integrity of plugins before loading 2009-06-22 15:47:17 +02:00
Martin Willi 20d4fc97cf implemented an integrity checker class to build and check code integrity 2009-06-22 15:47:16 +02:00
Martin Willi 31b9c10800 removed unneeded newline 2009-06-22 15:35:18 +02:00
Andreas Steffen 1ea31180a0 HASH_MD2 is not implemented yet in gcrypt 2009-06-18 10:03:05 +02:00
Andreas Steffen 3d7250d472 added test vector for NULL encryption 2009-06-18 09:59:24 +02:00
Andreas Steffen c233bb932a added test vector for NULL encryption 2009-06-18 09:42:05 +02:00
Andreas Steffen 21142d40d1 added md2 and md4 test vectors 2009-06-18 09:32:57 +02:00
Andreas Steffen 6561694796 added 2 des test vectors 2009-06-18 08:23:51 +02:00
Andreas Steffen 0e9ded6838 removed serpent and twofish plugins - use gcrypt instead 2009-06-18 07:27:40 +02:00
Andreas Steffen bfab805898 removed superfluous print argument 2009-06-17 22:54:57 +02:00
Andreas Steffen e1101d5994 added 2 RC5 test vectors 2009-06-17 22:34:03 +02:00
Andreas Steffen ed65740846 added 2 IDEA test vectors 2009-06-17 21:53:30 +02:00
Andreas Steffen 364786b69f added 6 serpent test vectors 2009-06-17 21:37:26 +02:00
Andreas Steffen 142b7326a6 added 3 Twofish test vectors 2009-06-17 15:50:27 +02:00
Andreas Steffen a36c082da6 added one CAST-128 test vector 2009-06-17 15:24:20 +02:00
Andreas Steffen 1db85f2cc7 corrected ASN.1 encoding of OID node 2009-06-17 15:08:03 +02:00
Andreas Steffen 61bfc3acae added 6 Camellia test vectors 2009-06-17 14:22:00 +02:00
Andreas Steffen 22511bbd34 added 6 Camellia test vectors 2009-06-17 14:21:34 +02:00
Andreas Steffen 53095480af conversion from CAMELLIA OIDs to encryption_algorithm 2009-06-17 13:12:48 +02:00
Andreas Steffen 7417d35ee0 fixed tabs 2009-06-17 13:08:19 +02:00
Andreas Steffen 688705eec2 added camellia-cbc OIDs 2009-06-17 13:07:07 +02:00
Andreas Steffen 942127a602 fixed 64 bit warning 2009-06-17 12:32:28 +02:00
Andreas Steffen c3fcdd9322 added 2 3DES-CBC and 3 AES-CBC test vectors 2009-06-17 00:08:44 +02:00
Andreas Steffen b07ffa2490 reformatted crypto_test output 2009-06-16 14:58:49 +02:00
Martin Willi 62d6da67dd support older gcrypt libraries not defining the CAMELLIA cipher 2009-06-16 14:23:32 +02:00
Martin Willi 24d7b25d21 fixed compiler warning 2009-06-16 14:21:55 +02:00
Martin Willi 26999f2511 increased verbosity of successful crypto tests 2009-06-16 09:54:28 +02:00
Martin Willi 72e174f966 removed one hierarchy level for crypto test options 2009-06-16 09:48:45 +02:00
Andreas Steffen cd312fcc43 remove whitespace 2009-06-15 19:30:44 +02:00
Martin Willi 25ecb8dafa gcrypt actually does not implement IDEA 2009-06-15 18:18:04 +02:00
Martin Willi d32b14db5e implemented gcrypt RSA encrypt/decrypt operations 2009-06-15 18:07:57 +02:00
Martin Willi 810ce1f336 added a gcrypt.quick_random option to generate weak testing keys faster 2009-06-15 18:06:16 +02:00
Martin Willi 04b348f61a implemented IKEv1 specific SIGN_RSA_EMSA_PKCS1_NULL scheme in gcrypt 2009-06-15 14:47:39 +02:00
Martin Willi 3176e4421f check if RSA key is large enough to sign a chunk of data 2009-06-15 13:49:30 +02:00
Martin Willi e7227f0ba0 use save chunk advancing, check signature length 2009-06-15 13:37:52 +02:00
Andreas Steffen 2b92fc9880 test_vectors.h is part of the distribution 2009-06-13 15:17:24 +02:00
Andreas Steffen 11e6d28533 pluto supports ECDSA authentication 2009-06-12 19:59:49 +02:00
Martin Willi b59e239335 added SHA2 HMAC signer test vectors 2009-06-12 11:09:09 +02:00
Martin Willi 095f971c10 added a FIPS_PRF test vector 2009-06-12 10:40:38 +02:00
Martin Willi 371a54c7a9 added support for stateful PRFs (such as the FIPS_PRF) 2009-06-12 10:39:47 +02:00
Martin Willi 701381ceb8 added SHA2 HMAC PRF test vectors 2009-06-11 20:26:01 +02:00
Martin Willi d94d68e404 added SHA2 test vectors 2009-06-11 18:14:30 +02:00
Martin Willi f02d144095 added SHA1 test vectors 2009-06-11 17:17:33 +02:00
Martin Willi 2df93f467b added HMAC SHA1 test vectors 2009-06-11 17:05:56 +02:00
Martin Willi 764708b4e0 added HMAC MD5 test vectors 2009-06-11 16:44:20 +02:00
Martin Willi c698da8cb4 added RNG test vectors 2009-06-11 15:56:00 +02:00
Martin Willi e091d5100f added MD5 test vectors 2009-06-11 15:56:00 +02:00
Martin Willi 54916d79d6 added AES-XCBC test vectors for signer/prf 2009-06-11 15:56:00 +02:00
Martin Willi 005163805d added test vectors for AES128 CBC 2009-06-11 15:56:00 +02:00
Martin Willi 6f4f83e333 added blowfish test vectors from pluto 2009-06-11 15:56:00 +02:00
Martin Willi 81811a9d8b added a plugin providing crypto test vectors 2009-06-11 15:55:59 +02:00
Martin Willi 28a0728b67 make use of the crypto_tester in the crypto_factory
libstrongswan.crypto.test.on_add to test algorithms during initialization
libstrongswan.crypto.test.on_create to test algorithms on each instantiation
2009-06-11 15:55:48 +02:00
Martin Willi 3e8891667b implemented a crypto_tester class to test crypto algorithms
libstrongswan.crypto.test.required to require at least one test vector to use an algorithm
libstrongswan.crypto.test.rng_true to run RNG tests on RNG_TRUE quality
2009-06-11 15:54:44 +02:00
Martin Willi 6f299040fb handling hashers and rngs as transform types (in private range) 2009-06-11 14:17:16 +02:00
Martin Willi e51f607221 gcrypt blowfish supports 128 bit key size only 2009-06-11 14:13:17 +02:00
Andreas Steffen 355bab380c additional check in case of non-positive months 2009-06-10 15:33:39 +02:00
Andreas Steffen dfa5fb0358 implemented IKEv1 RSA signing in openssl_rsa_private_key.c 2009-06-10 15:29:57 +02:00
Andreas Steffen 29bbfc11ee implemented IKEv1 signature verification in openssl_rsa_public_key.c 2009-06-10 13:43:51 +02:00
Andreas Steffen c04bf43363 fixed typo in asn1.c 2009-06-10 12:00:26 +02:00
Andreas Steffen 95c00dfcf9 fixed DoS vulnerability in the parsing of ASN.1 time strings 2009-06-10 11:39:17 +02:00
Andreas Steffen b29832c74f fixed DoS vulnerability in the parsing of distinguished names 2009-06-09 22:03:33 +02:00
Andreas Steffen 2d870072fa asn1_integer() ensures correct DER encoding of ASN1_INTEGER (two's complement) 2009-06-09 13:27:59 +02:00
Martin Willi 3240cab978 gcrypt RSA public key implementation 2009-06-09 11:27:26 +02:00
Martin Willi ff8d3ba355 gcrypt RSA private key implementation 2009-06-09 11:27:11 +02:00
Martin Willi ccd1464586 use autoconf macro provided by libgcrypt 2009-06-09 11:18:57 +02:00
Martin Willi 1111088aa7 gcrypt mpi based Diffie-Hellman implementation 2009-06-09 11:18:57 +02:00
Martin Willi a41d0932c2 gcrypt rng implementation 2009-06-09 11:18:57 +02:00
Martin Willi 8e97e32705 use abstract mutex_t for gcrypt locking callbacks 2009-06-09 11:18:56 +02:00
Martin Willi 80862c4637 gcrypt crypter implementation 2009-06-09 11:18:56 +02:00
Martin Willi f908ff9f91 gcrypt hasher implementation 2009-06-09 11:18:56 +02:00
Martin Willi 513a1a2835 initialize gcrypt threadsave, currently for pthread only 2009-06-09 11:18:56 +02:00
Martin Willi 4977018c23 added skeleton for libgcrypt based crypto plugin 2009-06-09 11:18:56 +02:00
Martin Willi 86ab0bb65e fixed crash in openssl private_key->get_public_key(), using encode/load workaround 2009-06-09 11:03:35 +02:00
Andreas Steffen d615ffdcf3 implement gmp_rsa_private_key.decrypt() 2009-06-09 11:03:35 +02:00
Andreas Steffen c50ff68d0c implemented gmp_rsa_public_key.encrypt() method 2009-06-09 11:03:35 +02:00
Andreas Steffen f3e87f5935 created signature_scheme_from_oid() helper function 2009-06-09 11:03:34 +02:00
Andreas Steffen 9410aa262a hardened OpenPGP parser 2009-06-09 11:03:34 +02:00
Andreas Steffen b6f19a6ab4 used rsa coeff field in OpenPGP secret key payload 2009-06-09 11:03:33 +02:00
Andreas Steffen 1bb4d7dd79 fixed OpenPGPv3 fingerprint computation 2009-06-09 11:03:33 +02:00
Andreas Steffen d17a120598 fixed OpenPGP parsing 2009-06-09 11:03:33 +02:00
Andreas Steffen ca062e48ee moved PGP types to pgp/pgp.h 2009-06-09 11:03:33 +02:00
Andreas Steffen 8b799d55ce pluto and scepclient use private and public key plugins of libstrongswan 2009-06-09 11:03:32 +02:00
Martin Willi c4f59ccec0 fixed ENUM naming of XCBC prf 2009-06-02 14:41:53 +02:00
Andreas Steffen e24aaddde0 hide credentials headers in credential_factory.h 2009-05-28 15:35:02 +02:00
Martin Willi 178bf4c5e9 register the already implemented AUTH_HMAC_SHA1_160 algorithm 2009-05-28 15:03:57 +02:00
Andreas Steffen 435e23e647 set parsed = TRUE before calling parse_certificate() 2009-05-27 09:52:53 +02:00
Andreas Steffen ebb97511e6 dh_exponent_ansi_x9_42 is now a libstrongswan setting 2009-05-26 18:32:52 +02:00
Andreas Steffen 517895bd05 eliminated ipsec_policy.h 2009-05-26 17:19:26 +02:00
Andreas Steffen 80cbbfed36 make signer names consistent 2009-05-19 22:56:14 +02:00
Andreas Steffen 4dc4c11efd added des and default length cbc encryption algorithms 2009-05-19 15:45:01 +02:00
Andreas Steffen 4491d66692 add _CBC to all encryption algorithms in CBC mode 2009-05-19 10:02:24 +02:00
Andreas Steffen 5908478527 moved definition of proposal_token from proposal.c to proposal_keywords.h 2009-05-19 10:02:24 +02:00
Martin Willi 24cd2ca6ee moved very stroke specific x509 flag handling out of core library 2009-05-18 10:42:16 +02:00
Andreas Steffen 5e3b318c69 didn't want to commit that 2009-05-15 22:47:36 +02:00
Andreas Steffen 433cb51bb9 moved IKEv2 proposals and transforms to libstrongswan 2009-05-15 22:43:48 +02:00
Andreas Steffen dcf47581a8 shortened DH group names 2009-05-15 20:58:04 +02:00
Andreas Steffen deb73fee10 fixed fatal typo 2009-05-15 14:17:05 +02:00
Martin Willi 9caceb6ed5 updated prf identifiers 2009-05-15 13:49:05 +02:00
Martin Willi b79ca7858b updated integrity algorithm identifiers 2009-05-15 13:48:44 +02:00
Tobias Brunner 5020a456c0 more intuitive leap year check 2009-05-15 09:36:55 +02:00
Andreas Steffen 24bb9fdbf7 also support 192 bit keys for Twofish and Serpent 2009-05-15 01:48:56 +02:00
Andreas Steffen 315fd57225 fixed copy-and-paste caption error 2009-05-15 01:40:27 +02:00
Andreas Steffen 1bfb8007c2 got rid of libcrypto 2009-05-15 01:28:48 +02:00
Andreas Steffen b5fd65e95c cleaned up pluto's crypto framework 2009-05-14 22:56:10 +02:00
Andreas Steffen 9908e8785c completed serpent plugin 2009-05-14 22:30:24 +02:00
Andreas Steffen 12eece1b27 cosmetics 2009-05-14 22:25:38 +02:00
Andreas Steffen 978c2df17a completed twofish sources 2009-05-14 16:51:53 +02:00
Andreas Steffen 4a85e33ccc ported twofish as a plugin 2009-05-14 15:39:31 +02:00
Andreas Steffen 13bb168485 fixed 32 bit overflow check 2009-05-14 15:39:31 +02:00
Andreas Steffen 0a8ad227d4 renamed ENCR_TWOFISH and ENCR_SERPENT to ENCR_TWOFISH_CBC and ENCR_SERPENT_CBC, respectively 2009-05-14 13:55:56 +02:00
Andreas Steffen 24400cf617 fixed setting of variable key length 2009-05-14 13:55:56 +02:00
Andreas Steffen 7eea232f44 clone iv before blowfish en|decryption 2009-05-14 13:55:56 +02:00
Andreas Steffen 910221c236 fixed indentation 2009-05-14 13:55:55 +02:00
Andreas Steffen 30a896173b compute ASN.1 to UTC time without time functions 2009-05-14 13:55:55 +02:00
Andreas Steffen 3783980edb changed TRUE/FALSE to 1/0 2009-05-14 13:55:55 +02:00
Andreas Steffen 3bc613d01d blowfish block size is 8 bytes 2009-05-14 13:55:55 +02:00
Andreas Steffen 42dd330305 fixed caption 2009-05-14 13:55:55 +02:00
Andreas Steffen 28ef27bfda implemented blowfish as a plugin 2009-05-11 15:25:36 +02:00
Andreas Steffen 7d86641d6f corrected debug output of passphrase 2009-05-11 13:54:30 +02:00
Andreas Steffen d36ae9e305 started migration to encryption plugins 2009-05-09 00:04:28 +02:00
Tobias Brunner bf45d6dd3b added a configure option to enable the Vstr string library even if register_printf_function is available 2009-04-24 05:32:17 +02:00
Tobias Brunner 65ea37abcd fixed timezone compensation when parsing ASN.1 dates 2009-05-08 15:23:50 +02:00
Andreas Steffen c42d1469e6 defined ENCR_TWOFISH and ENCR_SERPENT 2009-05-08 07:51:24 +02:00
Andreas Steffen e43b1e4a5b inserted HASH_MD4 in increasing order 2009-05-07 23:19:19 +02:00
Martin Willi 84f1164c77 some additional .gitignore's 2009-05-07 10:33:30 +02:00
Tobias Brunner e382d96f62 compiler warning fixed 2009-05-06 09:11:19 -04:00
Tobias Brunner a9f56adb59 more portable handling of the bool data type (Mac OS X has stdbool.h) 2009-05-06 09:11:13 -04:00
Tobias Brunner 938b230fa7 renamed some conflicting function names 2009-05-06 09:11:07 -04:00
Tobias Brunner f52e9c1aa8 gethostbyname_r is not supported on Mac OS X (but gethostbyname uses thread-local buffers) 2009-05-06 09:11:03 -04:00
Andreas Steffen ebe01cae0f use prfs for IKEv1 hmacs 2009-05-04 23:38:57 +02:00
Andreas Steffen 78e6e0a33c fixed typo 2009-05-04 23:08:29 +02:00
Andreas Steffen 8c45f0f102 added support for AUTH_HMAC_SHA1_160 2009-05-04 23:01:40 +02:00
Martin Willi 2c36ebb58e moved hasher to the correct doxygen group 2009-05-04 16:10:13 +02:00
Andreas Steffen bc2e33ca96 pluto and scepclient use the random plugin from libstrongswan 2009-04-30 18:31:48 +00:00
Tobias Brunner 8c5d72cd0b removing svn keyword $Id$ from all files 2009-04-30 13:19:35 +00:00
Tobias Brunner d24a74c5b4 merging changes from portability branch back to trunk
important change for developers: %Y replaces %D to print identities!
2009-04-30 11:37:54 +00:00
Martin Willi 466f11bfaf added .gitignore files, ready for the switch 2009-04-30 07:42:30 +00:00
Andreas Steffen f67eebccc8 changed RNG_REAL to RNG_TRUE 2009-04-29 09:13:20 +00:00
Andreas Steffen e67197a7f9 pluto and scepclient use the curl and ldap fetcher plugins 2009-04-29 08:09:35 +00:00
Martin Willi be0a03be64 set default CFLAGS globally, including -Wno-format 2009-04-27 11:34:07 +00:00
Martin Willi da17b0169a added return_true/false() dummy functions 2009-04-24 14:08:42 +00:00
Martin Willi 090ba9453c fixed compiler warnings on 64bit 2009-04-22 08:26:54 +00:00
Andreas Steffen 4985ad6e4a pluto and scepclient use the regular libstrongswan library 2009-04-21 12:26:04 +00:00
Andreas Steffen 08b2d288a1 scepclient and pluto use asn1 from libstrongswan 2009-04-20 20:53:38 +00:00
Andreas Steffen d41071802d support of the enum printf_hook 2009-04-20 09:32:59 +00:00
Andreas Steffen 3eb5042e9c migrated write_chunk() to chunk_write() 2009-04-20 06:58:00 +00:00
Andreas Steffen 54c4de63c0 scepclient uses the optionsfrom parser from libstrongswan 2009-04-18 17:43:28 +00:00
Andreas Steffen a6e3ec1389 created pluto and scepclient now use libstrongswan-lite 2009-04-18 14:50:31 +00:00
Andreas Steffen a376e44577 pluto and scepclient now use chunk_t from libstrongswan 2009-04-17 16:41:26 +00:00
Andreas Steffen 9b91b81870 ported most of the libstrongswan chunk_t macros to pluto 2009-04-17 16:11:33 +00:00
Andreas Steffen 63176bbcb0 moved strcaseeq() macro from constants.h to utils.h 2009-04-17 09:52:49 +00:00
Andreas Steffen 247e665a44 support of the ESP CAMELLIA-CBC cipher by charon 2009-04-17 09:15:15 +00:00
Martin Willi 98e7317daa fixed OID encoding 2009-04-17 08:28:53 +00:00
Andreas Steffen 6319cd74ea pluto uses the libstrongswan leak detective and a stripped-down version of library_t 2009-04-16 08:25:47 +00:00
Andreas Steffen cfa42285a4 asn1_build_known_oid() includes ASN1_OID tag and length 2009-04-16 08:18:22 +00:00
Andreas Steffen f3ec7ef7de added missing curly brackets 2009-04-15 18:37:59 +00:00
Martin Willi 0bd7ad6cff added create_part_enumerator() to indentity, allows to enumerate RDNs etc. 2009-04-14 14:32:22 +00:00
Martin Willi c31687daa7 moved RDN OIDs to oid.txt, use asn1_get_known_oid() for lookup 2009-04-14 13:53:06 +00:00
Martin Willi 56807f35b9 implemented asn1_get_known_oid(), mapping OID index to ASN1 OID 2009-04-14 13:50:23 +00:00
Martin Willi b63f4c75e2 added missing string.h include 2009-04-14 10:50:29 +00:00
Martin Willi a44bb9345f merged multi-auth branch back into trunk 2009-04-14 10:34:24 +00:00
Martin Willi 15e247922d moved AUTH_HMAC_MD5_128 to IANA defined number 2009-04-02 13:53:20 +00:00
Andreas Steffen 9bada09057 remove ambiguity by setting parentheses 2009-03-27 08:58:48 +00:00
Andreas Steffen 5021380d35 fixed ASN.1 to time_t conversion on 32-bit system for dates after Jan 19 03:14:07 UTC 2038 2009-03-27 08:54:10 +00:00
Martin Willi e82c369519 implementation of contains_wildcards() for ID_DER_ASN1_DN identities 2009-03-26 13:25:46 +00:00
Martin Willi 1490ff4d9b updated Doxyfile
properly close all doxygen groups
fixed remaining doxygen warnings
2009-03-24 17:43:01 +00:00
Martin Willi 4a6b84a934 reintegrated eap-radius branch into trunk 2009-03-24 10:24:58 +00:00
Martin Willi c3340cf8da respect port in create_dns/create_from_string when passing %any 2009-03-19 09:16:03 +00:00
Martin Willi ce67ab162d print IPv6 %any hosts as %any6 2009-03-19 09:04:20 +00:00
Martin Willi c5c969639c fixed compiler warning 2009-03-19 08:54:39 +00:00
Martin Willi 9717826f10 fallback to family specific %any(6) if kernel lookup fails 2009-03-16 14:23:36 +00:00
Andreas Steffen 8065780f4a the parameters field in an ASN.1 algorithmIdentifier is optional 2009-03-13 20:22:24 +00:00
Tobias Brunner 6e7c0b1e44 fixing DES ECB decryption 2009-03-12 18:38:13 +00:00
Tobias Brunner d25ce3701e printf hooks refactored to increase portability (i.e. support for platforms without glibc-compatible customizable printf - the Vstr string library is currently required on such platforms). 2009-03-12 18:07:32 +00:00
Tobias Brunner 7b76702587 ECB mode added to the DES plugin 2009-02-19 14:29:25 +00:00
Tobias Brunner 5fa7aed491 des ecb enum value changed, ignores set for md4 plugin 2009-02-19 13:46:08 +00:00
Andreas Steffen e7c336c6ab added Id svn:keyword 2009-02-19 10:16:45 +00:00
Andreas Steffen 1e0d1ae213 support of MD4 hash 2009-02-19 10:06:58 +00:00
Tobias Brunner b250665f58 adding enum elements for MD4 and DES (ECB) 2009-02-18 19:45:46 +00:00
Tobias Brunner b8fa437fb7 adding MD4 and DES (ECB) to openssl plugin 2009-02-18 19:41:33 +00:00
Martin Willi 2d887e8e08 removed unused extract_last_token() and the required memrchr implementation 2009-02-18 09:45:54 +00:00
Andreas Steffen c59825fbfc support of dynamic/128 and %any6 2009-02-05 22:13:48 +00:00
Andreas Steffen b59f154b09 proper initialization and disposal of keying material 2009-01-15 01:52:44 +00:00
Andreas Steffen 48032aed00 add a compatible memrchr() function if the platform does not support it (e.g. old glibc). Patch courtesy to Thomas Jarosch 2009-01-09 01:19:45 +00:00
Martin Willi 2241a29571 support for Padlock RNG 2008-12-18 16:21:05 +00:00
Martin Willi 5045eeba7b proper feature probing for padlock 2008-12-17 15:40:01 +00:00
Tobias Brunner f30150d3da correct use of calloc in hashtable_t 2008-12-17 09:56:05 +00:00
Martin Willi abfde23ae9 added an additional frame to lock profiling backtraces 2008-12-15 09:13:43 +00:00
Martin Willi 7a485e90bd leak detective binds execution to a signle core, avoids corruption on SMP machines 2008-12-12 09:10:52 +00:00
Tobias Brunner d6dc0a21fb incremental version of chunk_hash 2008-12-10 13:43:51 +00:00
Martin Willi d5d5bc0f16 using rwlock to parallel build credentials 2008-12-09 15:57:51 +00:00
Martin Willi 5e5b2dc105 use thread-safe variant of gmtime 2008-12-09 15:00:30 +00:00
Martin Willi 20fbc4277e fixed hashtable->get_count() after doubling table size 2008-12-09 11:13:52 +00:00
Martin Willi aa5c5d3fde removed debugging leftovers 2008-12-08 19:15:38 +00:00
Martin Willi df68b54f4e basic x509 certificate generation 2008-12-08 15:29:36 +00:00
Martin Willi 9eb85cffe1 whitelisted another pthread_setspecific implementation 2008-12-08 15:27:24 +00:00
Martin Willi d21b3549f7 accept NULL values in hashtable enumerator 2008-12-05 12:34:17 +00:00
Martin Willi 19e0010f51 hashtable enumerator enumerates over both, key and values 2008-12-05 10:01:52 +00:00
Tobias Brunner ffa6450695 fixed off by one error 2008-12-04 16:33:39 +00:00
Martin Willi 0442562516 leak whitelisting of OPENSSL_config() 2008-12-04 09:23:53 +00:00
Andreas Steffen 9c674e7214 fixed refactoring error in openac 2008-12-04 04:34:49 +00:00
Tobias Brunner 83c42156a2 add support for smartcards in charon by using the ENGINE API provided by OpenSSL, based on patches by Michael Roßberg. 2008-12-03 10:12:20 +00:00
Tobias Brunner c3bdc3cd7f enable quoted tokens in the token enumerator 2008-12-03 10:03:59 +00:00
Tobias Brunner 81736d7d24 added memstr and extract_token_str helper functions 2008-12-03 09:45:58 +00:00
Tobias Brunner 0948edbbff adding general purpose hash table 2008-12-03 09:32:16 +00:00
Martin Willi efd0fe21e4 ref_get()/ref_put() use atomic gcc operations if supported, thanks to Thomas Jarosch for the patch 2008-12-02 12:14:32 +00:00
Martin Willi f464d75070 added time.h include for struct tm 2008-12-02 08:46:15 +00:00
Martin Willi 9413628b87 token enumerator missed the last token if it contains only a single char 2008-11-27 09:21:52 +00:00
Martin Willi e2cb07d713 inlined some short chunk functions, showed up in the profiler 2008-11-26 10:08:36 +00:00
Martin Willi 4fd233a73e memxor() tweaks, as it is heavily used in xcbc 2008-11-26 10:06:59 +00:00
Tobias Brunner 6df2731e78 replacing the pthread_mutex in scheduler_t with the wrapped implementation.
added a method to condvar_t which allows to wait for an absolute timeout.
2008-11-25 19:30:02 +00:00
Tobias Brunner ed6146ffbe performance optimization for the DOS protection.
* half-open SAs per peer are tracked in a hash table
 * charon.dos_protection setting replaced with charon.cookie_threshold and charon.block_threshold
 * chunk_hash function added
2008-11-25 13:16:05 +00:00
Martin Willi a20abb81e9 added a MODP_NULL Diffie Hellman group to avoid calculation overhead in load-testing 2008-11-22 16:14:55 +00:00
Martin Willi 8f45ece098 expecting int sized length arguments to chunk_split, as vararg functions use integers 2008-11-21 08:11:24 +00:00
Martin Willi b8cbb6451c ported some hard-to-merge cherries back to trunk :-/
shame, svn, shame: this was ways to complicated
	we should consider a switch to git...
2008-11-12 15:09:24 +00:00
Martin Willi 479f295049 fixed compiler warnings issued by:
gcc 4.3
	curl.h gcc type-checking
	glibc with enabled FORTIFY_SOURCE checking
2008-11-11 18:37:19 +00:00
Tobias Brunner ea625fabf9 merging kernel_klips plugin back into trunk 2008-11-11 09:22:00 +00:00
Martin Willi c198fc5548 whitelisting localtime_r 2008-11-10 16:44:27 +00:00
Martin Willi f821bfb2b3 fixed leak in host_create_from_string("%any") 2008-11-10 16:42:05 +00:00
Martin Willi c9ef4cee46 settings section enumeration
printf style key lookup
2008-11-07 15:08:53 +00:00
Andreas Steffen e2764b3937 use of host_create_any() for %any address 2008-11-07 05:15:19 +00:00
Martin Willi ebf0e20ae7 fixed leak
fixed build if !HAVE_BACKTRACE
2008-11-06 14:05:58 +00:00
Martin Willi e76078e877 use read-write locks in crypto factory for parallelization 2008-11-05 16:21:57 +00:00
Martin Willi 27ed987ef7 wrapped all pthread_rwlock_t in profilable rwlock_t 2008-11-05 16:12:54 +00:00
Martin Willi c1be64eaff wrapped rwlock with profiling support 2008-11-05 15:51:57 +00:00
Martin Willi 0214012508 threshhold and ./configure option for lock profiler 2008-11-05 14:36:57 +00:00
Martin Willi f7237cf37a separated backtrace functionality from leak_detective, used in
leak_detective
	mutex profiling
	signal handler
2008-11-05 13:58:19 +00:00
Martin Willi 2abc66b977 proper cleanup of openssl locking code 2008-11-05 12:37:37 +00:00
Martin Willi a492eb2033 fixed iterator regression introduced in [4577] 2008-11-05 11:55:17 +00:00
Martin Willi 3ac5a0db8c replaced most pthread_mutex/cond_t by wrapped mutex/condvar_t variant 2008-11-05 11:29:56 +00:00
Martin Willi 2662806b2c get rid of unused iterator hook functions 2008-11-05 08:37:09 +00:00
Martin Willi e13389a7f7 got rid of deprecated create_iterator_locked() 2008-11-05 08:32:38 +00:00
Martin Willi e10b0d0fc0 simple mutex profiler 2008-11-05 07:57:26 +00:00
Andreas Steffen 61670ba284 support of %any address string 2008-11-05 04:53:45 +00:00
Andreas Steffen 7c4fd176db handle 0.0.0.0 string and af == AF_INET6 2008-11-05 00:41:46 +00:00
Martin Willi 7854475f42 OpenSSL requires a signature length of exactly RSA_size() 2008-11-04 14:05:42 +00:00
Martin Willi d4f08fe324 removed superfluous get_other_public_value in diffie_hellman_t interface 2008-11-04 13:12:11 +00:00
Martin Willi ddd7e6c656 fixed bignum export if BN_num_bytes() != DH_size() 2008-11-04 13:05:00 +00:00
Martin Willi dcbea444ee fixed memleak 2008-11-04 13:01:36 +00:00
Martin Willi 7de6da0c88 added locking mechanism for multithreaded use of OpenSSL 2008-11-03 16:14:12 +00:00
Martin Willi ee66fa625e removed accidently checked in debug code 2008-11-03 12:40:42 +00:00
Martin Willi d6dc9db5ef reverted 4541, does not fix the problem 2008-11-03 09:44:20 +00:00
Martin Willi e301a69d6c removed 0-byte truncation, fixes random Openssl RSA signature verification failures 2008-10-31 17:07:04 +00:00
Martin Willi a13862be61 fixed crash in openssl signature verification if sizeof(size_t) != sizeof(int) (64bit) 2008-10-31 17:05:40 +00:00
Martin Willi 19aff61b19 reverted changeset 4529:
Camellia is 22 in IKEv1, but not-yet defined in IKEv2
	in IKEv2, 22 is reserved for AES-XTS
2008-10-30 13:21:21 +00:00
Andreas Steffen fdaed5289a added Camellia CBC to list of encryption algorithms 2008-10-30 03:31:36 +00:00
Martin Willi f65ba4e978 prf handles zero-length allocations graceful 2008-10-29 14:12:54 +00:00
Andreas Steffen f5ab7f5f57 refining changeset 4483 by introducing charon.dh_exponent_ansi_x9_42 key 2008-10-28 01:59:01 +00:00
Andreas Steffen aeaa6a9b45 remove unused local DH_EXPONENT_ENTROPY definition 2008-10-27 00:02:22 +00:00
Andreas Steffen 21a45f2f2d use 512 bits of entropy for secret DH exponents 2008-10-26 23:53:52 +00:00
Martin Willi 104c28d603 fixed perl oid generation 2008-10-16 15:38:48 +00:00
Martin Willi f868dc0ca2 condvar->wait() can handle recursive mutex 2008-10-16 11:29:42 +00:00
Tobias Brunner 1adaa02bb2 merging kernel_pfkey plugin back from kernel-interface branch 2008-10-14 08:46:31 +00:00
Andreas Steffen d1cbe55127 implemented ipsec listalgs as a stroke command 2008-10-08 07:00:13 +00:00
Andreas Steffen af09048e35 get_subject() of a CERT_TRUSTED_PUBKEY object returns ID_PUBKEY_INFO_SHA1 hash consistent with the IKEv2 keyid philosophy 2008-10-08 03:35:52 +00:00
Andreas Steffen 95fd1dedb3 Implemented BUILD_BLOB_ASN1_DER for the CERT_TRUSTED_PUBKEY subtype 2008-10-08 01:19:26 +00:00
Martin Willi 0592212f23 fixed builder_cancel macro to return NULL on failed build 2008-10-06 13:08:49 +00:00
Martin Willi ceff3064fe using signed return value for read() 2008-09-30 06:27:50 +00:00
Martin Willi cdaf57ec34 fixed DH value range testing 2008-09-17 09:02:30 +00:00
Martin Willi 73f6886a50 checking mpz_export return value properly
fixes a potential DoS attack if a DH value of zero gets processed
2008-09-17 08:10:48 +00:00
Andreas Steffen b33c11b6c7 stroke parses and lists AC groups 2008-09-17 02:17:01 +00:00
Andreas Steffen 07d7f9a402 time values in strongswan.conf can be optionally specified in days (d), hours (h), minutes (m), or seconds (s) 2008-09-04 16:19:46 +00:00
Martin Willi 6af6f88a79 agent plugin optionally accepts a BUILD_PUBLIC_KEY to select a specific private key from the agent 2008-09-04 08:35:11 +00:00
Martin Willi 21c9546321 libstrongswan agent plugin to use ssh-agent for RSA signatures 2008-09-02 11:04:26 +00:00
Martin Willi f7c17aa15c refactored credential builder
allow enumeration of matching builders
	try a second builder if the first one fails
	builder clones resources internally on demand
	caller frees added resources on failure and success
	stricter handling of non-supported build parts
2008-09-02 11:00:13 +00:00
Andreas Steffen 4da0116d78 OIDs used by strongSwan 2008-09-01 11:38:03 +00:00
Martin Willi e609b1cda2 capability API to allow plugin-controlled capability set 2008-08-28 16:27:48 +00:00
Martin Willi e577ad3985 creating default IKE proposals dynamically using algorithm enumeration API 2008-08-28 11:07:57 +00:00
Martin Willi f1b014b9a3 separated sha1_prf implementation from sha1_hasher 2008-08-28 10:57:24 +00:00
Martin Willi 9482208633 crypto_factory algorithm enumeration API
implementation of "ipsec listalgs"
2008-08-28 09:24:42 +00:00
Tobias Brunner 6c20579a43 mkdir_p: utility function to create a directory and all required parent directories 2008-08-28 07:47:55 +00:00
Martin Willi 822901061b ported parts of two-sim branch
eap_identity parameter to exchange in eap_identity
	some auth_info/peer_cfg refactorings
	fixed some bugs, introduced new ones
2008-08-22 10:44:51 +00:00
Martin Willi 1caa265c61 a (incomplete) implementation of draft-sheffer-ikev2-gtc-00.txt using PAM 2008-08-21 12:10:07 +00:00
Andreas Steffen dc6a2edd0d corrected caption 2008-08-21 11:58:58 +00:00
Martin Willi 2d6559b107 added sqlite busy handler: retries on locking conflicts 2008-08-21 09:25:06 +00:00
Andreas Steffen af165431d2 fixed libstrongswan integrity test 2008-08-19 18:51:30 +00:00
Martin Willi 092a9b88ad added options for virtual IP, UDP encapsulation, IPComp
proper handling of libstrongswan/glib TRUE/FALSE conflict
2008-07-31 14:32:11 +00:00
Martin Willi fc861b0b7e added a driver type getter for database implementations 2008-07-21 11:13:06 +00:00
Martin Willi 11e855179e using token enumerator to parser plugin list 2008-07-02 08:19:43 +00:00
Martin Willi fca4d3ee03 implementation of a simple "token enumerator" 2008-07-02 08:09:07 +00:00
Martin Willi fe5d7c43be whitelisting leaks of ENGINE_load_builtin_engines 2008-07-01 07:53:03 +00:00
Martin Willi 7da767f773 sqlite plugin requires libsqlite3 => 3.3.1 to share connections
use recursive locking if libsqlite3 < 3.5.0
2008-06-30 11:06:18 +00:00
Martin Willi 854a2e1760 fixed ifndef typo for MYSQL_DATA_TRUNCATED check 2008-06-26 07:31:52 +00:00
Martin Willi 236083cb56 fixed plugin loader destruction 2008-06-25 14:53:49 +00:00
Tobias Brunner 1b7d2e31a6 enabling support for hardware accelerators in OpenSSL 2008-06-25 12:39:32 +00:00
Martin Willi fae6e24dad reintroducing MYSQL_DATA_TRUNCATED if supported on that mysql version 2008-06-24 14:30:14 +00:00
Martin Willi eec675bf8c enumerating loaded plugins in "ipsec statusall" 2008-06-24 12:49:04 +00:00
Andreas Steffen 0d12006def support of ECDSA signatures for all certificate types 2008-06-22 17:41:07 +00:00
Martin Willi 1345ebad0f removed unused MYSQL_DATA_TRUNCATED check for compatibility with older mysql versions 2008-06-20 07:37:55 +00:00
Martin Willi eab63e8476 fixed matches() check for RFC822/FQDN without wildcards 2008-06-13 15:10:01 +00:00
Martin Willi 1726ca1027 implemented identification_t.match() case insensitive for RFC822/FQDN 2008-06-12 14:17:37 +00:00
Martin Willi 66860d3b8f loading PEM encoded public keys 2008-06-11 14:10:02 +00:00
Martin Willi d1ebd5de22 reduced default debug hook verbosity 2008-06-11 14:09:46 +00:00
Martin Willi e484f7f3dd fixed resolving numerical IPv6 addresses in host_create_from_dns() 2008-06-11 07:44:23 +00:00
Martin Willi d35effa89b fixed resolving numerical addresses in host_create_from_dns() 2008-06-11 07:31:24 +00:00
Tobias Brunner a57e0580f6 refactoring 2008-06-10 09:19:18 +00:00
Tobias Brunner ea0823dffd ECDSA with OpenSSL 2008-06-10 09:08:27 +00:00
Tobias Brunner 2904403e96 parsing of subjectPublicKeyInfo of x509 certificates extracted 2008-06-10 09:00:42 +00:00
Tobias Brunner 80205e2fbc oids for elliptic curves 2008-06-10 07:37:32 +00:00
Tobias Brunner 468d45e68b making the parsing of parameters of a subjectAlgorithmIdentifier optional 2008-06-10 07:36:44 +00:00
Martin Willi 208b3baf10 fixed "enabled" value key word
more debugging for settings parser
2008-06-10 07:14:34 +00:00
Martin Willi 5a22a02156 DNS resolving of ike_cfg hosts dynamically on demand 2008-06-06 15:05:54 +00:00
Martin Willi 915e04b2dd extended leak detective white list for OpenSSL 2008-06-06 08:13:11 +00:00
Martin Willi e581a31d6a link against openssl crypto library only 2008-06-06 08:04:42 +00:00
Martin Willi 0f7aecf402 fixed NULL string mysql parameter 2008-06-05 08:24:55 +00:00
Martin Willi 9fa66e8bbf removed unused variable 2008-06-03 12:14:02 +00:00
Andreas Steffen 0caf2b936e added missing comma in enumeration 2008-05-29 06:55:03 +00:00
Andreas Steffen 7fe3ae88e4 handle default key sizes in openssl_crypter 2008-05-28 12:20:38 +00:00
Andreas Steffen ed26207d08 fixed copy-and-paste error 2008-05-23 19:23:04 +00:00
Andreas Steffen 49b2395e3b check if parsing of the RSA public key in an X.509 certificate was successful 2008-05-23 19:22:37 +00:00
Andreas Steffen 731ac6bf52 check if crypter is available in pem_to_bin() 2008-05-23 19:18:08 +00:00
Martin Willi 5e17e35c8d fixed some compiler warnings 2008-05-23 15:49:43 +00:00
Andreas Steffen 0672aa7b0e added display of holderIssuer, holderSerial, and authorityKeyIdentifier 2008-05-23 14:24:24 +00:00
Andreas Steffen eaa1399812 fixed the strongswan.conf path 2008-05-22 21:59:30 +00:00
Andreas Steffen 7199d22e77 implement basic listing of attribute certificates 2008-05-22 21:58:22 +00:00
Tobias Brunner 17188f20dd Id and typo 2008-05-22 12:13:10 +00:00
Tobias Brunner 346e9c5712 added the ECP groups from RFC 5114 2008-05-22 11:55:05 +00:00
Tobias Brunner fc1a31d54b added ECDH with OpenSSL (see RFC 4753) 2008-05-22 11:39:17 +00:00
Andreas Steffen 58ac5e2ff4 fixed segmentation fault caused by malformed attribute certificates 2008-05-21 22:53:45 +00:00
Martin Willi 4f23ec78d1 added more verbosity if signature hash OID is unknown 2008-05-21 13:01:58 +00:00
Andreas Steffen 49aeafc502 removed debug statement 2008-05-20 16:23:58 +00:00
Andreas Steffen 7f02156ebf fixed whitespace eating in plugin loader 2008-05-20 15:03:15 +00:00
Andreas Steffen 367cc86f4a added missing break in case statement 2008-05-19 20:10:26 +00:00
Tobias Brunner 081a14cd33 added an error message when strongswan.conf cannot be read 2008-05-19 13:20:33 +00:00
Tobias Brunner 550690d23b fixed the cleanup code when the credential factory fails to create a builder 2008-05-19 12:43:01 +00:00
Martin Willi 0b0fba9e0d fixed warning if plugin list has trailing whitespaces 2008-05-16 13:48:58 +00:00
Tobias Brunner 3f730ec1cd Added support for AES-CCM and AES-GCM (authenticated encryption algorithms) in charon. 2008-05-16 13:27:21 +00:00
Martin Willi 1ba62b5562 loading default modules depending on configure options 2008-05-16 08:52:32 +00:00
Martin Willi a3d92a3745 plugin load configuration in strongswan.conf
some components accept a "component.load" option with a space separated list of plugins to load
  libcharon- plugins are now handled the same way as libstrongswan- plugins
2008-05-15 14:01:26 +00:00
Tobias Brunner 84770ded1e RSA with OpenSSL 2008-05-15 12:41:06 +00:00
Tobias Brunner 144274ab20 corrected deinitialisation of public key factory 2008-05-15 12:39:35 +00:00
Tobias Brunner c1571b34fd generic public key factory moved 2008-05-15 12:33:00 +00:00
Tobias Brunner 1d56d328fd typo 2008-05-14 11:10:37 +00:00
Martin Willi c0d1ebde71 fixed printing of %#H hosts 2008-05-14 06:34:54 +00:00
Martin Willi f3884f6da6 reverted [3945], proper fix for zero value ASN1 integer 2008-05-13 14:15:12 +00:00
Martin Willi 7af8995cde fixed unsave calculation of mpz_export length 2008-05-13 13:52:45 +00:00
Martin Willi 02ffd89642 decreased plugin load verbosity 2008-05-13 09:14:36 +00:00
Martin Willi 5dc317192a support for left bounded padding in %H and %D 2008-05-09 12:25:39 +00:00
Martin Willi e69f33f6e2 whitelisted gmtime_r 2008-05-09 12:24:11 +00:00
Martin Willi 9f9903a3b3 supporting width modifier in identification_t printf hook (e.g. %30D)
cleanups in host_t %H printf hook
2008-05-09 11:34:58 +00:00
Martin Willi 0f074a4344 implemented append mode for xcbc, testcase 2008-05-08 14:51:37 +00:00
Martin Willi affd7a90ba moved RAW public key support to a separate plugin (pubkey) 2008-05-08 13:16:42 +00:00
Martin Willi 240e727fde renamed PRF_AES128_CBC to PRF_AES128_XCBC 2008-05-08 12:43:27 +00:00
Martin Willi 25b12c696b replaced --with-gid/uid by --with-group/user
using named users, groups
fixed capability dropping in pluto
2008-05-08 10:58:04 +00:00
Martin Willi f8277a8370 added configure check and support for sqlite3 libraries without sqlite3_prepare_v2 2008-05-07 14:41:13 +00:00
Martin Willi 4ce78f9356 fixed 3DES encryption 2008-05-07 11:54:30 +00:00
Martin Willi 86ab5636c2 support for @#hex ID_KEY_ID identification_t 2008-05-06 13:45:14 +00:00
Martin Willi c963c4bc15 fixed parsing of openssl format public keys 2008-05-06 12:56:36 +00:00
Martin Willi cc0cb93553 printf "width" support for hosts (e.g. %15H) 2008-05-05 08:31:43 +00:00