Loading CHANGES +21 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,27 @@ OpenSSL CHANGES _______________ Changes between 0.9.3a and 0.9.4 Changes between 0.9.3a and 0.9.4 [xx Jul/Aug/...? 1999] *) pem_password_cb function type incompatibly changed from typedef int pem_password_cb(char *buf, int size, int rwflag); to ....(char *buf, int size, int rwflag, void *userdata); so that applications can pass data to their callbacks: The PEM[_ASN1]_{read,write}... functions and macros now take an additional void * argument, which is just handed through whenever the password callback is called. [Damien Miller <dmiller@ilogic.com.au>, with tiny changes by Bodo Moeller] New function SSL_CTX_set_default_passwd_cb_userdata. Compatibility note: As many C implementations push function arguments onto the stack in reverse order, the new library version is likely to interoperate with programs that have been compiled with the old pem_password_cb definition (PEM_whatever takes some data that happens to be on the stack as its last argument, and the callback just ignores this garbage); but there is no guarantee whatsoever that this will work. *) The -DPLATFORM="\"$(PLATFORM)\"" definition and the similar -DCFLAGS=... (both in crypto/Makefile.ssl for use by crypto/cversion.c) caused Loading apps/ca.c +6 −6 Original line number Diff line number Diff line Loading @@ -499,10 +499,10 @@ bad: goto err; } if (key == NULL) pkey=PEM_read_bio_PrivateKey(in,NULL,NULL); pkey=PEM_read_bio_PrivateKey(in,NULL,NULL,NULL); else { pkey=PEM_read_bio_PrivateKey(in,NULL,key_callback); pkey=PEM_read_bio_PrivateKey(in,NULL,key_callback,NULL); memset(key,0,strlen(key)); } if (pkey == NULL) Loading @@ -525,7 +525,7 @@ bad: BIO_printf(bio_err,"trying to load CA certificate\n"); goto err; } x509=PEM_read_bio_X509(in,NULL,NULL); x509=PEM_read_bio_X509(in,NULL,NULL,NULL); if (x509 == NULL) { BIO_printf(bio_err,"unable to load CA certificate\n"); Loading Loading @@ -1146,7 +1146,7 @@ bad: BIO_printf(bio_err,"error trying to load '%s' certificate\n",infile); goto err; } x509=PEM_read_bio_X509(in,NULL,NULL); x509=PEM_read_bio_X509(in,NULL,NULL,NULL); if (x509 == NULL) { BIO_printf(bio_err,"unable to load '%s' certificate\n",infile); Loading Loading @@ -1340,7 +1340,7 @@ static int certify(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509, perror(infile); goto err; } if ((req=PEM_read_bio_X509_REQ(in,NULL,NULL)) == NULL) if ((req=PEM_read_bio_X509_REQ(in,NULL,NULL,NULL)) == NULL) { BIO_printf(bio_err,"Error reading certificate request in %s\n", infile); Loading Loading @@ -1400,7 +1400,7 @@ static int certify_cert(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509, perror(infile); goto err; } if ((req=PEM_read_bio_X509(in,NULL,NULL)) == NULL) if ((req=PEM_read_bio_X509(in,NULL,NULL,NULL)) == NULL) { BIO_printf(bio_err,"Error reading self signed certificate in %s\n",infile); goto err; Loading apps/crl.c +1 −1 Original line number Diff line number Diff line Loading @@ -280,7 +280,7 @@ static X509_CRL *load_crl(char *infile, int format) if (format == FORMAT_ASN1) x=d2i_X509_CRL_bio(in,NULL); else if (format == FORMAT_PEM) x=PEM_read_bio_X509_CRL(in,NULL,NULL); x=PEM_read_bio_X509_CRL(in,NULL,NULL,NULL); else { BIO_printf(bio_err,"bad input format specified for input crl\n"); goto end; Loading apps/crl2p7.c +2 −2 Original line number Diff line number Diff line Loading @@ -193,7 +193,7 @@ bad: if (informat == FORMAT_ASN1) crl=d2i_X509_CRL_bio(in,NULL); else if (informat == FORMAT_PEM) crl=PEM_read_bio_X509_CRL(in,NULL,NULL); crl=PEM_read_bio_X509_CRL(in,NULL,NULL,NULL); else { BIO_printf(bio_err,"bad input format specified for input crl\n"); goto end; Loading Loading @@ -304,7 +304,7 @@ static int add_certs_from_file(STACK_OF(X509) *stack, char *certfile) } /* This loads from a file, a stack of x509/crl/pkey sets */ sk=PEM_X509_INFO_read_bio(in,NULL,NULL); sk=PEM_X509_INFO_read_bio(in,NULL,NULL,NULL); if (sk == NULL) { BIO_printf(bio_err,"error reading the file, %s\n",certfile); goto end; Loading apps/dh.c +1 −1 Original line number Diff line number Diff line Loading @@ -194,7 +194,7 @@ bad: if (informat == FORMAT_ASN1) dh=d2i_DHparams_bio(in,NULL); else if (informat == FORMAT_PEM) dh=PEM_read_bio_DHparams(in,NULL,NULL); dh=PEM_read_bio_DHparams(in,NULL,NULL,NULL); else { BIO_printf(bio_err,"bad input format specified\n"); Loading Loading
CHANGES +21 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,27 @@ OpenSSL CHANGES _______________ Changes between 0.9.3a and 0.9.4 Changes between 0.9.3a and 0.9.4 [xx Jul/Aug/...? 1999] *) pem_password_cb function type incompatibly changed from typedef int pem_password_cb(char *buf, int size, int rwflag); to ....(char *buf, int size, int rwflag, void *userdata); so that applications can pass data to their callbacks: The PEM[_ASN1]_{read,write}... functions and macros now take an additional void * argument, which is just handed through whenever the password callback is called. [Damien Miller <dmiller@ilogic.com.au>, with tiny changes by Bodo Moeller] New function SSL_CTX_set_default_passwd_cb_userdata. Compatibility note: As many C implementations push function arguments onto the stack in reverse order, the new library version is likely to interoperate with programs that have been compiled with the old pem_password_cb definition (PEM_whatever takes some data that happens to be on the stack as its last argument, and the callback just ignores this garbage); but there is no guarantee whatsoever that this will work. *) The -DPLATFORM="\"$(PLATFORM)\"" definition and the similar -DCFLAGS=... (both in crypto/Makefile.ssl for use by crypto/cversion.c) caused Loading
apps/ca.c +6 −6 Original line number Diff line number Diff line Loading @@ -499,10 +499,10 @@ bad: goto err; } if (key == NULL) pkey=PEM_read_bio_PrivateKey(in,NULL,NULL); pkey=PEM_read_bio_PrivateKey(in,NULL,NULL,NULL); else { pkey=PEM_read_bio_PrivateKey(in,NULL,key_callback); pkey=PEM_read_bio_PrivateKey(in,NULL,key_callback,NULL); memset(key,0,strlen(key)); } if (pkey == NULL) Loading @@ -525,7 +525,7 @@ bad: BIO_printf(bio_err,"trying to load CA certificate\n"); goto err; } x509=PEM_read_bio_X509(in,NULL,NULL); x509=PEM_read_bio_X509(in,NULL,NULL,NULL); if (x509 == NULL) { BIO_printf(bio_err,"unable to load CA certificate\n"); Loading Loading @@ -1146,7 +1146,7 @@ bad: BIO_printf(bio_err,"error trying to load '%s' certificate\n",infile); goto err; } x509=PEM_read_bio_X509(in,NULL,NULL); x509=PEM_read_bio_X509(in,NULL,NULL,NULL); if (x509 == NULL) { BIO_printf(bio_err,"unable to load '%s' certificate\n",infile); Loading Loading @@ -1340,7 +1340,7 @@ static int certify(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509, perror(infile); goto err; } if ((req=PEM_read_bio_X509_REQ(in,NULL,NULL)) == NULL) if ((req=PEM_read_bio_X509_REQ(in,NULL,NULL,NULL)) == NULL) { BIO_printf(bio_err,"Error reading certificate request in %s\n", infile); Loading Loading @@ -1400,7 +1400,7 @@ static int certify_cert(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509, perror(infile); goto err; } if ((req=PEM_read_bio_X509(in,NULL,NULL)) == NULL) if ((req=PEM_read_bio_X509(in,NULL,NULL,NULL)) == NULL) { BIO_printf(bio_err,"Error reading self signed certificate in %s\n",infile); goto err; Loading
apps/crl.c +1 −1 Original line number Diff line number Diff line Loading @@ -280,7 +280,7 @@ static X509_CRL *load_crl(char *infile, int format) if (format == FORMAT_ASN1) x=d2i_X509_CRL_bio(in,NULL); else if (format == FORMAT_PEM) x=PEM_read_bio_X509_CRL(in,NULL,NULL); x=PEM_read_bio_X509_CRL(in,NULL,NULL,NULL); else { BIO_printf(bio_err,"bad input format specified for input crl\n"); goto end; Loading
apps/crl2p7.c +2 −2 Original line number Diff line number Diff line Loading @@ -193,7 +193,7 @@ bad: if (informat == FORMAT_ASN1) crl=d2i_X509_CRL_bio(in,NULL); else if (informat == FORMAT_PEM) crl=PEM_read_bio_X509_CRL(in,NULL,NULL); crl=PEM_read_bio_X509_CRL(in,NULL,NULL,NULL); else { BIO_printf(bio_err,"bad input format specified for input crl\n"); goto end; Loading Loading @@ -304,7 +304,7 @@ static int add_certs_from_file(STACK_OF(X509) *stack, char *certfile) } /* This loads from a file, a stack of x509/crl/pkey sets */ sk=PEM_X509_INFO_read_bio(in,NULL,NULL); sk=PEM_X509_INFO_read_bio(in,NULL,NULL,NULL); if (sk == NULL) { BIO_printf(bio_err,"error reading the file, %s\n",certfile); goto end; Loading
apps/dh.c +1 −1 Original line number Diff line number Diff line Loading @@ -194,7 +194,7 @@ bad: if (informat == FORMAT_ASN1) dh=d2i_DHparams_bio(in,NULL); else if (informat == FORMAT_PEM) dh=PEM_read_bio_DHparams(in,NULL,NULL); dh=PEM_read_bio_DHparams(in,NULL,NULL,NULL); else { BIO_printf(bio_err,"bad input format specified\n"); Loading