openssl/fuzz/mkfuzzoids.pl
Richard Levitte 8e32e1abbc Generate a dictionary of OIDs for fuzzers
It turns out that (some?) fuzzers can read a dictionary of OIDs,
so we generate one as part of the usual 'make update'.

Fixes #4615

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
(Merged from https://github.com/openssl/openssl/pull/4637)
2017-10-31 20:08:48 +01:00

28 lines
719 B
Perl
Executable File

#! /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;