boringssl/crypto/obj
David Benjamin 34a1635b3f Remove fake RLE compression OID.
(obj_dat.h and obj_mac.h are generated from the objects.txt change.)

See upstream's 3c161d081e2d30549e787437d05ffa08122a5114. Also see upstream's
12048657a91b12e499d03ec9ff406b42aba67366 to give zlib a better comment.

Change-Id: I86937f037f8e0f6179ba8072ccd972eca773c7ce
Reviewed-on: https://boringssl-review.googlesource.com/4882
Reviewed-by: Adam Langley <agl@google.com>
2015-05-27 21:49:39 +00:00
..
CMakeLists.txt Precompute sorted array for error strings. 2015-02-09 17:35:31 -08:00
obj_dat.h Remove fake RLE compression OID. 2015-05-27 21:49:39 +00:00
obj_dat.pl Add documentation for the OID scripts. 2014-12-04 22:12:26 +00:00
obj_mac.num Restore obj_mac.num from upstream. 2014-12-04 22:12:55 +00:00
obj_xref.c Inital import. 2014-06-20 13:17:32 -07:00
obj_xref.h Renegerate OID outputs. 2014-12-04 22:13:50 +00:00
obj_xref.pl Add documentation for the OID scripts. 2014-12-04 22:12:26 +00:00
obj_xref.txt Inital import. 2014-06-20 13:17:32 -07:00
obj.c Remove unnecessary NULL checks, part 4. 2015-05-04 23:13:12 +00:00
objects.pl Keep the obj_mac.h license header round-tripping. 2014-12-04 22:13:17 +00:00
objects.txt Remove fake RLE compression OID. 2015-05-27 21:49:39 +00:00
README Add documentation for the OID scripts. 2014-12-04 22:12:26 +00:00

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/obj_mac.h
        perl obj_dat.pl ../../include/openssl/obj_mac.h obj_dat.h
        perl obj_xref.pl obj_mac.num obj_xref.txt > obj_xref.h

objects.txt contains the list of all built-in OIDs. It is processed by
objects.pl to output obj_mac.num and obj_mac.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. obj_mac.h is the header which defines macros for all the
built-in OIDs in C.

obj_mac.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.

obj_mac.num and obj_xref.txt are read by obj_xref.pl to generate
obj_xref.h. obj_xref.txt links signature OIDs to corresponding public key
algorithms and digests. obj_xref.h contains lookup tables for querying this
information in both directions.

Dependency graph:

                        objects.txt
                            |
                            V
                       [objects.pl] <--+
                         /      \      |
                        V        V     |
                  obj_mac.h    obj_mac.num  obj_xref.txt
                      |              \      /
                      V               V    V
                 [obj_dat.pl]      [obj_xref.pl]
                      |                  |
                      V                  V
                  obj_dat.h         obj_xref.h