Commit f73e07cf authored by Ben Laurie's avatar Ben Laurie
Browse files

Add type-safe STACKs and SETs.

parent a36a1a51
Loading
Loading
Loading
Loading
+10 −0
Changes for CHANGES: 10 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -5,6 +5,16 @@

 Changes between 0.9.2b and 0.9.3

  *) Introduce type-safe ASN.1 SETs.
     [Ben Laurie]

  *) Introduce type-safe STACKs. This will almost certainly break lots of code
     that links with OpenSSL (well at least cause lots of warnings), but fear
     not: the conversion is trivial, and it eliminates loads of evil casts. A
     few STACKed things have been converted already. Feel free to convert more.
     In the fullness of time, I'll do away with the STACK type altogether.
     [Ben Laurie]

  *) Add `openssl ca -revoke <certfile>' facility which revokes a certificate
     specified in <certfile> by updating the entry in the index.txt file.
     This way one no longer has to edit the index.txt file manually for
+96 −83

File changed.

Preview size limit exceeded, changes collapsed.

+3 −3
Changes for apps/ciphers.c: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -89,7 +89,7 @@ char **argv;
	SSL *ssl=NULL;
	char *ciphers=NULL;
	SSL_METHOD *meth=NULL;
	STACK *sk;
	STACK_OF(SSL_CIPHER) *sk;
	char buf[512];
	BIO *STDout=NULL;

@@ -167,10 +167,10 @@ char **argv;
		{
		sk=SSL_get_ciphers(ssl);

		for (i=0; i<sk_num(sk); i++)
		for (i=0; i<sk_SSL_CIPHER_num(sk); i++)
			{
			BIO_puts(STDout,SSL_CIPHER_description(
				(SSL_CIPHER *)sk_value(sk,i),
				sk_SSL_CIPHER_value(sk,i),
				buf,512));
			}
		}
+5 −5
Changes for apps/crl2p7.c: 5 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@
#include "objects.h"

#ifndef NOPROTO
static int add_certs_from_file(STACK *stack, char *certfile);
static int add_certs_from_file(STACK_OF(X509) *stack, char *certfile);
#else
static int add_certs_from_file();
#endif
@@ -100,7 +100,7 @@ char **argv;
	X509_CRL *crl=NULL;
	STACK *certflst=NULL;
	STACK *crl_stack=NULL;
	STACK *cert_stack=NULL;
	STACK_OF(X509) *cert_stack=NULL;
	int ret=1,nocrl=0;

	apps_startup();
@@ -228,7 +228,7 @@ bad:
		crl=NULL; /* now part of p7 for Freeing */
		}

	if ((cert_stack=sk_new(NULL)) == NULL) goto end;
	if ((cert_stack=sk_X509_new(NULL)) == NULL) goto end;
	p7s->cert=cert_stack;

	if(certflst) for(i = 0; i < sk_num(certflst); i++) {
@@ -289,7 +289,7 @@ end:
 *----------------------------------------------------------------------
 */
static int add_certs_from_file(stack,certfile)
STACK *stack;
STACK_OF(X509) *stack;
char *certfile;
	{
	struct stat st;
@@ -325,7 +325,7 @@ char *certfile;
		xi=(X509_INFO *)sk_shift(sk);
		if (xi->x509 != NULL)
			{
			sk_push(stack,(char *)xi->x509);
			sk_X509_push(stack,xi->x509);
			xi->x509=NULL;
			count++;
			}
+3 −3
Changes for apps/pkcs7.c: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -223,7 +223,7 @@ bad:

	if (print_certs)
		{
		STACK *certs=NULL;
		STACK_OF(X509) *certs=NULL;
		STACK *crls=NULL;

		i=OBJ_obj2nid(p7->type);
@@ -245,9 +245,9 @@ bad:
			{
			X509 *x;

			for (i=0; i<sk_num(certs); i++)
			for (i=0; i<sk_X509_num(certs); i++)
				{
				x=(X509 *)sk_value(certs,i);
				x=sk_X509_value(certs,i);

				X509_NAME_oneline(X509_get_subject_name(x),
					buf,256);
Loading