summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Configurations/unix-Makefile.tmpl7
-rwxr-xr-xfuzz/mkfuzzoids.pl27
2 files changed, 33 insertions, 1 deletions
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
index c9553cf6f7..617d3b91fb 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -612,7 +612,7 @@ uninstall_html_docs:
update: generate errors ordinals
generate: generate_apps generate_crypto_bn generate_crypto_objects \
- generate_crypto_conf generate_crypto_asn1
+ generate_crypto_conf generate_crypto_asn1 generate_fuzz_oids
doc-nits:
(cd $(SRCDIR); $(PERL) util/find-doc-nits -n -p ) >doc-nits
@@ -653,6 +653,11 @@ generate_crypto_asn1:
( cd $(SRCDIR); $(PERL) crypto/asn1/charmap.pl \
> crypto/asn1/charmap.h )
+generate_fuzz_oids:
+ ( cd $(SRCDIR); $(PERL) fuzz/mkfuzzoids.pl \
+ crypto/objects/obj_dat.h \
+ > fuzz/oids.txt )
+
# Set to -force to force a rebuild
ERROR_REBUILD=
errors:
diff --git a/fuzz/mkfuzzoids.pl b/fuzz/mkfuzzoids.pl
new file mode 100755
index 0000000000..4bf97bc152
--- /dev/null
+++ b/fuzz/mkfuzzoids.pl
@@ -0,0 +1,27 @@
+#! /usr/bin/env perl
+# Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the OpenSSL license (the "License"). You may not use
+# this file except in compliance with the License. You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+
+my $obj_dat_h = $ARGV[0];
+
+open IN, '<', $obj_dat_h
+ || die "Couldn't open $obj_dat_h : $!\n";
+
+while(<IN>) {
+ s|\R$||; # Better chomp
+
+ next unless m|^\s+((0x[0-9A-F][0-9A-F],)*)\s+/\*\s\[\s*\d+\]\s(OBJ_\w+)\s\*/$|;
+
+ my $OID = $1;
+ my $OBJname = $3;
+
+ $OID =~ s|0x|\\x|g;
+ $OID =~ s|,||g;
+
+ print "$OBJname=\"$OID\"\n";
+}
+close IN;