diff options
author | Martin Willi <martin@strongswan.org> | 2006-04-05 12:10:50 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2006-04-05 12:10:50 +0000 |
commit | 6862128151fb78f63685a8da5575783c426d64a7 (patch) | |
tree | 75920a6688ed5654fb917ecccc1e0e469480fd1f /Source/charon/encoding | |
parent | 3dbbbf3e16366b0da33b29bbc1a4ba9a976e43a0 (diff) | |
download | strongswan-6862128151fb78f63685a8da5575783c426d64a7.tar.bz2 strongswan-6862128151fb78f63685a8da5575783c426d64a7.tar.xz |
../svn-commit.tmp
Diffstat (limited to 'Source/charon/encoding')
7 files changed, 50 insertions, 39 deletions
diff --git a/Source/charon/encoding/Makefile.encoding b/Source/charon/encoding/Makefile.encoding index 2f5576ae6..ccdb42f79 100644 --- a/Source/charon/encoding/Makefile.encoding +++ b/Source/charon/encoding/Makefile.encoding @@ -12,17 +12,17 @@ # for more details. # -ENCODING_DIR= $(MAIN_DIR)encoding/ +ENCODING_DIR= $(CHARON_DIR)encoding/ -OBJS+= $(BUILD_DIR)generator.o +CHARON_OBJS+= $(BUILD_DIR)generator.o $(BUILD_DIR)generator.o : $(ENCODING_DIR)generator.c $(ENCODING_DIR)generator.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)parser.o +CHARON_OBJS+= $(BUILD_DIR)parser.o $(BUILD_DIR)parser.o : $(ENCODING_DIR)parser.c $(ENCODING_DIR)parser.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)message.o +CHARON_OBJS+= $(BUILD_DIR)message.o $(BUILD_DIR)message.o : $(ENCODING_DIR)message.c $(ENCODING_DIR)message.h $(CC) $(CFLAGS) -c -o $@ $< diff --git a/Source/charon/encoding/message.h b/Source/charon/encoding/message.h index ef4491c80..e3a72f439 100644 --- a/Source/charon/encoding/message.h +++ b/Source/charon/encoding/message.h @@ -29,8 +29,8 @@ #include <encoding/payloads/ike_header.h> #include <encoding/payloads/notify_payload.h> #include <utils/linked_list.h> -#include <transforms/crypters/crypter.h> -#include <transforms/signers/signer.h> +#include <crypto/crypters/crypter.h> +#include <crypto/signers/signer.h> typedef struct message_t message_t; diff --git a/Source/charon/encoding/payloads/Makefile.payloads b/Source/charon/encoding/payloads/Makefile.payloads index 19b9a3bb4..61d920907 100644 --- a/Source/charon/encoding/payloads/Makefile.payloads +++ b/Source/charon/encoding/payloads/Makefile.payloads @@ -14,95 +14,95 @@ PAYLOADS_DIR= $(ENCODING_DIR)payloads/ -OBJS+= $(BUILD_DIR)encodings.o +CHARON_OBJS+= $(BUILD_DIR)encodings.o $(BUILD_DIR)encodings.o : $(PAYLOADS_DIR)encodings.c $(PAYLOADS_DIR)encodings.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)ike_header.o +CHARON_OBJS+= $(BUILD_DIR)ike_header.o $(BUILD_DIR)ike_header.o : $(PAYLOADS_DIR)ike_header.c $(PAYLOADS_DIR)ike_header.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)ke_payload.o +CHARON_OBJS+= $(BUILD_DIR)ke_payload.o $(BUILD_DIR)ke_payload.o : $(PAYLOADS_DIR)ke_payload.c $(PAYLOADS_DIR)ke_payload.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)nonce_payload.o +CHARON_OBJS+= $(BUILD_DIR)nonce_payload.o $(BUILD_DIR)nonce_payload.o : $(PAYLOADS_DIR)nonce_payload.c $(PAYLOADS_DIR)nonce_payload.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)notify_payload.o +CHARON_OBJS+= $(BUILD_DIR)notify_payload.o $(BUILD_DIR)notify_payload.o : $(PAYLOADS_DIR)notify_payload.c $(PAYLOADS_DIR)notify_payload.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)id_payload.o +CHARON_OBJS+= $(BUILD_DIR)id_payload.o $(BUILD_DIR)id_payload.o : $(PAYLOADS_DIR)id_payload.c $(PAYLOADS_DIR)id_payload.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)auth_payload.o +CHARON_OBJS+= $(BUILD_DIR)auth_payload.o $(BUILD_DIR)auth_payload.o : $(PAYLOADS_DIR)auth_payload.c $(PAYLOADS_DIR)auth_payload.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)cert_payload.o +CHARON_OBJS+= $(BUILD_DIR)cert_payload.o $(BUILD_DIR)cert_payload.o : $(PAYLOADS_DIR)cert_payload.c $(PAYLOADS_DIR)cert_payload.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)certreq_payload.o +CHARON_OBJS+= $(BUILD_DIR)certreq_payload.o $(BUILD_DIR)certreq_payload.o : $(PAYLOADS_DIR)certreq_payload.c $(PAYLOADS_DIR)certreq_payload.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)delete_payload.o +CHARON_OBJS+= $(BUILD_DIR)delete_payload.o $(BUILD_DIR)delete_payload.o : $(PAYLOADS_DIR)delete_payload.c $(PAYLOADS_DIR)delete_payload.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)vendor_id_payload.o +CHARON_OBJS+= $(BUILD_DIR)vendor_id_payload.o $(BUILD_DIR)vendor_id_payload.o : $(PAYLOADS_DIR)vendor_id_payload.c $(PAYLOADS_DIR)vendor_id_payload.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)cp_payload.o +CHARON_OBJS+= $(BUILD_DIR)cp_payload.o $(BUILD_DIR)cp_payload.o : $(PAYLOADS_DIR)cp_payload.c $(PAYLOADS_DIR)cp_payload.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)configuration_attribute.o +CHARON_OBJS+= $(BUILD_DIR)configuration_attribute.o $(BUILD_DIR)configuration_attribute.o : $(PAYLOADS_DIR)configuration_attribute.c $(PAYLOADS_DIR)configuration_attribute.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)eap_payload.o +CHARON_OBJS+= $(BUILD_DIR)eap_payload.o $(BUILD_DIR)eap_payload.o : $(PAYLOADS_DIR)eap_payload.c $(PAYLOADS_DIR)eap_payload.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)unknown_payload.o +CHARON_OBJS+= $(BUILD_DIR)unknown_payload.o $(BUILD_DIR)unknown_payload.o : $(PAYLOADS_DIR)unknown_payload.c $(PAYLOADS_DIR)unknown_payload.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)ts_payload.o +CHARON_OBJS+= $(BUILD_DIR)ts_payload.o $(BUILD_DIR)ts_payload.o : $(PAYLOADS_DIR)ts_payload.c $(PAYLOADS_DIR)ts_payload.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)traffic_selector_substructure.o +CHARON_OBJS+= $(BUILD_DIR)traffic_selector_substructure.o $(BUILD_DIR)traffic_selector_substructure.o : $(PAYLOADS_DIR)traffic_selector_substructure.c $(PAYLOADS_DIR)traffic_selector_substructure.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)payload.o +CHARON_OBJS+= $(BUILD_DIR)payload.o $(BUILD_DIR)payload.o : $(PAYLOADS_DIR)payload.c $(PAYLOADS_DIR)payload.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)proposal_substructure.o +CHARON_OBJS+= $(BUILD_DIR)proposal_substructure.o $(BUILD_DIR)proposal_substructure.o : $(PAYLOADS_DIR)proposal_substructure.c $(PAYLOADS_DIR)proposal_substructure.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)sa_payload.o +CHARON_OBJS+= $(BUILD_DIR)sa_payload.o $(BUILD_DIR)sa_payload.o : $(PAYLOADS_DIR)sa_payload.c $(PAYLOADS_DIR)sa_payload.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)transform_attribute.o +CHARON_OBJS+= $(BUILD_DIR)transform_attribute.o $(BUILD_DIR)transform_attribute.o : $(PAYLOADS_DIR)transform_attribute.c $(PAYLOADS_DIR)transform_attribute.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)transform_substructure.o +CHARON_OBJS+= $(BUILD_DIR)transform_substructure.o $(BUILD_DIR)transform_substructure.o : $(PAYLOADS_DIR)transform_substructure.c $(PAYLOADS_DIR)transform_substructure.h $(CC) $(CFLAGS) -c -o $@ $< -OBJS+= $(BUILD_DIR)encryption_payload.o +CHARON_OBJS+= $(BUILD_DIR)encryption_payload.o $(BUILD_DIR)encryption_payload.o : $(PAYLOADS_DIR)encryption_payload.c $(PAYLOADS_DIR)encryption_payload.h $(CC) $(CFLAGS) -c -o $@ $< diff --git a/Source/charon/encoding/payloads/encryption_payload.c b/Source/charon/encoding/payloads/encryption_payload.c index da48c8349..70bbe9701 100644 --- a/Source/charon/encoding/payloads/encryption_payload.c +++ b/Source/charon/encoding/payloads/encryption_payload.c @@ -34,7 +34,7 @@ #include <encoding/parser.h> #include <utils/iterator.h> #include <utils/randomizer.h> -#include <transforms/signers/signer.h> +#include <crypto/signers/signer.h> @@ -294,7 +294,12 @@ static status_t encrypt(private_encryption_payload_t *this) /* build padding */ block_size = this->crypter->get_block_size(this->crypter); padding.len = block_size - ((this->decrypted.len + 1) % block_size); - randomizer->allocate_pseudo_random_bytes(randomizer, padding.len, &padding); + status = randomizer->allocate_pseudo_random_bytes(randomizer, padding.len, &padding); + if (status != SUCCESS) + { + randomizer->destroy(randomizer); + return status; + } /* concatenate payload data, padding, padding len */ to_crypt.len = this->decrypted.len + padding.len + 1; @@ -306,8 +311,14 @@ static status_t encrypt(private_encryption_payload_t *this) /* build iv */ iv.len = block_size; - randomizer->allocate_pseudo_random_bytes(randomizer, iv.len, &iv); + status = randomizer->allocate_pseudo_random_bytes(randomizer, iv.len, &iv); randomizer->destroy(randomizer); + if (status != SUCCESS) + { + allocator_free_chunk(&to_crypt); + allocator_free_chunk(&padding); + return status; + } this->logger->log_chunk(this->logger, RAW|LEVEL2, "data before encryption with padding", to_crypt); diff --git a/Source/charon/encoding/payloads/encryption_payload.h b/Source/charon/encoding/payloads/encryption_payload.h index 7119a72a0..77be246c5 100644 --- a/Source/charon/encoding/payloads/encryption_payload.h +++ b/Source/charon/encoding/payloads/encryption_payload.h @@ -23,8 +23,8 @@ #define ENCRYPTION_PAYLOAD_H_ #include <types.h> -#include <transforms/crypters/crypter.h> -#include <transforms/signers/signer.h> +#include <crypto/crypters/crypter.h> +#include <crypto/signers/signer.h> #include <encoding/payloads/payload.h> #include <utils/linked_list.h> diff --git a/Source/charon/encoding/payloads/traffic_selector_substructure.h b/Source/charon/encoding/payloads/traffic_selector_substructure.h index 1129ac845..755917055 100644 --- a/Source/charon/encoding/payloads/traffic_selector_substructure.h +++ b/Source/charon/encoding/payloads/traffic_selector_substructure.h @@ -26,7 +26,7 @@ #include <types.h> #include <encoding/payloads/payload.h> -#include <network/host.h> +#include <utils/host.h> #include <config/traffic_selector.h> /** diff --git a/Source/charon/encoding/payloads/transform_substructure.h b/Source/charon/encoding/payloads/transform_substructure.h index 62def3309..f6af3ee59 100644 --- a/Source/charon/encoding/payloads/transform_substructure.h +++ b/Source/charon/encoding/payloads/transform_substructure.h @@ -28,10 +28,10 @@ #include <encoding/payloads/payload.h> #include <encoding/payloads/transform_attribute.h> #include <utils/linked_list.h> -#include <transforms/diffie_hellman.h> -#include <transforms/signers/signer.h> -#include <transforms/prfs/prf.h> -#include <transforms/crypters/crypter.h> +#include <crypto/diffie_hellman.h> +#include <crypto/signers/signer.h> +#include <crypto/prfs/prf.h> +#include <crypto/crypters/crypter.h> #include <config/proposal.h> |