From a28334720c5ecafd96b4cb78e4798232d56011e6 Mon Sep 17 00:00:00 2001 From: Andreas Steffen Date: Tue, 22 Sep 2009 12:55:25 +0200 Subject: [PATCH] adding additional flags to loaded X.509 certificates --- src/libstrongswan/plugins/x509/x509_cert.c | 5 +++++ 1 file changed, 5 insertions(+) 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);