diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2007-02-27 21:21:54 +0000 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2007-02-27 21:21:54 +0000 |
commit | 87dabcbd1e688b9b349a76479b3a3d2e3a7d4e77 (patch) | |
tree | f5fc43a55460617b0a2b23eba2d5da6e3a0a0dd5 /src | |
parent | f3f390eb7679df5aae58a1c314d3fb018680f424 (diff) | |
download | strongswan-87dabcbd1e688b9b349a76479b3a3d2e3a7d4e77.tar.bz2 strongswan-87dabcbd1e688b9b349a76479b3a3d2e3a7d4e77.tar.xz |
added certinfos linked list
Diffstat (limited to 'src')
-rw-r--r-- | src/libstrongswan/crypto/ca.c | 57 |
1 files changed, 33 insertions, 24 deletions
diff --git a/src/libstrongswan/crypto/ca.c b/src/libstrongswan/crypto/ca.c index 5e1f07515..f7ffa3841 100644 --- a/src/libstrongswan/crypto/ca.c +++ b/src/libstrongswan/crypto/ca.c @@ -26,6 +26,7 @@ #include <stdio.h> #include "ca.h" +#include "certinfo.h" #include <library.h> #include <debug.h> @@ -61,12 +62,17 @@ struct private_ca_info_t { /** * List of crl URIs */ - linked_list_t *crlURIs; + linked_list_t *crluris; /** * List of ocsp URIs */ - linked_list_t *ocspURIs; + linked_list_t *ocspuris; + + /** + * List of certificate info records + */ + linked_list_t *certinfos; }; /** @@ -143,9 +149,9 @@ static void add_crluri(private_ca_info_t *this, chunk_t uri) } else { - identification_t *crlURI = identification_create_from_encoding(ID_DER_ASN1_GN_URI, uri); + identification_t *crluri = identification_create_from_encoding(ID_DER_ASN1_GN_URI, uri); - add_identification(this->crlURIs, crlURI); + add_identification(this->crluris, crluri); } } @@ -161,9 +167,9 @@ static void add_ocspuri(private_ca_info_t *this, chunk_t uri) } else { - identification_t *ocspURI = identification_create_from_encoding(ID_DER_ASN1_GN_URI, uri); + identification_t *ocspuri = identification_create_from_encoding(ID_DER_ASN1_GN_URI, uri); - add_identification(this->ocspURIs, ocspURI); + add_identification(this->ocspuris, ocspuri); } } @@ -179,7 +185,7 @@ void add_info (private_ca_info_t *this, const private_ca_info_t *that) { identification_t *uri; - iterator_t *iterator = that->crlURIs->create_iterator(that->crlURIs, TRUE); + iterator_t *iterator = that->crluris->create_iterator(that->crluris, TRUE); while (iterator->iterate(iterator, (void**)&uri)) { @@ -190,7 +196,7 @@ void add_info (private_ca_info_t *this, const private_ca_info_t *that) { identification_t *uri; - iterator_t *iterator = that->ocspURIs->create_iterator(that->ocspURIs, TRUE); + iterator_t *iterator = that->ocspuris->create_iterator(that->ocspuris, TRUE); while (iterator->iterate(iterator, (void**)&uri)) { @@ -205,13 +211,13 @@ void add_info (private_ca_info_t *this, const private_ca_info_t *that) */ static void release_info(private_ca_info_t *this) { - this->crlURIs->destroy_offset(this->crlURIs, + this->crluris->destroy_offset(this->crluris, offsetof(identification_t, destroy)); - this->crlURIs = linked_list_create(); + this->crluris = linked_list_create(); - this->ocspURIs->destroy_offset(this->ocspURIs, + this->ocspuris->destroy_offset(this->ocspuris, offsetof(identification_t, destroy)); - this->ocspURIs = linked_list_create(); + this->ocspuris = linked_list_create(); free(this->name); this->name = NULL; @@ -222,10 +228,12 @@ static void release_info(private_ca_info_t *this) */ static void destroy(private_ca_info_t *this) { - this->crlURIs->destroy_offset(this->crlURIs, + this->crluris->destroy_offset(this->crluris, offsetof(identification_t, destroy)); - this->ocspURIs->destroy_offset(this->ocspURIs, + this->ocspuris->destroy_offset(this->ocspuris, offsetof(identification_t, destroy)); + this->certinfos->destroy_offset(this->certinfos, + offsetof(certinfo_t, destroy)); free(this->name); free(this); } @@ -270,27 +278,27 @@ static int print(FILE *stream, const struct printf_info *info, written += fprintf(stream, " keyid: %#B\n", &keyid); } { - identification_t *crlURI; - iterator_t *iterator = this->crlURIs->create_iterator(this->crlURIs, TRUE); + identification_t *crluri; + iterator_t *iterator = this->crluris->create_iterator(this->crluris, TRUE); bool first = TRUE; - while (iterator->iterate(iterator, (void**)&crlURI)) + while (iterator->iterate(iterator, (void**)&crluri)) { written += fprintf(stream, " %s '%D'\n", - first? "crluris:":" ", crlURI); + first? "crluris:":" ", crluri); first = FALSE; } iterator->destroy(iterator); } { - identification_t *ocspURI; - iterator_t *iterator = this->ocspURIs->create_iterator(this->ocspURIs, TRUE); + identification_t *ocspuri; + iterator_t *iterator = this->ocspuris->create_iterator(this->ocspuris, TRUE); bool first = TRUE; - while (iterator->iterate(iterator, (void**)&ocspURI)) + while (iterator->iterate(iterator, (void**)&ocspuri)) { written += fprintf(stream, " %s '%D'\n", - first? "ocspuris:":" ", ocspURI); + first? "ocspuris:":" ", ocspuri); first = FALSE; } iterator->destroy(iterator); @@ -317,8 +325,9 @@ ca_info_t *ca_info_create(const char *name, const x509_t *cacert) this->installed = time(NULL); this->name = (name == NULL)? NULL:strdup(name); this->cacert = cacert; - this->crlURIs = linked_list_create(); - this->ocspURIs = linked_list_create(); + this->crluris = linked_list_create(); + this->ocspuris = linked_list_create(); + this->certinfos = linked_list_create(); /* public functions */ this->public.equals = (bool (*) (const ca_info_t*,const ca_info_t*))equals; |