Don#t auto-generate crypto/pem/pem.h -- a fixed file is fine for it.
Submitted by: Reviewed by: PR:
This commit is contained in:
parent
f73e07cf42
commit
5fd4e2b16b
3
CHANGES
3
CHANGES
@ -5,6 +5,9 @@
|
|||||||
|
|
||||||
Changes between 0.9.2b and 0.9.3
|
Changes between 0.9.2b and 0.9.3
|
||||||
|
|
||||||
|
*) Don't auto-generate pem.h.
|
||||||
|
[Bodo Moeller]
|
||||||
|
|
||||||
*) Introduce type-safe ASN.1 SETs.
|
*) Introduce type-safe ASN.1 SETs.
|
||||||
[Ben Laurie]
|
[Ben Laurie]
|
||||||
|
|
||||||
|
52
Configure
52
Configure
@ -236,9 +236,9 @@ my %table=(
|
|||||||
|
|
||||||
# Miscellaneous hacks: this is designed to allow environments where the "one
|
# Miscellaneous hacks: this is designed to allow environments where the "one
|
||||||
# makefile" option does not auto build all files.
|
# makefile" option does not auto build all files.
|
||||||
# The first six fields are the hard coded versions of the stuff generated by
|
## # 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,
|
## # 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.
|
## # EVP_CIPHER_SIZE, EVP_CIPHER_CTX_SIZE and EVP_MAX_MD_SIZE respectively.
|
||||||
# If the seventh field is 1 then auto generate
|
# If the seventh field is 1 then auto generate
|
||||||
# crypto/date.h
|
# crypto/date.h
|
||||||
# Need to add Win16 and others here.
|
# Need to add Win16 and others here.
|
||||||
@ -636,12 +636,12 @@ if(defined $misc_table{$target}) {
|
|||||||
$max_md_size, $date_fix) =
|
$max_md_size, $date_fix) =
|
||||||
split(/\s*:\s*/,$misc_table{$target} . ":", -1);
|
split(/\s*:\s*/,$misc_table{$target} . ":", -1);
|
||||||
|
|
||||||
#print "EVP_ENCODE_CTX_SIZE $enc_ctx\n";
|
## #print "EVP_ENCODE_CTX_SIZE $enc_ctx\n";
|
||||||
#print "EVP_MD_SIZE $md_size\n";
|
## #print "EVP_MD_SIZE $md_size\n";
|
||||||
#print "EVP_MD_CTX_SIZE $md_ctx_size\n";
|
## #print "EVP_MD_CTX_SIZE $md_ctx_size\n";
|
||||||
#print "EVP_CIPHER_SIZE $cipher_size\n";
|
## #print "EVP_CIPHER_SIZE $cipher_size\n";
|
||||||
#print "EVP_CIPHER_CTX_SIZE $cipher_ctx_size\n";
|
## #print "EVP_CIPHER_CTX_SIZE $cipher_ctx_size\n";
|
||||||
#print "EVP_MAX_MD_SIZE $max_md_size\n";
|
## #print "EVP_MAX_MD_SIZE $max_md_size\n";
|
||||||
#printf "Date fix: %s\n", $date_fix ? "Yes" : "No";
|
#printf "Date fix: %s\n", $date_fix ? "Yes" : "No";
|
||||||
|
|
||||||
# Fix the date
|
# Fix the date
|
||||||
@ -652,23 +652,23 @@ if($date_fix) {
|
|||||||
close(OUT);
|
close(OUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
open (IN, "crypto/pem/pem.org") || die "Can't open crypto/pem/pem.org";
|
## 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";
|
## open (OUT, ">crypto/pem/pem.h") || die "Can't create crypto/pem/pem.h";
|
||||||
|
##
|
||||||
# Now fix up pem.h
|
## # Now fix up pem.h
|
||||||
while(<IN>) {
|
## while(<IN>) {
|
||||||
chop;
|
## chop;
|
||||||
s/^(#define EVP_ENCODE_CTX_SIZE).*$/$1 $enc_ctx/;
|
## s/^(#define EVP_ENCODE_CTX_SIZE).*$/$1 $enc_ctx/;
|
||||||
s/^(#define EVP_MD_SIZE).*$/$1 $md_size/;
|
## s/^(#define EVP_MD_SIZE).*$/$1 $md_size/;
|
||||||
s/^(#define EVP_MD_CTX_SIZE).*$/$1 $md_ctx_size/;
|
## s/^(#define EVP_MD_CTX_SIZE).*$/$1 $md_ctx_size/;
|
||||||
s/^(#define EVP_CIPHER_SIZE).*$/$1 $cipher_size/;
|
## s/^(#define EVP_CIPHER_SIZE).*$/$1 $cipher_size/;
|
||||||
s/^(#define EVP_CIPHER_CTX_SIZE).*$/$1 $cipher_ctx_size/;
|
## s/^(#define EVP_CIPHER_CTX_SIZE).*$/$1 $cipher_ctx_size/;
|
||||||
s/^(#define EVP_MAX_MD_SIZE).*$/$1 $max_md_size/;
|
## s/^(#define EVP_MAX_MD_SIZE).*$/$1 $max_md_size/;
|
||||||
print OUT "$_\n";
|
## print OUT "$_\n";
|
||||||
}
|
## }
|
||||||
|
##
|
||||||
close (IN);
|
## close (IN);
|
||||||
close (OUT);
|
## close (OUT);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -21,8 +21,6 @@ GENERAL=Makefile
|
|||||||
TEST=
|
TEST=
|
||||||
APPS=
|
APPS=
|
||||||
|
|
||||||
CTX_SIZE= ctx_size
|
|
||||||
|
|
||||||
LIB=$(TOP)/libcrypto.a
|
LIB=$(TOP)/libcrypto.a
|
||||||
LIBSRC= pem_sign.c pem_seal.c pem_info.c pem_lib.c pem_all.c $(ERRC).c
|
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:
|
top:
|
||||||
(cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all)
|
(cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all)
|
||||||
|
|
||||||
all: pem.h lib
|
all: 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
|
|
||||||
|
|
||||||
lib: $(LIBOBJ)
|
lib: $(LIBOBJ)
|
||||||
$(AR) $(LIB) $(LIBOBJ)
|
$(AR) $(LIB) $(LIBOBJ)
|
||||||
@ -78,14 +68,14 @@ lint:
|
|||||||
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
$(MAKEDEPEND) $(INCLUDES) $(CTX_SIZE).c $(LIBSRC)
|
$(MAKEDEPEND) $(INCLUDES) $(LIBSRC)
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
||||||
mv -f Makefile.new $(MAKEFILE)
|
mv -f Makefile.new $(MAKEFILE)
|
||||||
|
|
||||||
clean:
|
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
|
errors: $(ERRC).c
|
||||||
|
|
||||||
|
@ -1,122 +0,0 @@
|
|||||||
/* 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);
|
|
||||||
}
|
|
@ -121,36 +121,6 @@ extern "C" {
|
|||||||
#define PEM_STRING_SSL_SESSION "SSL SESSION PARAMETERS"
|
#define PEM_STRING_SSL_SESSION "SSL SESSION PARAMETERS"
|
||||||
#define PEM_STRING_DSAPARAMS "DSA 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
|
typedef struct PEM_Encode_Seal_st
|
||||||
{
|
{
|
Loading…
x
Reference in New Issue
Block a user