Commit 5fd4e2b1 authored by Bodo Möller's avatar Bodo Möller
Browse files

Don#t auto-generate crypto/pem/pem.h -- a fixed file is fine for it.

Submitted by:
Reviewed by:
PR:
parent f73e07cf
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -5,6 +5,9 @@

 Changes between 0.9.2b and 0.9.3

  *) Don't auto-generate pem.h.
     [Bodo Moeller]

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

+26 −26
Original line number Diff line number Diff line
@@ -236,9 +236,9 @@ my %table=(

# Miscellaneous hacks: this is designed to allow environments where the "one
# makefile" option does not auto build all files.
# The first six fields are the hard coded versions of the stuff generated by
# ctx_size for pem.h: that is EVP_ENCODE_CTX_SIZE, EVP_MD_SIZE EVP_MD_CTX_SIZE,
# EVP_CIPHER_SIZE, EVP_CIPHER_CTX_SIZE and EVP_MAX_MD_SIZE respectively.
## # The first six fields are the hard coded versions of the stuff generated by
## # ctx_size for pem.h: that is EVP_ENCODE_CTX_SIZE, EVP_MD_SIZE EVP_MD_CTX_SIZE,
## # EVP_CIPHER_SIZE, EVP_CIPHER_CTX_SIZE and EVP_MAX_MD_SIZE respectively.
# If the seventh field is 1 then auto generate
# crypto/date.h
# Need to add Win16 and others here.
@@ -636,12 +636,12 @@ if(defined $misc_table{$target}) {
		$max_md_size, $date_fix) = 
		split(/\s*:\s*/,$misc_table{$target} . ":", -1);

#print "EVP_ENCODE_CTX_SIZE $enc_ctx\n";
#print "EVP_MD_SIZE $md_size\n";
#print "EVP_MD_CTX_SIZE $md_ctx_size\n";
#print "EVP_CIPHER_SIZE $cipher_size\n";
#print "EVP_CIPHER_CTX_SIZE $cipher_ctx_size\n";
#print "EVP_MAX_MD_SIZE $max_md_size\n";
## #print "EVP_ENCODE_CTX_SIZE $enc_ctx\n";
## #print "EVP_MD_SIZE $md_size\n";
## #print "EVP_MD_CTX_SIZE $md_ctx_size\n";
## #print "EVP_CIPHER_SIZE $cipher_size\n";
## #print "EVP_CIPHER_CTX_SIZE $cipher_ctx_size\n";
## #print "EVP_MAX_MD_SIZE $max_md_size\n";
#printf "Date fix: %s\n", $date_fix ? "Yes" : "No";

# Fix the date
@@ -652,23 +652,23 @@ if($date_fix) {
	close(OUT);
}

open (IN, "crypto/pem/pem.org") || die "Can't open crypto/pem/pem.org";
open (OUT, ">crypto/pem/pem.h") || die "Can't create crypto/pem/pem.h";

# Now fix up pem.h
while(<IN>) {
	chop;
	s/^(#define EVP_ENCODE_CTX_SIZE).*$/$1 $enc_ctx/;
	s/^(#define EVP_MD_SIZE).*$/$1 $md_size/;
	s/^(#define EVP_MD_CTX_SIZE).*$/$1 $md_ctx_size/;
	s/^(#define EVP_CIPHER_SIZE).*$/$1 $cipher_size/;
	s/^(#define EVP_CIPHER_CTX_SIZE).*$/$1 $cipher_ctx_size/;
	s/^(#define EVP_MAX_MD_SIZE).*$/$1 $max_md_size/;
	print OUT "$_\n";
}

close (IN);
close (OUT);
## open (IN, "crypto/pem/pem.org") || die "Can't open crypto/pem/pem.org";
## open (OUT, ">crypto/pem/pem.h") || die "Can't create crypto/pem/pem.h";
## 
## # Now fix up pem.h
## while(<IN>) {
## 	chop;
## 	s/^(#define EVP_ENCODE_CTX_SIZE).*$/$1 $enc_ctx/;
## 	s/^(#define EVP_MD_SIZE).*$/$1 $md_size/;
## 	s/^(#define EVP_MD_CTX_SIZE).*$/$1 $md_ctx_size/;
## 	s/^(#define EVP_CIPHER_SIZE).*$/$1 $cipher_size/;
## 	s/^(#define EVP_CIPHER_CTX_SIZE).*$/$1 $cipher_ctx_size/;
## 	s/^(#define EVP_MAX_MD_SIZE).*$/$1 $max_md_size/;
## 	print OUT "$_\n";
## }
## 
## close (IN);
## close (OUT);


}
+3 −13
Original line number Diff line number Diff line
@@ -21,8 +21,6 @@ GENERAL=Makefile
TEST=
APPS=

CTX_SIZE= ctx_size

LIB=$(TOP)/libcrypto.a
LIBSRC= pem_sign.c pem_seal.c pem_info.c pem_lib.c pem_all.c $(ERRC).c

@@ -38,15 +36,7 @@ ALL= $(GENERAL) $(SRC) $(HEADER)
top:
	(cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all)

all:	pem.h lib

pem.h: $(CTX_SIZE) pem.org
	./$(CTX_SIZE) <pem.org >pem.new
	if [ -f pem.h ]; then mv -f pem.h pem.old; fi
	mv -f pem.new pem.h

$(CTX_SIZE): $(CTX_SIZE).o
	$(CC) $(CFLAGS) -o $(CTX_SIZE) $(CTX_SIZE).o
all:	lib

lib:	$(LIBOBJ)
	$(AR) $(LIB) $(LIBOBJ)
@@ -78,14 +68,14 @@ lint:
	lint -DLINT $(INCLUDES) $(SRC)>fluff

depend:
	$(MAKEDEPEND) $(INCLUDES) $(CTX_SIZE).c $(LIBSRC)
	$(MAKEDEPEND) $(INCLUDES) $(LIBSRC)

dclean:
	$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
	mv -f Makefile.new $(MAKEFILE)

clean:
	rm -f $(CTX_SIZE) *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
	rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff

errors: $(ERRC).c

crypto/pem/ctx_size.c

deleted100644 → 0
+0 −122
Original line number Diff line number Diff line
/* crypto/pem/ctx_size.c */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
 * All rights reserved.
 *
 * This package is an SSL implementation written
 * by Eric Young (eay@cryptsoft.com).
 * The implementation was written so as to conform with Netscapes SSL.
 * 
 * This library is free for commercial and non-commercial use as long as
 * the following conditions are aheared to.  The following conditions
 * apply to all code found in this distribution, be it the RC4, RSA,
 * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
 * included with this distribution is covered by the same copyright terms
 * except that the holder is Tim Hudson (tjh@cryptsoft.com).
 * 
 * Copyright remains Eric Young's, and as such any Copyright notices in
 * the code are not to be removed.
 * If this package is used in a product, Eric Young should be given attribution
 * as the author of the parts of the library used.
 * This can be in the form of a textual message at program startup or
 * in documentation (online or textual) provided with the package.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *    "This product includes cryptographic software written by
 *     Eric Young (eay@cryptsoft.com)"
 *    The word 'cryptographic' can be left out if the rouines from the library
 *    being used are not cryptographic related :-).
 * 4. If you include any Windows specific code (or a derivative thereof) from 
 *    the apps directory (application code) you must include an acknowledgement:
 *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
 * 
 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 * 
 * The licence and distribution terms for any publically available version or
 * derivative of this code cannot be changed.  i.e. this code cannot simply be
 * copied and put under another distribution licence
 * [including the GNU Public Licence.]
 */

#include <stdio.h>
#include <string.h>
#include "evp.h"

int main(argc,argv)
int argc;
char *argv[];
	{
	int i,j;
	char buf[256];

	for (;;)
		{
		char *str;
		buf[0]='\0';
		fgets(buf,256,stdin);
		if (buf[0] == '\0') break;

		str="#define EVP_ENCODE_CTX_SIZE ";
		if (strncmp(buf,str,strlen(str)) == 0)
			{
			printf("%s %d\n",str,(int)sizeof(EVP_ENCODE_CTX));
			continue;
			}
		str="#define EVP_MD_SIZE ";
		if (strncmp(buf,str,strlen(str)) == 0)
			{
			printf("%s %d\n",str,(int)sizeof(EVP_MD));
			continue;
			}
		str="#define EVP_MD_CTX_SIZE ";
		if (strncmp(buf,str,strlen(str)) == 0)
			{
			printf("%s %d\n",str,(int)sizeof(EVP_MD_CTX));
			continue;
			}
		str="#define EVP_CIPHER_SIZE ";
		if (strncmp(buf,str,strlen(str)) == 0)
			{
			printf("%s %d\n",str,(int)sizeof(EVP_CIPHER));
			continue;
			}
		str="#define EVP_CIPHER_CTX_SIZE ";
		if (strncmp(buf,str,strlen(str)) == 0)
			{
			printf("%s %d\n",str,(int)sizeof(EVP_CIPHER_CTX));
			continue;
			}

		str="#define EVP_MAX_MD_SIZE ";
		if (strncmp(buf,str,strlen(str)) == 0)
			{
			i=MD2_DIGEST_LENGTH;
			j=MD5_DIGEST_LENGTH;
			if (j > i) i=j;
			j=SHA_DIGEST_LENGTH;
			if (j > i) i=j;
			printf("%s %d\n",str,i);
			continue;
			}
		fputs(buf,stdout);
		}
	exit(0);
	}
+0 −30
Original line number Diff line number Diff line
@@ -121,36 +121,6 @@ extern "C" {
#define PEM_STRING_SSL_SESSION	"SSL SESSION PARAMETERS"
#define PEM_STRING_DSAPARAMS	"DSA PARAMETERS"

#ifndef HEADER_ENVELOPE_H

#define EVP_ENCODE_CTX_SIZE  92
#define EVP_MD_SIZE  48
#define EVP_MD_CTX_SIZE  152
#define EVP_CIPHER_SIZE  28
#define EVP_CIPHER_CTX_SIZE  4212
#define EVP_MAX_MD_SIZE  20

typedef struct evp_encode_ctx_st
	{
	char data[EVP_ENCODE_CTX_SIZE];
	} EVP_ENCODE_CTX;

typedef struct env_md_ctx_st
	{
	char data[EVP_MD_CTX_SIZE];
	} EVP_MD_CTX;

typedef struct evp_cipher_st
	{
	char data[EVP_CIPHER_SIZE];
	} EVP_CIPHER;

typedef struct evp_cipher_ctx_st
	{
	char data[EVP_CIPHER_CTX_SIZE];
	} EVP_CIPHER_CTX;
#endif


typedef struct PEM_Encode_Seal_st
	{