diff options
author | Martin Willi <martin@revosec.ch> | 2011-12-06 13:37:57 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2012-03-20 17:31:13 +0100 |
commit | 9ad5b8fa951c294f3f79ffe701cac712a6cf18df (patch) | |
tree | b3272a7598299219a6ecaf81cd735f1debe2760b /src/libcharon/encoding/payloads/cert_payload.c | |
parent | 0bcdb8e571d67d363a54ff2c2e3ecaf52bb93ebc (diff) | |
download | strongswan-9ad5b8fa951c294f3f79ffe701cac712a6cf18df.tar.bz2 strongswan-9ad5b8fa951c294f3f79ffe701cac712a6cf18df.tar.xz |
Cleanup CERT payload constructors
Diffstat (limited to 'src/libcharon/encoding/payloads/cert_payload.c')
-rw-r--r-- | src/libcharon/encoding/payloads/cert_payload.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/libcharon/encoding/payloads/cert_payload.c b/src/libcharon/encoding/payloads/cert_payload.c index af726ad62..3a230b91e 100644 --- a/src/libcharon/encoding/payloads/cert_payload.c +++ b/src/libcharon/encoding/payloads/cert_payload.c @@ -304,10 +304,12 @@ cert_payload_t *cert_payload_create(payload_type_t type) /* * Described in header */ -cert_payload_t *cert_payload_create_from_cert(certificate_t *cert, payload_type_t type) +cert_payload_t *cert_payload_create_from_cert(payload_type_t type, + certificate_t *cert) { - private_cert_payload_t *this = (private_cert_payload_t*)cert_payload_create(type); + private_cert_payload_t *this; + this = (private_cert_payload_t*)cert_payload_create(type); switch (cert->get_type(cert)) { case CERT_X509: @@ -326,33 +328,38 @@ cert_payload_t *cert_payload_create_from_cert(certificate_t *cert, payload_type_ return NULL; } this->payload_length = get_header_length(this) + this->data.len; + return &this->public; } /* * Described in header */ -cert_payload_t *cert_payload_create_from_hash_and_url(chunk_t hash, char *url, - payload_type_t type) +cert_payload_t *cert_payload_create_from_hash_and_url(chunk_t hash, char *url) { - private_cert_payload_t *this = (private_cert_payload_t*)cert_payload_create(type); + private_cert_payload_t *this; + this = (private_cert_payload_t*)cert_payload_create(CERTIFICATE); this->encoding = ENC_X509_HASH_AND_URL; this->data = chunk_cat("cc", hash, chunk_create(url, strlen(url))); this->payload_length = get_header_length(this) + this->data.len; + return &this->public; } /* * Described in header */ -cert_payload_t *cert_payload_create_custom(cert_encoding_t encoding, - chunk_t data, payload_type_t type) +cert_payload_t *cert_payload_create_custom(payload_type_t type, + cert_encoding_t encoding, chunk_t data) { - private_cert_payload_t *this = (private_cert_payload_t*)cert_payload_create(type); + private_cert_payload_t *this; + this = (private_cert_payload_t*)cert_payload_create(type); this->encoding = encoding; this->data = data; this->payload_length = get_header_length(this) + this->data.len; + return &this->public; } + |