720ff53d07
This avoids having more generated bits. The table is quite small, especially so when we take out anything we don't implement. There's no real need to do the binary search. (Exotic things like GOST, the legacy NID_rsa and NID_dsa_2 spellings of RSA and DSA, and hash functions we don't implement.) Mostly this saves me from having to reimplement obj_xref.pl. (obj_xref.pl processes nid.h, formerly obj_mac.h, so we can't just use the existing one and still change nid.h.) Change-Id: I90911277e691a8b04ea8930f3f314d517f314d29 Reviewed-on: https://boringssl-review.googlesource.com/12962 Commit-Queue: David Benjamin <davidben@google.com> Reviewed-by: Adam Langley <agl@google.com>
32 lines
1.2 KiB
Plaintext
32 lines
1.2 KiB
Plaintext
OID information is generated via a series of perl scripts. In order, the full
|
|
list of commands to run are:
|
|
|
|
perl objects.pl objects.txt obj_mac.num ../../include/openssl/nid.h
|
|
perl obj_dat.pl ../../include/openssl/nid.h obj_dat.h
|
|
|
|
objects.txt contains the list of all built-in OIDs. It is processed by
|
|
objects.pl to output obj_mac.num and nid.h. obj_mac.num is the list of NID
|
|
values for each OID. This is an input/output parameter so NID values are stable
|
|
across regenerations. nid.h is the header which defines macros for all the
|
|
built-in OIDs in C.
|
|
|
|
nid.h is read by obj_dat.pl to generate obj_dat.h. obj_dat.h contains the
|
|
ASN1_OBJECTs corresponding to built-in OIDs themselves along with lookup tables
|
|
for search by short name, OID, etc.
|
|
|
|
Dependency graph:
|
|
|
|
objects.txt
|
|
|
|
|
V
|
|
[objects.pl] <--+
|
|
/ \ |
|
|
V V |
|
|
nid.h obj_mac.num
|
|
|
|
|
V
|
|
[obj_dat.pl]
|
|
|
|
|
V
|
|
obj_dat.h
|