2b2d66d409
Including string.h in base.h causes any file that includes a BoringSSL header to include string.h. Generally this wouldn't be a problem, although string.h might slow down the compile if it wasn't otherwise needed. However, it also causes problems for ipsec-tools in Android because OpenSSL didn't have this behaviour. This change removes string.h from base.h and, instead, adds it to each .c file that requires it. Change-Id: I5968e50b0e230fd3adf9b72dd2836e6f52d6fb37 Reviewed-on: https://boringssl-review.googlesource.com/3200 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Adam Langley <agl@google.com> |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
obj_dat.h | ||
obj_dat.pl | ||
obj_error.c | ||
obj_mac.num | ||
obj_xref.c | ||
obj_xref.h | ||
obj_xref.pl | ||
obj_xref.txt | ||
obj.c | ||
objects.pl | ||
objects.txt | ||
README |
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