]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
adding additional flags to loaded X.509 certificates
authorAndreas Steffen <andreas.steffen@strongswan.org>
Tue, 22 Sep 2009 10:55:25 +0000 (12:55 +0200)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Tue, 22 Sep 2009 10:55:25 +0000 (12:55 +0200)
src/libstrongswan/plugins/x509/x509_cert.c

index 17681823d24e118127f991b7f7b0e310615f5d84..c215c7ad7b24a5748ef34a02ac1c3f05d8d155fa 100644 (file)
@@ -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);