dlfcn: always define _GNU_SOURCE
[oweals/openssl.git] / crypto / x509 / x509_set.c
index aaf61ca062b9c9f321972ae2d5ea26a51861e197..d37adb1fbf162a55a13c887f277945648c184770 100644 (file)
 int X509_set_version(X509 *x, long version)
        {
        if (x == NULL) return(0);
+       if (version == 0)
+               {
+               M_ASN1_INTEGER_free(x->cert_info->version);
+               x->cert_info->version = NULL;
+               return(1);
+               }
        if (x->cert_info->version == NULL)
                {
                if ((x->cert_info->version=M_ASN1_INTEGER_new()) == NULL)
@@ -104,7 +110,7 @@ int X509_set_subject_name(X509 *x, X509_NAME *name)
        return(X509_NAME_set(&x->cert_info->subject,name));
        }
 
-int X509_set_notBefore(X509 *x, ASN1_TIME *tm)
+int X509_set_notBefore(X509 *x, const ASN1_TIME *tm)
        {
        ASN1_TIME *in;
 
@@ -122,7 +128,7 @@ int X509_set_notBefore(X509 *x, ASN1_TIME *tm)
        return(in != NULL);
        }
 
-int X509_set_notAfter(X509 *x, ASN1_TIME *tm)
+int X509_set_notAfter(X509 *x, const ASN1_TIME *tm)
        {
        ASN1_TIME *in;