Generate a dictionary of OIDs for fuzzers
[openssl.git] / fuzz / mkfuzzoids.pl
1 #! /usr/bin/env perl
2 # Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved.
3 #
4 # Licensed under the OpenSSL license (the "License").  You may not use
5 # this file except in compliance with the License.  You can obtain a copy
6 # in the file LICENSE in the source distribution or at
7 # https://www.openssl.org/source/license.html
8
9 my $obj_dat_h = $ARGV[0];
10
11 open IN, '<', $obj_dat_h
12     || die "Couldn't open $obj_dat_h : $!\n";
13
14 while(<IN>) {
15     s|\R$||;                    # Better chomp
16
17     next unless m|^\s+((0x[0-9A-F][0-9A-F],)*)\s+/\*\s\[\s*\d+\]\s(OBJ_\w+)\s\*/$|;
18
19     my $OID = $1;
20     my $OBJname = $3;
21
22     $OID =~ s|0x|\\x|g;
23     $OID =~ s|,||g;
24
25     print "$OBJname=\"$OID\"\n";
26 }
27 close IN;