aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2009-09-22 12:55:25 +0200
committerAndreas Steffen <andreas.steffen@strongswan.org>2009-09-22 12:55:25 +0200
commita28334720c5ecafd96b4cb78e4798232d56011e6 (patch)
treef5a8eaa684200a75e3eb2246f9e74dbd7c664b50 /src
parentb80fa9ca383fdd1f1b79a751cba751c8f797911a (diff)
downloadstrongswan-a28334720c5ecafd96b4cb78e4798232d56011e6.tar.bz2
strongswan-a28334720c5ecafd96b4cb78e4798232d56011e6.tar.xz
adding additional flags to loaded X.509 certificates
Diffstat (limited to 'src')
-rw-r--r--src/libstrongswan/plugins/x509/x509_cert.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libstrongswan/plugins/x509/x509_cert.c b/src/libstrongswan/plugins/x509/x509_cert.c
index 17681823d..c215c7ad7 100644
--- a/src/libstrongswan/plugins/x509/x509_cert.c
+++ b/src/libstrongswan/plugins/x509/x509_cert.c
@@ -1414,6 +1414,7 @@ static bool generate(private_x509_cert_t *cert, certificate_t *sign_cert,
*/
x509_cert_t *x509_cert_load(certificate_type_t type, va_list args)
{
+ x509_flag_t flags = 0;
chunk_t blob = chunk_empty;
while (TRUE)
@@ -1423,6 +1424,9 @@ x509_cert_t *x509_cert_load(certificate_type_t type, va_list args)
case BUILD_BLOB_ASN1_DER:
blob = va_arg(args, chunk_t);
continue;
+ case BUILD_X509_FLAG:
+ flags |= va_arg(args, x509_flag_t);
+ continue;
case BUILD_END:
break;
default:
@@ -1439,6 +1443,7 @@ x509_cert_t *x509_cert_load(certificate_type_t type, va_list args)
cert->parsed = TRUE;
if (parse_certificate(cert))
{
+ cert->flags |= flags;
return &cert->public;
}
destroy(cert);