summaryrefslogtreecommitdiffstats
path: root/crypto/objects
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>1999-08-11 13:08:58 +0000
committerDr. Stephen Henson <steve@openssl.org>1999-08-11 13:08:58 +0000
commitfd52057729fcf050734882069e6fa3f02b555cd2 (patch)
tree1dc6553e5ffd1b7b9eb11ce5178abb0175a55285 /crypto/objects
parent8b94634428fc4dd07e2946bde3ed6d1686605e5d (diff)
Add functions to allow extensions to be added to certificate requests.
Modify obj_dat.pl to take its files from the command line. Usage is now perl obj_dat.pl objects.h obj_dat.h this should avoid redirection shell escape problems under Win32.
Diffstat (limited to 'crypto/objects')
-rw-r--r--crypto/objects/Makefile.ssl2
-rw-r--r--crypto/objects/obj_dat.pl54
2 files changed, 31 insertions, 25 deletions
diff --git a/crypto/objects/Makefile.ssl b/crypto/objects/Makefile.ssl
index a3a15c13c1..8b15ab0d6c 100644
--- a/crypto/objects/Makefile.ssl
+++ b/crypto/objects/Makefile.ssl
@@ -38,7 +38,7 @@ top:
all: obj_dat.h lib
obj_dat.h: objects.h obj_dat.pl
- $(PERL) ./obj_dat.pl < objects.h > obj_dat.h
+ $(PERL) ./obj_dat.pl objects.h obj_dat.h
lib: $(LIBOBJ)
$(AR) $(LIB) $(LIBOBJ)
diff --git a/crypto/objects/obj_dat.pl b/crypto/objects/obj_dat.pl
index 5043daef2a..e6e3c3b9c0 100644
--- a/crypto/objects/obj_dat.pl
+++ b/crypto/objects/obj_dat.pl
@@ -38,7 +38,10 @@ sub expand_obj
return(%objn);
}
-while (<>)
+open (IN,"$ARGV[0]") || die "Can't open input file $ARGV[0]";
+open (OUT,">$ARGV[1]") || die "Can't open output file $ARGV[1]";
+
+while (<IN>)
{
next unless /^\#define\s+(\S+)\s+(.*)$/;
$v=$1;
@@ -55,6 +58,7 @@ while (<>)
$objd{$v}=$d;
}
}
+close IN;
%ob=&expand_obj(*objd);
@@ -132,7 +136,7 @@ foreach (sort obj_cmp @a)
push(@ob,sprintf("&(nid_objs[%2d]),/* %-32s %s */\n",$_,$m,$v));
}
-print <<'EOF';
+print OUT <<'EOF';
/* lib/obj/obj_dat.h */
/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
* All rights reserved.
@@ -193,21 +197,21 @@ print <<'EOF';
/* THIS FILE IS GENERATED FROM Objects.h by obj_dat.pl via the
* following command:
- * perl obj_dat.pl < objects.h > obj_dat.h
+ * perl obj_dat.pl objects.h obj_dat.h
*/
EOF
-printf "#define NUM_NID %d\n",$n;
-printf "#define NUM_SN %d\n",$#sn+1;
-printf "#define NUM_LN %d\n",$#ln+1;
-printf "#define NUM_OBJ %d\n\n",$#ob+1;
+printf OUT "#define NUM_NID %d\n",$n;
+printf OUT "#define NUM_SN %d\n",$#sn+1;
+printf OUT "#define NUM_LN %d\n",$#ln+1;
+printf OUT "#define NUM_OBJ %d\n\n",$#ob+1;
-printf "static unsigned char lvalues[%d]={\n",$lvalues+1;
-print @lvalues;
-print "};\n\n";
+printf OUT "static unsigned char lvalues[%d]={\n",$lvalues+1;
+print OUT @lvalues;
+print OUT "};\n\n";
-printf "static ASN1_OBJECT nid_objs[NUM_NID]={\n";
+printf OUT "static ASN1_OBJECT nid_objs[NUM_NID]={\n";
foreach (@out)
{
if (length($_) > 75)
@@ -218,30 +222,32 @@ foreach (@out)
$t=$out.$_.",";
if (length($t) > 70)
{
- print "$out\n";
+ print OUT "$out\n";
$t="\t$_,";
}
$out=$t;
}
chop $out;
- print "$out";
+ print OUT "$out";
}
else
- { print $_; }
+ { print OUT $_; }
}
-print "};\n\n";
+print OUT "};\n\n";
+
+printf OUT "static ASN1_OBJECT *sn_objs[NUM_SN]={\n";
+print OUT @sn;
+print OUT "};\n\n";
-printf "static ASN1_OBJECT *sn_objs[NUM_SN]={\n";
-print @sn;
-print "};\n\n";
+printf OUT "static ASN1_OBJECT *ln_objs[NUM_LN]={\n";
+print OUT @ln;
+print OUT "};\n\n";
-printf "static ASN1_OBJECT *ln_objs[NUM_LN]={\n";
-print @ln;
-print "};\n\n";
+printf OUT "static ASN1_OBJECT *obj_objs[NUM_OBJ]={\n";
+print OUT @ob;
+print OUT "};\n\n";
-printf "static ASN1_OBJECT *obj_objs[NUM_OBJ]={\n";
-print @ob;
-print "};\n\n";
+close OUT;
sub der_it
{