diff options
Diffstat (limited to 'Source/testing')
27 files changed, 209 insertions, 134 deletions
diff --git a/Source/testing/Makefile.testcases b/Source/testing/Makefile.testcases index 75023fda8..9a450de79 100644 --- a/Source/testing/Makefile.testcases +++ b/Source/testing/Makefile.testcases @@ -137,4 +137,8 @@ $(BUILD_DIR)der_decoder_test.o : $(TESTCASES_DIR)der_decoder_test.c $(TESTCASES_ TEST_OBJS+= $(BUILD_DIR)certificate_test.o $(BUILD_DIR)certificate_test.o : $(TESTCASES_DIR)certificate_test.c $(TESTCASES_DIR)certificate_test.h $(CC) $(CFLAGS) -c -o $@ $< + +TEST_OBJS+= $(BUILD_DIR)leak_detective_test.o +$(BUILD_DIR)leak_detective_test.o : $(TESTCASES_DIR)leak_detective_test.c $(TESTCASES_DIR)leak_detective_test.h + $(CC) $(CFLAGS) -c -o $@ $<
\ No newline at end of file diff --git a/Source/testing/aes_cbc_crypter_test.c b/Source/testing/aes_cbc_crypter_test.c index 1ea2983cd..30dae3926 100644 --- a/Source/testing/aes_cbc_crypter_test.c +++ b/Source/testing/aes_cbc_crypter_test.c @@ -24,7 +24,6 @@ #include "aes_cbc_crypter_test.h" -#include <utils/allocator.h> #include <daemon.h> void test_aes_cbc_crypter(protected_tester_t *tester) @@ -53,7 +52,7 @@ void test_aes_cbc_crypter(protected_tester_t *tester) chunk_t decrypted1; logger_t *logger; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); crypter = (crypter_t *) aes_cbc_crypter_create(16); tester->assert_true(tester, (crypter != NULL), "create call test"); @@ -68,14 +67,14 @@ void test_aes_cbc_crypter(protected_tester_t *tester) logger->log_chunk(logger,RAW,"encrypted :", encrypted1); tester->assert_true(tester, (crypter->decrypt(crypter,encrypted1,iv1_chunk,&decrypted1) == SUCCESS), "decrypt call test"); - allocator_free_chunk(&encrypted1); + chunk_free(&encrypted1); tester->assert_true(tester, (memcmp(decrypted1.ptr, plaintext1, 16) == 0), "decrypted value"); logger->log_chunk(logger,RAW,"expected decrypted :", data1); logger->log_chunk(logger,RAW,"decrypted :", decrypted1); - allocator_free_chunk(&decrypted1); + chunk_free(&decrypted1); crypter->destroy(crypter); @@ -123,14 +122,14 @@ void test_aes_cbc_crypter(protected_tester_t *tester) logger->log_chunk(logger,RAW,"encrypted :", encrypted2); tester->assert_true(tester, (crypter->decrypt(crypter,encrypted2,iv2_chunk,&decrypted2) == SUCCESS), "decrypt call test"); - allocator_free_chunk(&encrypted2); + chunk_free(&encrypted2); tester->assert_true(tester, (memcmp(decrypted2.ptr, plaintext2, 32) == 0), "decrypted value"); logger->log_chunk(logger,RAW,"expected decrypted :", data2); logger->log_chunk(logger,RAW,"decrypted :", decrypted2); - allocator_free_chunk(&decrypted2); + chunk_free(&decrypted2); crypter->destroy(crypter); @@ -188,14 +187,14 @@ void test_aes_cbc_crypter(protected_tester_t *tester) logger->log_chunk(logger,RAW,"encrypted :", encrypted3); tester->assert_true(tester, (crypter->decrypt(crypter,encrypted3,iv3_chunk,&decrypted3) == SUCCESS), "decrypt call test"); - allocator_free_chunk(&encrypted3); + chunk_free(&encrypted3); tester->assert_true(tester, (memcmp(decrypted3.ptr, plaintext3, 64) == 0), "decrypted value"); logger->log_chunk(logger,RAW,"expected decrypted :", data3); logger->log_chunk(logger,RAW,"decrypted :", decrypted3); - allocator_free_chunk(&decrypted3); + chunk_free(&decrypted3); crypter->destroy(crypter); } diff --git a/Source/testing/certificate_test.c b/Source/testing/certificate_test.c index 5cdd31c29..24143aeff 100644 --- a/Source/testing/certificate_test.c +++ b/Source/testing/certificate_test.c @@ -24,7 +24,6 @@ #include <daemon.h> #include <crypto/certificate.h> -#include <utils/allocator.h> #include <utils/logger.h> diff --git a/Source/testing/child_sa_test.c b/Source/testing/child_sa_test.c index 0a3aec9f2..0cf354c26 100644 --- a/Source/testing/child_sa_test.c +++ b/Source/testing/child_sa_test.c @@ -24,7 +24,6 @@ #include <daemon.h> #include <sa/child_sa.h> -#include <utils/allocator.h> #include <utils/logger.h> diff --git a/Source/testing/connection_test.c b/Source/testing/connection_test.c index 3a356cd03..909136c01 100644 --- a/Source/testing/connection_test.c +++ b/Source/testing/connection_test.c @@ -23,7 +23,6 @@ #include "connection_test.h" #include <config/connection.h> -#include <utils/allocator.h> #include <crypto/prfs/prf.h> diff --git a/Source/testing/der_decoder_test.c b/Source/testing/der_decoder_test.c index c5683fae8..fc07cc141 100644 --- a/Source/testing/der_decoder_test.c +++ b/Source/testing/der_decoder_test.c @@ -24,7 +24,6 @@ #include <daemon.h> #include <asn1/der_decoder.h> -#include <utils/allocator.h> #include <utils/logger.h> diff --git a/Source/testing/diffie_hellman_test.c b/Source/testing/diffie_hellman_test.c index 66dc8aa93..0a44a022a 100644 --- a/Source/testing/diffie_hellman_test.c +++ b/Source/testing/diffie_hellman_test.c @@ -19,15 +19,15 @@ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * for more details. */ - -#include "diffie_hellman_test.h" -#include <crypto/diffie_hellman.h> +#include <string.h> + +#include "diffie_hellman_test.h" #include <daemon.h> #include <utils/logger_manager.h> -#include <utils/allocator.h> #include <encoding/payloads/transform_substructure.h> +#include <crypto/diffie_hellman.h> /* * described in Header-File @@ -39,7 +39,7 @@ void test_diffie_hellman(protected_tester_t *tester) chunk_t my_public_value, other_public_value; chunk_t my_secret, other_secret; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); my_diffie_hellman = diffie_hellman_create(MODP_1024_BIT); @@ -57,8 +57,8 @@ void test_diffie_hellman(protected_tester_t *tester) my_diffie_hellman->set_other_public_value(my_diffie_hellman,other_public_value); other_diffie_hellman->set_other_public_value(other_diffie_hellman,my_public_value); - allocator_free(my_public_value.ptr); - allocator_free(other_public_value.ptr); + free(my_public_value.ptr); + free(other_public_value.ptr); tester->assert_true(tester,(my_diffie_hellman->get_shared_secret(my_diffie_hellman,&my_secret) == SUCCESS), "get_shared_secret call check"); logger->log_chunk(logger,RAW,"My shared secret",my_secret); @@ -68,8 +68,8 @@ void test_diffie_hellman(protected_tester_t *tester) tester->assert_true(tester,(memcmp(my_secret.ptr,other_secret.ptr,other_secret.len) == 0), "shared secret same value check"); - allocator_free(my_secret.ptr); - allocator_free(other_secret.ptr); + free(my_secret.ptr); + free(other_secret.ptr); my_diffie_hellman->destroy(my_diffie_hellman); other_diffie_hellman->destroy(other_diffie_hellman); diff --git a/Source/testing/encryption_payload_test.c b/Source/testing/encryption_payload_test.c index 05945a3a8..9e4108b9e 100644 --- a/Source/testing/encryption_payload_test.c +++ b/Source/testing/encryption_payload_test.c @@ -19,12 +19,13 @@ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * for more details. */ - + +#include <string.h> + #include "encryption_payload_test.h" #include <daemon.h> #include <utils/logger_manager.h> -#include <utils/allocator.h> #include <encoding/generator.h> #include <encoding/parser.h> #include <encoding/payloads/encryption_payload.h> @@ -60,10 +61,10 @@ void test_encryption_payload(protected_tester_t *tester) key.ptr = key_bytes; key.len = sizeof(key_bytes); - logger = charon->logger_manager->get_logger(charon->logger_manager, TESTER); + logger = logger_manager->get_logger(logger_manager, TESTER); nonce.ptr = "test text und so..."; - nonce.len = strlen(nonce.ptr) +1; + nonce.len = strlen(nonce.ptr) + 1; logger->log_chunk(logger, RAW, "nonce", nonce); @@ -128,8 +129,8 @@ void test_encryption_payload(protected_tester_t *tester) logger->log_chunk(logger, RAW, "nonce", got_nonce); - allocator_free(data.ptr); - allocator_free(got_nonce.ptr); + free(data.ptr); + free(got_nonce.ptr); encryption_payload->destroy(encryption_payload); crypter->destroy(crypter); signer->destroy(signer); diff --git a/Source/testing/event_queue_test.c b/Source/testing/event_queue_test.c index 5366dca07..58a214051 100644 --- a/Source/testing/event_queue_test.c +++ b/Source/testing/event_queue_test.c @@ -25,7 +25,6 @@ #include "event_queue_test.h" -#include <utils/allocator.h> #include <queues/event_queue.h> #include <queues/jobs/initiate_ike_sa_job.h> diff --git a/Source/testing/generator_test.c b/Source/testing/generator_test.c index c611a3e6c..004c700e6 100644 --- a/Source/testing/generator_test.c +++ b/Source/testing/generator_test.c @@ -26,7 +26,6 @@ #include <daemon.h> #include <encoding/generator.h> -#include <utils/allocator.h> #include <utils/logger_manager.h> #include <utils/logger.h> #include <encoding/payloads/encodings.h> @@ -58,7 +57,7 @@ void test_generator_with_header_payload(protected_tester_t *tester) chunk_t generated_data; logger_t *logger; - logger = charon->logger_manager->get_logger(charon->logger_manager, TESTER); + logger = logger_manager->get_logger(logger_manager, TESTER); header_data = ike_header_create(); header_data->set_initiator_spi(header_data,1); @@ -90,7 +89,7 @@ void test_generator_with_header_payload(protected_tester_t *tester) tester->assert_true(tester,(generated_data.len == sizeof(expected_generation)), "compare generated data length"); logger->log_chunk(logger,RAW,"generated header",generated_data); tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data 1"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); generator->destroy(generator); @@ -125,7 +124,7 @@ void test_generator_with_header_payload(protected_tester_t *tester) logger->log_chunk(logger,RAW,"generated header",generated_data); tester->assert_true(tester,(memcmp(expected_generation2,generated_data.ptr,sizeof(expected_generation2)) == 0), "compare generated data 2"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); header_data->destroy(header_data); @@ -142,7 +141,7 @@ void test_generator_with_transform_attribute(protected_tester_t *tester) chunk_t generated_data; logger_t *logger; - logger = charon->logger_manager->get_logger(charon->logger_manager, TESTER); + logger = logger_manager->get_logger(logger_manager, TESTER); /* test empty attribute */ @@ -157,7 +156,7 @@ void test_generator_with_transform_attribute(protected_tester_t *tester) 0x80,0x00,0x00,0x00, }; tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); attribute->destroy(attribute); generator->destroy(generator); @@ -182,7 +181,7 @@ void test_generator_with_transform_attribute(protected_tester_t *tester) }; tester->assert_true(tester,(memcmp(expected_generation2,generated_data.ptr,sizeof(expected_generation2)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); attribute->destroy(attribute); generator->destroy(generator); @@ -218,7 +217,7 @@ void test_generator_with_transform_attribute(protected_tester_t *tester) }; tester->assert_true(tester,(memcmp(expected_generation3,generated_data.ptr,sizeof(expected_generation3)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); attribute->destroy(attribute); generator->destroy(generator); } @@ -237,7 +236,7 @@ void test_generator_with_transform_substructure(protected_tester_t *tester) chunk_t generated_data; logger_t *logger; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); /* create generator */ generator = generator_create(); @@ -286,7 +285,7 @@ void test_generator_with_transform_substructure(protected_tester_t *tester) }; tester->assert_true(tester,(memcmp(expected_generation3,generated_data.ptr,sizeof(expected_generation3)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); transform->destroy(transform); generator->destroy(generator); } @@ -305,7 +304,7 @@ void test_generator_with_proposal_substructure(protected_tester_t *tester) chunk_t generated_data; logger_t *logger; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); /* create generator */ generator = generator_create(); @@ -399,7 +398,7 @@ void test_generator_with_proposal_substructure(protected_tester_t *tester) tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); proposal->destroy(proposal); generator->destroy(generator); } @@ -422,7 +421,7 @@ void test_generator_with_sa_payload(protected_tester_t *tester) chunk_t generated_data; logger_t *logger; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); /* create generator */ generator = generator_create(); @@ -557,7 +556,7 @@ void test_generator_with_sa_payload(protected_tester_t *tester) tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); ike_header->destroy(ike_header); sa_payload->destroy(sa_payload); generator->destroy(generator); @@ -630,7 +629,7 @@ void test_generator_with_sa_payload(protected_tester_t *tester) list->destroy(list); proposal1->destroy(proposal1); proposal2->destroy(proposal2); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); generator->destroy(generator); @@ -743,7 +742,7 @@ void test_generator_with_sa_payload(protected_tester_t *tester) proposal1->destroy(proposal1); proposal2->destroy(proposal2); list->destroy(list); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); generator->destroy(generator); } @@ -759,7 +758,7 @@ void test_generator_with_ke_payload(protected_tester_t *tester) chunk_t generated_data; chunk_t key_exchange_data; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); /* create generator */ generator = generator_create(); @@ -794,7 +793,7 @@ void test_generator_with_ke_payload(protected_tester_t *tester) tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); ke_payload->destroy(ke_payload); generator->destroy(generator); @@ -812,7 +811,7 @@ void test_generator_with_notify_payload(protected_tester_t *tester) chunk_t generated_data; chunk_t spi,notification_data; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); /* create generator */ generator = generator_create(); @@ -852,7 +851,7 @@ void test_generator_with_notify_payload(protected_tester_t *tester) tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); notify_payload->destroy(notify_payload); generator->destroy(generator); @@ -869,7 +868,7 @@ void test_generator_with_nonce_payload(protected_tester_t *tester) chunk_t generated_data; chunk_t nonce; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); /* create generator */ generator = generator_create(); @@ -902,7 +901,7 @@ void test_generator_with_nonce_payload(protected_tester_t *tester) tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); nonce_payload->destroy(nonce_payload); @@ -920,7 +919,7 @@ void test_generator_with_id_payload(protected_tester_t *tester) chunk_t generated_data; chunk_t id; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); /* create generator */ generator = generator_create(); @@ -954,7 +953,7 @@ void test_generator_with_id_payload(protected_tester_t *tester) tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); id_payload->destroy(id_payload); generator->destroy(generator); @@ -971,7 +970,7 @@ void test_generator_with_auth_payload(protected_tester_t *tester) chunk_t generated_data; chunk_t auth; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); /* create generator */ generator = generator_create(); @@ -1005,7 +1004,7 @@ void test_generator_with_auth_payload(protected_tester_t *tester) tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); auth_payload->destroy(auth_payload); generator->destroy(generator); @@ -1023,7 +1022,7 @@ void test_generator_with_ts_payload(protected_tester_t *tester) logger_t *logger; chunk_t generated_data; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); /* create generator */ generator = generator_create(); @@ -1087,7 +1086,7 @@ void test_generator_with_ts_payload(protected_tester_t *tester) tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); ts_payload->destroy(ts_payload); generator->destroy(generator); @@ -1104,7 +1103,7 @@ void test_generator_with_cert_payload(protected_tester_t *tester) chunk_t generated_data; chunk_t cert; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); /* create generator */ generator = generator_create(); @@ -1137,7 +1136,7 @@ void test_generator_with_cert_payload(protected_tester_t *tester) tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); cert_payload->destroy(cert_payload); generator->destroy(generator); @@ -1154,7 +1153,7 @@ void test_generator_with_certreq_payload(protected_tester_t *tester) chunk_t generated_data; chunk_t certreq; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); /* create generator */ generator = generator_create(); @@ -1187,7 +1186,7 @@ void test_generator_with_certreq_payload(protected_tester_t *tester) tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); certreq_payload->destroy(certreq_payload); generator->destroy(generator); @@ -1204,7 +1203,7 @@ void test_generator_with_delete_payload(protected_tester_t *tester) chunk_t generated_data; chunk_t spis; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); /* create generator */ generator = generator_create(); @@ -1239,7 +1238,7 @@ void test_generator_with_delete_payload(protected_tester_t *tester) tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); delete_payload->destroy(delete_payload); generator->destroy(generator); @@ -1256,7 +1255,7 @@ void test_generator_with_vendor_id_payload(protected_tester_t *tester) chunk_t generated_data; chunk_t data; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); /* create generator */ generator = generator_create(); @@ -1286,7 +1285,7 @@ void test_generator_with_vendor_id_payload(protected_tester_t *tester) tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); vendor_id_payload->destroy(vendor_id_payload); generator->destroy(generator); @@ -1304,7 +1303,7 @@ void test_generator_with_cp_payload(protected_tester_t *tester) chunk_t generated_data; logger_t *logger; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); /* create generator */ generator = generator_create(); @@ -1358,7 +1357,7 @@ void test_generator_with_cp_payload(protected_tester_t *tester) tester->assert_true(tester,(memcmp(expected_generation3,generated_data.ptr,sizeof(expected_generation3)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); configuration->destroy(configuration); generator->destroy(generator); } @@ -1374,7 +1373,7 @@ void test_generator_with_eap_payload(protected_tester_t *tester) chunk_t generated_data; chunk_t message; - logger = charon->logger_manager->get_logger(charon->logger_manager,TESTER); + logger = logger_manager->get_logger(logger_manager,TESTER); /* create generator */ generator = generator_create(); @@ -1404,7 +1403,7 @@ void test_generator_with_eap_payload(protected_tester_t *tester) tester->assert_true(tester,(memcmp(expected_generation,generated_data.ptr,sizeof(expected_generation)) == 0), "compare generated data"); - allocator_free_chunk(&generated_data); + chunk_free(&generated_data); eap_payload->destroy(eap_payload); generator->destroy(generator); diff --git a/Source/testing/hasher_test.c b/Source/testing/hasher_test.c index e9df91258..55a4b75d9 100644 --- a/Source/testing/hasher_test.c +++ b/Source/testing/hasher_test.c @@ -21,10 +21,8 @@ */ #include <string.h> - -#include "hasher_test.h" -#include <utils/allocator.h> +#include "hasher_test.h" /* @@ -89,7 +87,7 @@ void test_md5_hasher(protected_tester_t *tester) hasher->allocate_hash(hasher, abcd, &hash_chunk); tester->assert_true(tester, hash_chunk.len == 16, "hash len"); tester->assert_false(tester, memcmp(hash_chunk.ptr, hash_abcd, hash_chunk.len), "hash for abcd..."); - allocator_free(hash_chunk.ptr); + free(hash_chunk.ptr); hasher->destroy(hasher); } @@ -150,7 +148,7 @@ void test_sha1_hasher(protected_tester_t *tester) hasher->allocate_hash(hasher, abcdb, &hash_chunk); tester->assert_true(tester, hash_chunk.len == 20, "chunk len"); tester->assert_false(tester, memcmp(hash_chunk.ptr, hash_abcdb, hash_chunk.len), "hash for abcdb..."); - allocator_free(hash_chunk.ptr); + free(hash_chunk.ptr); /* updating, using "aaaaaaa..." */ hasher->reset(hasher); diff --git a/Source/testing/hmac_signer_test.c b/Source/testing/hmac_signer_test.c index 5dbe302a0..a1ac8ea43 100644 --- a/Source/testing/hmac_signer_test.c +++ b/Source/testing/hmac_signer_test.c @@ -26,7 +26,6 @@ #include "hmac_signer_test.h" #include <crypto/signers/signer.h> -#include <utils/allocator.h> #include <daemon.h> @@ -56,7 +55,7 @@ void test_hmac_md5_signer(protected_tester_t *tester) logger_t *logger; bool valid; - logger = charon->logger_manager->get_logger(charon->logger_manager, TESTER); + logger = logger_manager->get_logger(logger_manager, TESTER); signer_t *signer = (signer_t *) signer_create(AUTH_HMAC_MD5_96); tester->assert_true(tester, (signer != NULL), "signer create call check"); @@ -98,7 +97,7 @@ void test_hmac_md5_signer(protected_tester_t *tester) tester->assert_true(tester, (memcmp(signature[i].ptr, reference[i].ptr, 12) == 0), "hmac value"); logger->log_chunk(logger,RAW,"expected signature:",reference[i]); logger->log_chunk(logger,RAW,"signature:",signature[i]); - allocator_free(signature[i].ptr); + free(signature[i].ptr); valid = signer->verify_signature(signer, data[i],reference[i]); tester->assert_true(tester, (valid == TRUE), "Signature valid check"); @@ -134,7 +133,7 @@ void test_hmac_sha1_signer(protected_tester_t *tester) logger_t *logger; bool valid; - logger = charon->logger_manager->get_logger(charon->logger_manager, TESTER); + logger = logger_manager->get_logger(logger_manager, TESTER); signer_t *signer = (signer_t *) signer_create(AUTH_HMAC_SHA1_96); tester->assert_true(tester, (signer != NULL), "signer create call check"); @@ -192,7 +191,7 @@ void test_hmac_sha1_signer(protected_tester_t *tester) tester->assert_true(tester, (memcmp(signature[i].ptr, reference[i].ptr, 12) == 0), "hmac value"); logger->log_chunk(logger,RAW,"expected signature:",reference[i]); logger->log_chunk(logger,RAW,"signature:",signature[i]); - allocator_free(signature[i].ptr); + free(signature[i].ptr); valid = signer->verify_signature(signer, data[i],reference[i]); tester->assert_true(tester, (valid == TRUE), "Signature valid check"); diff --git a/Source/testing/hmac_test.c b/Source/testing/hmac_test.c index e33315f77..c1341257c 100644 --- a/Source/testing/hmac_test.c +++ b/Source/testing/hmac_test.c @@ -25,7 +25,6 @@ #include "hmac_test.h" #include <crypto/hmac.h> -#include <utils/allocator.h> /* @@ -176,7 +175,7 @@ void test_hmac_sha1(protected_tester_t *tester) tester->assert_true(tester, digest[i].len == 20, "chunk len"); tester->assert_false(tester, memcmp(digest[i].ptr, reference[i].ptr, 20), "hmac value"); - allocator_free(digest[i].ptr); + free(digest[i].ptr); } /* @@ -216,7 +215,7 @@ void test_hmac_sha1(protected_tester_t *tester) tester->assert_true(tester, digest[3].len == 20, "chunk len append mode"); tester->assert_false(tester, memcmp(digest[3].ptr, reference[3].ptr, 20), "hmac value append mode"); - allocator_free(digest[3].ptr); + free(digest[3].ptr); } /* @@ -364,7 +363,7 @@ void test_hmac_md5(protected_tester_t *tester) hmac->destroy(hmac); tester->assert_true(tester, digest[i].len == 16, "chunk len"); tester->assert_false(tester, memcmp(digest[i].ptr, reference[i].ptr, 16), "hmac value"); - allocator_free(digest[i].ptr); + free(digest[i].ptr); } /* @@ -405,5 +404,5 @@ void test_hmac_md5(protected_tester_t *tester) tester->assert_true(tester, digest[3].len == 16, "chunk len append mode"); tester->assert_false(tester, memcmp(digest[3].ptr, reference[3].ptr, 16), "hmac value append mode"); - allocator_free(digest[3].ptr); + free(digest[3].ptr); } diff --git a/Source/testing/job_queue_test.c b/Source/testing/job_queue_test.c index e7c93b68c..336a9a188 100644 --- a/Source/testing/job_queue_test.c +++ b/Source/testing/job_queue_test.c @@ -27,7 +27,6 @@ #include "job_queue_test.h" -#include <utils/allocator.h> #include <queues/job_queue.h> #include <queues/jobs/initiate_ike_sa_job.h> diff --git a/Source/testing/kernel_interface_test.c b/Source/testing/kernel_interface_test.c index ca01cc876..86553e15e 100644 --- a/Source/testing/kernel_interface_test.c +++ b/Source/testing/kernel_interface_test.c @@ -25,7 +25,6 @@ #include <daemon.h> #include <threads/kernel_interface.h> -#include <utils/allocator.h> #include <utils/logger.h> #include <utils/host.h> diff --git a/Source/testing/leak_detective_test.c b/Source/testing/leak_detective_test.c new file mode 100644 index 000000000..193b81803 --- /dev/null +++ b/Source/testing/leak_detective_test.c @@ -0,0 +1,63 @@ +/** + * @file leak_detective_test.h + * + * @brief Tests for the leak_detective_test. + * + */ + +/* + * Copyright (C) 2006 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. + */ + +#include "leak_detective_test.h" + + +void a() +{ + malloc(4); +} + +void b() +{ + a(); + malloc(5); +} + +void c() +{ + b(); + malloc(6); +} + + +/* + * described in Header-File + */ +void test_leak_detective(protected_tester_t *tester) +{ + void *m1, *m2, *m3; + + + m1 = malloc(1); + m2 = calloc(1, 2); + m3 = malloc(3); + + m3 = realloc(m3, 4); + + free(m2); + free(m3); + free(m1); + + //c(); +} diff --git a/Source/testing/leak_detective_test.h b/Source/testing/leak_detective_test.h new file mode 100644 index 000000000..e64266bd5 --- /dev/null +++ b/Source/testing/leak_detective_test.h @@ -0,0 +1,38 @@ +/** + * @file leak_detective_test.h + * + * @brief Tests for the leak_detective_public_key_t and leak_detective_private_key classes. + * + */ + +/* + * Copyright (C) 2006 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. + */ + +#ifndef LEAK_DETEICTVE_TEST_H +#define LEAK_DETEICTVE_TEST_H + +#include <utils/tester.h> + +/** + * @brief Test function used to test the leak_detective functionality. + * + * @param tester associated tester object + * + * @ingroup testcases + */ +void test_leak_detective(protected_tester_t *tester); + + +#endif /*LEAK_DETEICTVE_TEST_H*/ diff --git a/Source/testing/packet_test.c b/Source/testing/packet_test.c index 9ba099cd2..fdb195ec1 100644 --- a/Source/testing/packet_test.c +++ b/Source/testing/packet_test.c @@ -26,7 +26,6 @@ #include <daemon.h> #include <network/packet.h> -#include <utils/allocator.h> #include <utils/logger_manager.h> @@ -41,7 +40,7 @@ void test_packet(protected_tester_t *tester) char *string_to_copy = "aha, soso"; data.len = strlen(string_to_copy) + 1; - data.ptr = allocator_alloc(data.len); + data.ptr = malloc(data.len); memcpy(data.ptr, string_to_copy, data.len); packet->set_data(packet, data); diff --git a/Source/testing/parser_test.c b/Source/testing/parser_test.c index 81a6556f3..263c6eb70 100644 --- a/Source/testing/parser_test.c +++ b/Source/testing/parser_test.c @@ -24,7 +24,6 @@ #include "parser_test.h" -#include <utils/allocator.h> #include <utils/logger_manager.h> #include <encoding/generator.h> #include <encoding/parser.h> @@ -264,7 +263,7 @@ void test_parser_with_sa_payload(protected_tester_t *tester) if (status == SUCCESS) { - allocator_free(ike_proposals); + free(ike_proposals); } */ sa_payload->destroy(sa_payload); @@ -398,7 +397,7 @@ void test_parser_with_sa_payload(protected_tester_t *tester) if (status == SUCCESS) { - allocator_free(proposals); + free(proposals); } */ @@ -440,7 +439,7 @@ void test_parser_with_nonce_payload(protected_tester_t *tester) tester->assert_true(tester,(result.len == 16), "parsed nonce lenght"); tester->assert_false(tester,(memcmp(nonce_bytes + 4, result.ptr, result.len)), "parsed nonce data"); nonce_payload->destroy(nonce_payload); - allocator_free_chunk(&result); + chunk_free(&result); } /* @@ -480,7 +479,7 @@ void test_parser_with_id_payload(protected_tester_t *tester) tester->assert_true(tester,(result.len == 12), "parsed data lenght"); tester->assert_false(tester,(memcmp(id_bytes + 8, result.ptr, result.len)), "parsed nonce data"); id_payload->destroy(id_payload); - allocator_free_chunk(&result); + chunk_free(&result); } @@ -605,7 +604,7 @@ void test_parser_with_auth_payload(protected_tester_t *tester) tester->assert_true(tester,(result.len == 12), "parsed data lenght"); tester->assert_false(tester,(memcmp(auth_bytes + 8, result.ptr, result.len)), "parsed nonce data"); auth_payload->destroy(auth_payload); - allocator_free_chunk(&result); + chunk_free(&result); } /* @@ -731,7 +730,7 @@ void test_parser_with_cert_payload(protected_tester_t *tester) tester->assert_true(tester,(result.len == 12), "parsed data lenght"); tester->assert_false(tester,(memcmp(cert_bytes + 5, result.ptr, result.len)), "parsed data"); cert_payload->destroy(cert_payload); - allocator_free_chunk(&result); + chunk_free(&result); } /* @@ -770,7 +769,7 @@ void test_parser_with_certreq_payload(protected_tester_t *tester) tester->assert_true(tester,(result.len == 12), "parsed data lenght"); tester->assert_false(tester,(memcmp(certreq_bytes + 5, result.ptr, result.len)), "parsed data"); certreq_payload->destroy(certreq_payload); - allocator_free_chunk(&result); + chunk_free(&result); } /* diff --git a/Source/testing/policy_test.c b/Source/testing/policy_test.c index d511f4ae4..0b09877e0 100644 --- a/Source/testing/policy_test.c +++ b/Source/testing/policy_test.c @@ -25,7 +25,6 @@ #include <daemon.h> #include <config/policy.h> #include <config/traffic_selector.h> -#include <utils/allocator.h> #include <utils/logger.h> #include <encoding/payloads/ts_payload.h> @@ -44,7 +43,7 @@ void test_policy(protected_tester_t *tester) logger_t *logger; identification_t *alice, *bob; - logger = charon->logger_manager->get_logger(charon->logger_manager, TESTER); + logger = logger_manager->get_logger(logger_manager, TESTER); logger->disable_level(logger, FULL); alice = identification_create_from_string(ID_IPV4_ADDR, "152.96.193.131"); @@ -173,7 +172,7 @@ void test_policy(protected_tester_t *tester) // ts_result[0]->destroy(ts_result[0]); // ts_result[0]->destroy(ts_result[1]); // ts_result[0]->destroy(ts_result[2]); -// allocator_free(ts_result); +// free(ts_result); // // count = policy->select_my_traffic_selectors(policy, &ts_request[0], 4, &ts_result); // tester->assert_true(tester, (count == 3), "ts select count"); @@ -186,7 +185,7 @@ void test_policy(protected_tester_t *tester) // ts_result[0]->destroy(ts_result[0]); // ts_result[0]->destroy(ts_result[1]); // ts_result[0]->destroy(ts_result[2]); -// allocator_free(ts_result); +// free(ts_result); // // /* get them again out of the payload */ // count = ts_payload->get_traffic_selectors(ts_payload, &ts_result); @@ -219,10 +218,10 @@ void test_policy(protected_tester_t *tester) // tester->assert_true(tester, fp_res == fp_ref, "from port"); // tester->assert_true(tester, tp_res == tp_ref, "to port"); // -// allocator_free(fa_res.ptr); -// allocator_free(fa_ref.ptr); -// allocator_free(ta_res.ptr); -// allocator_free(ta_ref.ptr); +// free(fa_res.ptr); +// free(fa_ref.ptr); +// free(ta_res.ptr); +// free(ta_ref.ptr); // } // // @@ -230,7 +229,7 @@ void test_policy(protected_tester_t *tester) // ts_result[0]->destroy(ts_result[0]); // ts_result[0]->destroy(ts_result[1]); // ts_result[0]->destroy(ts_result[2]); -// allocator_free(ts_result); +// free(ts_result); // // ts_policy[0]->destroy(ts_policy[0]); // ts_policy[1]->destroy(ts_policy[1]); diff --git a/Source/testing/prf_plus_test.c b/Source/testing/prf_plus_test.c index 6773def87..818c5c17e 100644 --- a/Source/testing/prf_plus_test.c +++ b/Source/testing/prf_plus_test.c @@ -25,7 +25,6 @@ #include "prf_plus_test.h" #include <crypto/prf_plus.h> -#include <utils/allocator.h> /* diff --git a/Source/testing/proposal_test.c b/Source/testing/proposal_test.c index 8df2bf403..1b16390d3 100644 --- a/Source/testing/proposal_test.c +++ b/Source/testing/proposal_test.c @@ -24,7 +24,6 @@ #include <daemon.h> #include <config/proposal.h> -#include <utils/allocator.h> #include <utils/logger.h> diff --git a/Source/testing/receiver_test.c b/Source/testing/receiver_test.c index ed93a9f44..763e52517 100644 --- a/Source/testing/receiver_test.c +++ b/Source/testing/receiver_test.c @@ -33,7 +33,6 @@ #include <queues/job_queue.h> #include <queues/jobs/incoming_packet_job.h> #include <encoding/payloads/encodings.h> -#include <utils/allocator.h> /** * Number of packets to send by sender-thread @@ -64,8 +63,8 @@ void test_receiver(protected_tester_t *tester) { packet = packet_create(); packet->set_destination(packet, host_create(AF_INET,DESTINATION_IP,PORT_TO_SEND)); - test_data.ptr = allocator_alloc_thing(int); - test_data.len = ( sizeof(int)); + test_data.len = (sizeof(int)); + test_data.ptr = malloc(test_data.len); *((int *) (test_data.ptr)) = i; packet->set_data(packet, test_data); charon->socket->send(charon->socket, packet); diff --git a/Source/testing/rsa_test.c b/Source/testing/rsa_test.c index 2b8015a51..e0c601ea8 100644 --- a/Source/testing/rsa_test.c +++ b/Source/testing/rsa_test.c @@ -25,7 +25,6 @@ #include "rsa_test.h" #include <daemon.h> -#include <utils/allocator.h> #include <utils/logger.h> #include <crypto/certificate.h> @@ -159,7 +158,7 @@ void test_rsa(protected_tester_t *tester) data.ptr = test_data; data.len = sizeof(test_data); - logger = charon->logger_manager->get_logger(charon->logger_manager, TESTER); + logger = logger_manager->get_logger(logger_manager, TESTER); logger->disable_level(logger, FULL); /* key generation and signing */ @@ -175,7 +174,7 @@ void test_rsa(protected_tester_t *tester) // status = public_key->verify_emsa_pkcs1_signature(public_key, data, signature); // tester->assert_true(tester, status == SUCCESS, "verify emsa_pkcs1_signature (genkey)"); // -// allocator_free(signature.ptr); +// free(signature.ptr); // // private_key->destroy(private_key); // public_key->destroy(public_key); @@ -191,7 +190,7 @@ void test_rsa(protected_tester_t *tester) status = public_key->verify_emsa_pkcs1_signature(public_key, data, signature); tester->assert_true(tester, status == SUCCESS, "verify emsa_pkcs1_signature (setkey)"); - allocator_free(signature.ptr); + free(signature.ptr); /* key comparison */ tester->assert_true(tester, private_key->belongs_to(private_key, public_key), "key belongs to"); @@ -218,7 +217,7 @@ void test_rsa(protected_tester_t *tester) status = public_key->verify_emsa_pkcs1_signature(public_key, data, signature); tester->assert_true(tester, status == SUCCESS, "verify emsa_pkcs1_signature (loadkey)"); - allocator_free(signature.ptr); + free(signature.ptr); certificate->destroy(certificate); public_key->destroy(public_key); diff --git a/Source/testing/sender_test.c b/Source/testing/sender_test.c index 003cf761e..4559de0f4 100644 --- a/Source/testing/sender_test.c +++ b/Source/testing/sender_test.c @@ -30,7 +30,6 @@ #include <network/socket.h> #include <queues/send_queue.h> #include <queues/job_queue.h> -#include <utils/allocator.h> /** * Number of packets to send by sender-thread @@ -60,8 +59,8 @@ void test_sender(protected_tester_t *tester) { packet = packet_create(AF_INET); packet->set_destination(packet, host_create(AF_INET,DESTINATION_IP,PORT_TO_SEND)); - packet_data.ptr = allocator_alloc_thing(int); packet_data.len = ( sizeof(int)); + packet_data.ptr = malloc(packet_data.len); *((int *) (packet_data.ptr)) = i; packet->set_data(packet, packet_data); charon->send_queue->add(charon->send_queue,packet); diff --git a/Source/testing/socket_test.c b/Source/testing/socket_test.c index 360bf697c..e3fbca452 100644 --- a/Source/testing/socket_test.c +++ b/Source/testing/socket_test.c @@ -26,7 +26,6 @@ #include "socket_test.h" #include <network/socket.h> -#include <utils/allocator.h> /* * Description in header file @@ -41,7 +40,7 @@ void test_socket(protected_tester_t *tester) chunk_t data; - data.ptr = allocator_alloc(strlen(test_string) + 1); + data.ptr = malloc(strlen(test_string) + 1); memcpy(data.ptr,test_string,strlen(test_string) + 1); data.len = strlen(test_string) + 1; diff --git a/Source/testing/testcases.c b/Source/testing/testcases.c index c79680673..61eba694a 100644 --- a/Source/testing/testcases.c +++ b/Source/testing/testcases.c @@ -32,7 +32,6 @@ #include <sa/ike_sa_manager.h> #include <network/socket.h> #include <utils/logger_manager.h> -#include <utils/allocator.h> #include <utils/tester.h> #include "linked_list_test.h" #include "thread_pool_test.h" @@ -64,6 +63,7 @@ #include "child_sa_test.h" #include "der_decoder_test.h" #include "certificate_test.h" +#include "leak_detective_test.h" /* output for test messages */ extern FILE * stderr; @@ -132,13 +132,13 @@ test_t kernel_interface_test = {test_kernel_interface, "Kernel Interface"}; test_t child_sa_test = {test_child_sa, "Child SA"}; test_t der_decoder_test = {test_der_decoder, "DER decoder"}; test_t certificate_test = {test_certificate, "X509 Certificate"}; +test_t leak_detective_test = {test_leak_detective, "LEAK detective"}; daemon_t* charon; static void daemon_kill(daemon_t *this, char* none) { - this->logger_manager->destroy(this->logger_manager); //this->socket->destroy(this->socket); this->ike_sa_manager->destroy(this->ike_sa_manager); this->job_queue->destroy(this->job_queue); @@ -146,7 +146,7 @@ static void daemon_kill(daemon_t *this, char* none) this->send_queue->destroy(this->send_queue); this->kernel_interface->destroy(this->kernel_interface); //this->configuration->destroy(this->configuration); - allocator_free(charon); + free(charon); } /** @@ -156,12 +156,11 @@ static void daemon_kill(daemon_t *this, char* none) */ daemon_t *daemon_create() { - charon = allocator_alloc_thing(daemon_t); + charon = malloc_thing(daemon_t); /* assign methods */ charon->kill = daemon_kill; - charon->logger_manager = logger_manager_create(0); //charon->socket = socket_create(4510); charon->ike_sa_manager = ike_sa_manager_create(); charon->job_queue = job_queue_create(); @@ -247,29 +246,21 @@ int main() }; /* get rid of compiler warning ;-) */ *all_tests = *all_tests; - - /* allocator needs initialization */ - allocator_init(); daemon_create(); - //charon->logger_manager->enable_log_level(charon->logger_manager, ALL_LOGGERS, FULL); - charon->logger_manager->set_output(charon->logger_manager, ALL_LOGGERS, stdout); + //logger_manager->enable_log_level(logger_manager, ALL_LOGGERS, FULL); + logger_manager->set_output(logger_manager, ALL_LOGGERS, stdout); tester_t *tester = tester_create(test_output, FALSE); //tester->perform_tests(tester,all_tests); - tester->perform_test(tester,&rsa_test); + tester->perform_test(tester,&leak_detective_test); tester->destroy(tester); charon->kill(charon, NULL); -#ifdef LEAK_DETECTIVE - /* Leaks are reported on stderr */ - report_memory_leaks(void); -#endif - return 0; } |