Fix cross-module errors.
Some files in crypto/x509 were moved from crypto/asn1, so they emit errors from
another module. Fix make_errors.go to account for this: cross module errors
must use the foreign module as the first argument to OPENSSL_PUT_ERROR. Both
the function code and the error code should be declared in the foreign module.
Update make_errors.go to ignore cross-module error lines when deciding which
function tokens to emit.
Change-Id: Ic38377ddd56e22d033ef91318c30510762f6445d
Reviewed-on: https://boringssl-review.googlesource.com/3383
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/crypto/asn1/asn1_lib.c b/crypto/asn1/asn1_lib.c
index 1fc2c06..22b441c 100644
--- a/crypto/asn1/asn1_lib.c
+++ b/crypto/asn1/asn1_lib.c
@@ -63,8 +63,46 @@
#include <openssl/err.h>
#include <openssl/mem.h>
+
+/* Used in asn1_mac.h.
+ * TODO(davidben): Remove this once asn1_mac.h is gone or trimmed. */
OPENSSL_DECLARE_ERROR_REASON(ASN1, MALLOC_FAILURE);
+/* Cross-module errors from crypto/x509/i2d_pr.c */
+OPENSSL_DECLARE_ERROR_FUNCTION(ASN1, i2d_PrivateKey);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, UNSUPPORTED_PUBLIC_KEY_TYPE);
+
+/* Cross-module errors from crypto/x509/asn1_gen.c.
+ * TODO(davidben): Remove these once asn1_gen.c is gone. */
+OPENSSL_DECLARE_ERROR_FUNCTION(ASN1, ASN1_generate_v3);
+OPENSSL_DECLARE_ERROR_FUNCTION(ASN1, asn1_cb);
+OPENSSL_DECLARE_ERROR_FUNCTION(ASN1, parse_tagging);
+OPENSSL_DECLARE_ERROR_FUNCTION(ASN1, append_exp);
+OPENSSL_DECLARE_ERROR_FUNCTION(ASN1, asn1_str2type);
+OPENSSL_DECLARE_ERROR_FUNCTION(ASN1, bitstr_cb);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, DEPTH_EXCEEDED);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, ILLEGAL_BITSTRING_FORMAT);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, ILLEGAL_BOOLEAN);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, ILLEGAL_FORMAT);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, ILLEGAL_HEX);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, ILLEGAL_IMPLICIT_TAG);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, ILLEGAL_INTEGER);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, ILLEGAL_NESTED_TAGGING);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, ILLEGAL_NULL_VALUE);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, ILLEGAL_OBJECT);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, ILLEGAL_TIME_VALUE);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, INTEGER_NOT_ASCII_FORMAT);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, INVALID_MODIFIER);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, INVALID_NUMBER);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, LIST_ERROR);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, MISSING_VALUE);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, NOT_ASCII_FORMAT);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, OBJECT_NOT_ASCII_FORMAT);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, SEQUENCE_OR_SET_NEEDS_CONFIG);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, TIME_NOT_ASCII_FORMAT);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, UNKNOWN_FORMAT);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, UNKNOWN_TAG);
+OPENSSL_DECLARE_ERROR_REASON(ASN1, UNSUPPORTED_TYPE);
static int asn1_get_length(const unsigned char **pp,int *inf,long *rl,int max);
static void asn1_put_length(unsigned char **pp, int length);
diff --git a/crypto/err/asn1.errordata b/crypto/err/asn1.errordata
index bbe0e24..ac0ab29 100644
--- a/crypto/err/asn1.errordata
+++ b/crypto/err/asn1.errordata
@@ -13,6 +13,7 @@
ASN1,function,137,ASN1_UTCTIME_adj
ASN1,function,103,ASN1_d2i_fp
ASN1,function,101,ASN1_dup
+ASN1,function,161,ASN1_generate_v3
ASN1,function,158,ASN1_get_object
ASN1,function,145,ASN1_i2d_bio
ASN1,function,153,ASN1_i2d_fp
@@ -36,6 +37,8 @@
ASN1,function,160,a2i_ASN1_ENUMERATED
ASN1,function,114,a2i_ASN1_INTEGER
ASN1,function,102,a2i_ASN1_STRING
+ASN1,function,162,append_exp
+ASN1,function,163,asn1_cb
ASN1,function,152,asn1_check_tlen
ASN1,function,156,asn1_collate_primitive
ASN1,function,115,asn1_collect
@@ -45,8 +48,10 @@
ASN1,function,109,asn1_ex_c2i
ASN1,function,149,asn1_find_end
ASN1,function,105,asn1_item_ex_combine_new
+ASN1,function,164,asn1_str2type
ASN1,function,100,asn1_template_ex_d2i
ASN1,function,141,asn1_template_noexp_d2i
+ASN1,function,165,bitstr_cb
ASN1,function,142,c2i_ASN1_BIT_STRING
ASN1,function,110,c2i_ASN1_INTEGER
ASN1,function,118,c2i_ASN1_OBJECT
@@ -58,7 +63,9 @@
ASN1,function,159,d2i_ASN1_bytes
ASN1,function,113,d2i_ASN1_type_bytes
ASN1,function,131,i2d_ASN1_TIME
+ASN1,function,166,i2d_PrivateKey
ASN1,function,121,long_c2i
+ASN1,function,167,parse_tagging
ASN1,reason,101,ADDING_OBJECT
ASN1,reason,158,ASN1_LENGTH_MISMATCH
ASN1,reason,123,ASN1_PARSE_ERROR
diff --git a/crypto/err/err_data.h b/crypto/err/err_data.h
index 8961706..f5fa9dd 100644
--- a/crypto/err/err_data.h
+++ b/crypto/err/err_data.h
@@ -53,595 +53,602 @@
OPENSSL_COMPILE_ASSERT(ERR_NUM_LIBS == 33, library_values_changed_num);
static const uint32_t kFunctionValues[] = {
- 0xc320582,
- 0xc328669,
- 0xc33059f,
- 0xc3386a1,
- 0xc34065d,
- 0xc348670,
- 0xc350678,
- 0xc358696,
- 0xc3605e2,
- 0xc3685d1,
- 0xc370555,
- 0xc378621,
- 0xc380578,
- 0xc38858c,
- 0xc390593,
- 0xc3985f2,
- 0xc3a060c,
- 0xc3a856b,
- 0xc3b068e,
- 0xc3b8649,
- 0xc3c0560,
- 0xc3c8630,
- 0xc3d05a6,
- 0xc3d85bc,
- 0xc3e0686,
- 0x10321930,
- 0x103298a2,
- 0x103318b7,
- 0x10339972,
- 0x10341832,
- 0x10349967,
- 0x103519c8,
- 0x103599e4,
- 0x10361851,
- 0x1036999c,
- 0x10371812,
- 0x103799a3,
- 0x103817e2,
- 0x10389917,
- 0x1039188b,
- 0x103997d2,
- 0x103a186e,
- 0x103a978c,
- 0x103b17bc,
- 0x103b9994,
- 0x103c19db,
- 0x103c9803,
- 0x103d18d9,
- 0x103d995e,
- 0x103e17a3,
- 0x103e998c,
- 0x103f18f8,
- 0x103f9947,
- 0x104017f5,
- 0x104099b6,
- 0x143209e6,
- 0x143289d9,
- 0x143309cd,
- 0x143389bf,
- 0x183213d0,
- 0x18329236,
- 0x18331269,
- 0x1833934f,
- 0x183411ae,
- 0x1834920a,
- 0x183513ff,
- 0x183593e0,
- 0x18361112,
- 0x183691a0,
- 0x183712ec,
- 0x1837914a,
- 0x18381313,
- 0x183892c0,
- 0x183911c1,
- 0x183990eb,
- 0x183a115c,
- 0x183a92af,
- 0x183b127b,
- 0x183b9219,
- 0x183c132f,
- 0x183c90fc,
- 0x183d135c,
- 0x183d93ef,
- 0x183e140f,
- 0x183e9135,
- 0x183f11d1,
- 0x183f90bd,
- 0x18401245,
- 0x1840928d,
- 0x184111f7,
- 0x18419256,
- 0x18421181,
- 0x18429320,
- 0x1843133e,
- 0x1843904a,
- 0x18441097,
- 0x18449086,
- 0x1845106d,
- 0x1845918e,
- 0x184610ad,
- 0x1846916c,
- 0x18471229,
- 0x184792ff,
- 0x1848139a,
- 0x1848929e,
- 0x184910d2,
- 0x1849938c,
- 0x184a11e6,
- 0x184a92de,
- 0x184b141e,
- 0x184b9123,
- 0x184c137b,
- 0x184c936a,
- 0x184d12d1,
- 0x184d9028,
- 0x184e1010,
- 0x184e93aa,
- 0x184f105c,
- 0x1c3206ae,
- 0x1c3286d1,
- 0x1c3306c5,
- 0x1c3386ba,
- 0x20321451,
- 0x20329432,
- 0x2033143d,
- 0x20339445,
- 0x24321543,
- 0x243295fe,
- 0x24331589,
- 0x243395f0,
- 0x24341522,
- 0x24349510,
- 0x2435146b,
- 0x2435945d,
- 0x243614ef,
- 0x2436949f,
- 0x24371559,
- 0x24379507,
- 0x243814b2,
- 0x243894c9,
- 0x2439147d,
- 0x243995b6,
- 0x243a15ce,
- 0x243a9571,
- 0x243b1593,
- 0x243b948c,
- 0x243c14e1,
- 0x243c95a8,
- 0x243d15e5,
- 0x243d9536,
- 0x28320a39,
- 0x28328a49,
- 0x28330a2e,
- 0x28338a1f,
- 0x28340a3e,
+ 0xc3205db,
+ 0xc3286c2,
+ 0xc3305f8,
+ 0xc3386fa,
+ 0xc3406b6,
+ 0xc3486c9,
+ 0xc3506d1,
+ 0xc3586ef,
+ 0xc36063b,
+ 0xc36862a,
+ 0xc3705ae,
+ 0xc37867a,
+ 0xc3805d1,
+ 0xc3885e5,
+ 0xc3905ec,
+ 0xc39864b,
+ 0xc3a0665,
+ 0xc3a85c4,
+ 0xc3b06e7,
+ 0xc3b86a2,
+ 0xc3c05b9,
+ 0xc3c8689,
+ 0xc3d05ff,
+ 0xc3d8615,
+ 0xc3e06df,
+ 0x10321989,
+ 0x103298fb,
+ 0x10331910,
+ 0x103399cb,
+ 0x1034188b,
+ 0x103499c0,
+ 0x10351a21,
+ 0x10359a3d,
+ 0x103618aa,
+ 0x103699f5,
+ 0x1037186b,
+ 0x103799fc,
+ 0x1038183b,
+ 0x10389970,
+ 0x103918e4,
+ 0x1039982b,
+ 0x103a18c7,
+ 0x103a97e5,
+ 0x103b1815,
+ 0x103b99ed,
+ 0x103c1a34,
+ 0x103c985c,
+ 0x103d1932,
+ 0x103d99b7,
+ 0x103e17fc,
+ 0x103e99e5,
+ 0x103f1951,
+ 0x103f99a0,
+ 0x1040184e,
+ 0x10409a0f,
+ 0x14320a3f,
+ 0x14328a32,
+ 0x14330a26,
+ 0x14338a18,
+ 0x18321429,
+ 0x1832928f,
+ 0x183312c2,
+ 0x183393a8,
+ 0x18341207,
+ 0x18349263,
+ 0x18351458,
+ 0x18359439,
+ 0x1836116b,
+ 0x183691f9,
+ 0x18371345,
+ 0x183791a3,
+ 0x1838136c,
+ 0x18389319,
+ 0x1839121a,
+ 0x18399144,
+ 0x183a11b5,
+ 0x183a9308,
+ 0x183b12d4,
+ 0x183b9272,
+ 0x183c1388,
+ 0x183c9155,
+ 0x183d13b5,
+ 0x183d9448,
+ 0x183e1468,
+ 0x183e918e,
+ 0x183f122a,
+ 0x183f9116,
+ 0x1840129e,
+ 0x184092e6,
+ 0x18411250,
+ 0x184192af,
+ 0x184211da,
+ 0x18429379,
+ 0x18431397,
+ 0x184390a3,
+ 0x184410f0,
+ 0x184490df,
+ 0x184510c6,
+ 0x184591e7,
+ 0x18461106,
+ 0x184691c5,
+ 0x18471282,
+ 0x18479358,
+ 0x184813f3,
+ 0x184892f7,
+ 0x1849112b,
+ 0x184993e5,
+ 0x184a123f,
+ 0x184a9337,
+ 0x184b1477,
+ 0x184b917c,
+ 0x184c13d4,
+ 0x184c93c3,
+ 0x184d132a,
+ 0x184d9081,
+ 0x184e1069,
+ 0x184e9403,
+ 0x184f10b5,
+ 0x1c320707,
+ 0x1c32872a,
+ 0x1c33071e,
+ 0x1c338713,
+ 0x203214aa,
+ 0x2032948b,
+ 0x20331496,
+ 0x2033949e,
+ 0x2432159c,
+ 0x24329657,
+ 0x243315e2,
+ 0x24339649,
+ 0x2434157b,
+ 0x24349569,
+ 0x243514c4,
+ 0x243594b6,
+ 0x24361548,
+ 0x243694f8,
+ 0x243715b2,
+ 0x24379560,
+ 0x2438150b,
+ 0x24389522,
+ 0x243914d6,
+ 0x2439960f,
+ 0x243a1627,
+ 0x243a95ca,
+ 0x243b15ec,
+ 0x243b94e5,
+ 0x243c153a,
+ 0x243c9601,
+ 0x243d163e,
+ 0x243d958f,
+ 0x28320a92,
+ 0x28328aa2,
+ 0x28330a87,
+ 0x28338a78,
+ 0x28340a97,
0x2c322ffb,
- 0x2c32ac7a,
- 0x2c332ead,
- 0x2c33ae40,
- 0x2c342c97,
- 0x2c34af4b,
- 0x2c352e81,
- 0x2c35ac44,
- 0x2c362f41,
- 0x2c36add8,
- 0x2c372d98,
- 0x2c37af04,
- 0x2c382b68,
- 0x2c38af33,
- 0x2c392fbc,
- 0x2c39ab44,
+ 0x2c32acc2,
+ 0x2c332ef5,
+ 0x2c33ae88,
+ 0x2c342cdf,
+ 0x2c34af68,
+ 0x2c352ec9,
+ 0x2c35ac8c,
+ 0x2c360385,
+ 0x2c36ae20,
+ 0x2c372de0,
+ 0x2c37af4c,
+ 0x2c382bb0,
+ 0x2c38834a,
+ 0x2c392fca,
+ 0x2c39ab8c,
0x2c3a2fd9,
- 0x2c3aaf65,
- 0x2c3b2b33,
- 0x2c3baf73,
- 0x2c3c2ec0,
- 0x2c3cac12,
- 0x2c3d2d2d,
- 0x2c3dac68,
- 0x2c3e2da9,
- 0x2c3eaf13,
- 0x2c3f2ba4,
- 0x2c3fabbb,
- 0x2c402c2b,
- 0x2c40adc4,
- 0x2c412b72,
- 0x2c41ad3f,
+ 0x2c3aaf82,
+ 0x2c3b010c,
+ 0x2c3baf90,
+ 0x2c3c2f08,
+ 0x2c3cac5a,
+ 0x2c3d2d75,
+ 0x2c3dacb0,
+ 0x2c3e2df1,
+ 0x2c3eaf5b,
+ 0x2c3f2bec,
+ 0x2c3fac03,
+ 0x2c402c73,
+ 0x2c40ae0c,
+ 0x2c412bba,
+ 0x2c41ad87,
0x2c422fea,
- 0x2c42ad4f,
- 0x2c432e0a,
- 0x2c43afcb,
- 0x2c442f58,
- 0x2c44ab27,
- 0x2c452e99,
- 0x2c45abf5,
- 0x2c462d6d,
- 0x2c46ad5d,
- 0x2c472f7c,
- 0x2c47ad19,
- 0x2c482ef3,
- 0x2c48ae4f,
- 0x2c492f20,
- 0x2c49af9f,
- 0x2c4a2cb4,
- 0x2c4aadeb,
- 0x2c4b2b8b,
- 0x2c4baed1,
- 0x2c4c2ce0,
- 0x2c4cacfe,
- 0x2c4d2f2b,
- 0x2c4daee2,
- 0x2c4e2c5a,
- 0x2c4eafad,
- 0x2c4f2d7d,
- 0x2c4fae1e,
- 0x2c502e66,
- 0x2c50ab57,
- 0x2c512bd8,
- 0x2c51af90,
- 0x2c522e31,
- 0x2c52acc2,
- 0x30320326,
+ 0x2c42ad97,
+ 0x2c432e52,
+ 0x2c43845e,
+ 0x2c442f75,
+ 0x2c44ab80,
+ 0x2c452ee1,
+ 0x2c45ac3d,
+ 0x2c462db5,
+ 0x2c46ada5,
+ 0x2c472f99,
+ 0x2c47ad61,
+ 0x2c482f3b,
+ 0x2c48ae97,
+ 0x2c49029c,
+ 0x2c49afbc,
+ 0x2c4a2cfc,
+ 0x2c4aae33,
+ 0x2c4b2bd3,
+ 0x2c4baf19,
+ 0x2c4c2d28,
+ 0x2c4cad46,
+ 0x2c4d02a7,
+ 0x2c4daf2a,
+ 0x2c4e2ca2,
+ 0x2c4e8446,
+ 0x2c4f2dc5,
+ 0x2c4fae66,
+ 0x2c502eae,
+ 0x2c50ab9f,
+ 0x2c512c20,
+ 0x2c51afad,
+ 0x2c522e79,
+ 0x2c52ad0a,
+ 0x30320358,
0x30328103,
- 0x3033027b,
+ 0x3033028c,
0x303380f7,
- 0x303403a6,
- 0x3034830d,
- 0x303501eb,
- 0x303582e7,
- 0x303602d5,
- 0x303682f3,
- 0x30370367,
+ 0x303403e2,
+ 0x30348331,
+ 0x303501fc,
+ 0x3035830b,
+ 0x303602f9,
+ 0x30368317,
+ 0x303703a3,
0x3037808f,
- 0x30380197,
- 0x303883e8,
- 0x3039026a,
- 0x303982b2,
- 0x303a0146,
+ 0x303801a8,
+ 0x30388424,
+ 0x3039027b,
+ 0x303982d6,
+ 0x303a0157,
0x303a8018,
- 0x303b0378,
- 0x303b81fd,
- 0x303c03b6,
- 0x303c840a,
- 0x303d01cd,
- 0x303d8246,
+ 0x303b03b4,
+ 0x303b820e,
+ 0x303c03f2,
+ 0x303c8455,
+ 0x303d01de,
+ 0x303d8257,
0x303e00c3,
0x303e805b,
- 0x303f0233,
- 0x303f8210,
+ 0x303f0244,
+ 0x303f8221,
0x3040002c,
- 0x30408154,
+ 0x30408165,
0x3041006c,
- 0x304183fc,
+ 0x30418438,
0x304200d8,
0x30428000,
- 0x304301db,
- 0x30438188,
+ 0x304301ec,
+ 0x30438199,
0x304400b3,
0x304480e6,
- 0x304501a8,
- 0x30458395,
+ 0x304501b9,
+ 0x304583d1,
0x3046007f,
- 0x3046833b,
- 0x30470353,
- 0x3047821d,
- 0x304802bf,
- 0x3048811c,
- 0x30490165,
- 0x304983c8,
+ 0x3046836d,
+ 0x3047038f,
+ 0x3047822e,
+ 0x304802e3,
+ 0x3048812d,
+ 0x30490176,
+ 0x30498404,
0x304a009d,
- 0x304a82ff,
- 0x304b0135,
- 0x304b8388,
- 0x304c028b,
- 0x304c8129,
- 0x304d0177,
+ 0x304a8323,
+ 0x304b0146,
+ 0x304b83c4,
+ 0x304c02af,
+ 0x304c813a,
+ 0x304d0188,
0x304d8042,
- 0x304e029b,
- 0x304e81bc,
- 0x304f010c,
- 0x304f83d9,
- 0x30500256,
- 0x34320951,
- 0x34328979,
- 0x3433096c,
- 0x34338961,
- 0x38320982,
- 0x38328995,
- 0x383309b1,
- 0x3833899f,
- 0x3c320f18,
- 0x3c328cb8,
- 0x3c330ed8,
- 0x3c338dde,
- 0x3c340d94,
- 0x3c348ad5,
- 0x3c350cd1,
- 0x3c358a89,
- 0x3c360eb4,
- 0x3c368e7e,
- 0x3c370c1f,
- 0x3c378d1d,
- 0x3c380bb3,
- 0x3c388f5f,
- 0x3c390f28,
- 0x3c398a50,
- 0x3c3a0b1d,
- 0x3c3a8cea,
- 0x3c3b0b45,
- 0x3c3b8b76,
- 0x3c3c0e09,
- 0x3c3c8e34,
- 0x3c3d0f81,
- 0x3c3d8aa4,
- 0x3c3e0f34,
- 0x3c3e8bd5,
- 0x3c3f0b86,
- 0x3c3f8b52,
- 0x3c400eef,
- 0x3c408f91,
- 0x3c410d00,
- 0x3c418ec1,
- 0x3c420b38,
- 0x3c428e99,
- 0x3c430f4c,
- 0x3c438ab5,
- 0x3c440bc8,
- 0x3c448be8,
- 0x3c450b2a,
- 0x3c458b9e,
- 0x3c460d76,
- 0x3c468f70,
- 0x3c470c96,
- 0x3c478d33,
- 0x3c480c47,
- 0x3c488c60,
- 0x3c490c76,
- 0x3c498dc6,
- 0x3c4a0a75,
- 0x3c4a8d4f,
- 0x3c4b0c83,
- 0x3c4b8ca7,
- 0x3c4c0dae,
- 0x3c4c8bfb,
- 0x3c4d0ae7,
- 0x3c4d8ac1,
- 0x3c4e0e55,
- 0x3c4e8b10,
- 0x3c4f0a5e,
- 0x40321dbf,
- 0x4032a037,
- 0x40332705,
- 0x40339d45,
- 0x40341cf1,
- 0x4034a6bb,
- 0x40351fc7,
- 0x4035a1c4,
- 0x40361d7b,
- 0x40372966,
- 0x40379b4b,
- 0x40382006,
- 0x4038a10f,
- 0x40392187,
- 0x40399e45,
- 0x403a29c3,
- 0x403aa87c,
- 0x403b2973,
- 0x403ba355,
- 0x403c2ab5,
- 0x403c9f3a,
- 0x403d28e2,
- 0x403da386,
- 0x403e2487,
- 0x403ea558,
- 0x403f1e08,
- 0x403fa663,
- 0x4040219f,
- 0x40409f66,
- 0x40411dd7,
- 0x4041aae6,
- 0x40422687,
- 0x4042a1df,
- 0x40431c03,
- 0x4043a627,
- 0x40442078,
- 0x4044a2a8,
- 0x4045225b,
- 0x40459e9b,
- 0x4046258f,
- 0x4046a603,
- 0x40472304,
- 0x4047a6e5,
- 0x4048283c,
- 0x40489c67,
- 0x404921b6,
- 0x4049a345,
- 0x404a1ae1,
- 0x404a9e5e,
- 0x404b9cc8,
- 0x404c1fd7,
- 0x404c99ff,
- 0x404d2231,
- 0x404da071,
- 0x404e1a19,
- 0x404ea083,
- 0x404f1e23,
- 0x404fa990,
- 0x40502017,
- 0x4050a672,
- 0x40511bee,
- 0x4051aa19,
- 0x405229d9,
- 0x4052a939,
- 0x405323ee,
- 0x40539f83,
- 0x40542a04,
- 0x4054a090,
- 0x40551d87,
- 0x4055a7f9,
- 0x40561e31,
- 0x40569afb,
- 0x4057294b,
- 0x4057a0f9,
- 0x40581e77,
- 0x4058a246,
- 0x4059278e,
- 0x4059a5e2,
- 0x405a22be,
- 0x405a9f1f,
- 0x405b23d2,
- 0x405bab12,
- 0x405c1d1e,
- 0x405c9c8b,
- 0x405d240a,
- 0x405da569,
- 0x405e26ad,
- 0x405ea150,
- 0x405f20c8,
- 0x405f9e91,
- 0x406027e7,
- 0x4060a959,
- 0x40611b1a,
- 0x40619b39,
- 0x406227a4,
- 0x40629d60,
- 0x406325a3,
- 0x4063a4f6,
- 0x40642059,
- 0x4064a315,
- 0x40651b63,
- 0x4065a57c,
- 0x40662739,
- 0x4066a127,
- 0x40671a25,
- 0x4067a420,
- 0x40681da7,
- 0x40689b80,
- 0x40691bde,
- 0x40699eab,
- 0x406a2901,
- 0x406aa470,
- 0x406b1ded,
- 0x406ba1ac,
- 0x406c2540,
- 0x406ca8bf,
- 0x406d239c,
- 0x406da4df,
- 0x406e1c44,
- 0x406ea6c8,
- 0x406f2371,
- 0x406fa169,
- 0x40701f10,
- 0x40709f4e,
- 0x40712a99,
- 0x40719a5b,
- 0x40721d29,
- 0x4072a453,
- 0x407326a0,
- 0x40739ff1,
- 0x4074280e,
- 0x4074a7cd,
- 0x40752aef,
- 0x407599ef,
- 0x40762720,
- 0x40769f9a,
- 0x407720a3,
- 0x4077aad7,
- 0x407823fe,
- 0x4078a7b8,
- 0x40792816,
- 0x4079a529,
- 0x407a1a7a,
- 0x407a9ce8,
- 0x407b24c2,
- 0x407b9cb7,
- 0x407c29a7,
- 0x407ca642,
- 0x407d2052,
- 0x407d9d94,
- 0x407e1ba3,
- 0x407e9a92,
- 0x407f1d35,
- 0x407f9bc0,
- 0x4080291d,
- 0x4080a104,
- 0x40812859,
- 0x4081a11b,
- 0x4082228c,
- 0x40829aa9,
- 0x40831fac,
- 0x40839ca1,
- 0x40841f2d,
- 0x4084a331,
- 0x40851d0a,
- 0x4085a5c7,
- 0x408620b1,
- 0x40869ac5,
- 0x408722db,
- 0x4087a219,
- 0x40882514,
- 0x40889ce0,
- 0x408928a2,
- 0x4089a278,
- 0x408a243e,
- 0x408a9a3d,
- 0x408b2a50,
- 0x408baa32,
- 0x408c29f1,
- 0x408caa70,
- 0x408d21fa,
- 0x408da0df,
- 0x408e213a,
- 0x408ea76a,
- 0x408f2750,
- 0x408f9ec4,
- 0x40902061,
- 0x40909ed4,
- 0x40911ef5,
- 0x4091a4a5,
- 0x40921c1f,
- 0x40929c39,
- 0x40931cab,
- 0x4093a3b9,
- 0x409422ed,
- 0x4094aa90,
- 0x409523e5,
- 0x40959f74,
- 0x40961cfa,
- 0x443204fe,
- 0x443284cb,
- 0x44330516,
- 0x44338436,
- 0x44340541,
- 0x4434842e,
- 0x443504d4,
- 0x44358443,
- 0x4436054b,
- 0x4436852c,
- 0x44370522,
- 0x44378537,
- 0x44380413,
- 0x443884db,
- 0x4439050c,
- 0x44398425,
- 0x443a048e,
- 0x443a84aa,
- 0x443b0453,
- 0x443b846e,
- 0x4c3216d5,
- 0x4c329615,
- 0x4c331606,
- 0x4c3396a1,
- 0x4c341705,
- 0x4c34970f,
- 0x4c351693,
- 0x4c359765,
- 0x4c36173f,
- 0x4c369778,
- 0x4c3716f5,
- 0x4c379727,
- 0x4c381681,
- 0x4c3896b6,
- 0x4c391752,
- 0x4c3996c7,
- 0x4c3a16e3,
- 0x4c3a9674,
- 0x4c3b163d,
- 0x4c3b9658,
- 0x4c3c1624,
+ 0x304e02bf,
+ 0x304e81cd,
+ 0x304f011d,
+ 0x304f8415,
+ 0x30500267,
+ 0x3050810c,
+ 0x3051029c,
+ 0x305182a7,
+ 0x3052034a,
+ 0x30528385,
+ 0x30530446,
+ 0x3053845e,
+ 0x343209aa,
+ 0x343289d2,
+ 0x343309c5,
+ 0x343389ba,
+ 0x383209db,
+ 0x383289ee,
+ 0x38330a0a,
+ 0x383389f8,
+ 0x3c320f71,
+ 0x3c328d11,
+ 0x3c330f31,
+ 0x3c338e37,
+ 0x3c340ded,
+ 0x3c348b2e,
+ 0x3c350d2a,
+ 0x3c358ae2,
+ 0x3c360f0d,
+ 0x3c368ed7,
+ 0x3c370c78,
+ 0x3c378d76,
+ 0x3c380c0c,
+ 0x3c388fb8,
+ 0x3c390f81,
+ 0x3c398aa9,
+ 0x3c3a0b76,
+ 0x3c3a8d43,
+ 0x3c3b0b9e,
+ 0x3c3b8bcf,
+ 0x3c3c0e62,
+ 0x3c3c8e8d,
+ 0x3c3d0fda,
+ 0x3c3d8afd,
+ 0x3c3e0f8d,
+ 0x3c3e8c2e,
+ 0x3c3f0bdf,
+ 0x3c3f8bab,
+ 0x3c400f48,
+ 0x3c408fea,
+ 0x3c410d59,
+ 0x3c418f1a,
+ 0x3c420b91,
+ 0x3c428ef2,
+ 0x3c430fa5,
+ 0x3c438b0e,
+ 0x3c440c21,
+ 0x3c448c41,
+ 0x3c450b83,
+ 0x3c458bf7,
+ 0x3c460dcf,
+ 0x3c468fc9,
+ 0x3c470cef,
+ 0x3c478d8c,
+ 0x3c480ca0,
+ 0x3c488cb9,
+ 0x3c490ccf,
+ 0x3c498e1f,
+ 0x3c4a0ace,
+ 0x3c4a8da8,
+ 0x3c4b0cdc,
+ 0x3c4b8d00,
+ 0x3c4c0e07,
+ 0x3c4c8c54,
+ 0x3c4d0b40,
+ 0x3c4d8b1a,
+ 0x3c4e0eae,
+ 0x3c4e8b69,
+ 0x3c4f0ab7,
+ 0x40321e18,
+ 0x4032a090,
+ 0x4033275e,
+ 0x40339d9e,
+ 0x40341d4a,
+ 0x4034a714,
+ 0x40352020,
+ 0x4035a21d,
+ 0x40361dd4,
+ 0x403729bf,
+ 0x40379ba4,
+ 0x4038205f,
+ 0x4038a168,
+ 0x403921e0,
+ 0x40399e9e,
+ 0x403a2a1c,
+ 0x403aa8d5,
+ 0x403b29cc,
+ 0x403ba3ae,
+ 0x403c2b0e,
+ 0x403c9f93,
+ 0x403d293b,
+ 0x403da3df,
+ 0x403e24e0,
+ 0x403ea5b1,
+ 0x403f1e61,
+ 0x403fa6bc,
+ 0x404021f8,
+ 0x40409fbf,
+ 0x40411e30,
+ 0x4041ab3f,
+ 0x404226e0,
+ 0x4042a238,
+ 0x40431c5c,
+ 0x4043a680,
+ 0x404420d1,
+ 0x4044a301,
+ 0x404522b4,
+ 0x40459ef4,
+ 0x404625e8,
+ 0x4046a65c,
+ 0x4047235d,
+ 0x4047a73e,
+ 0x40482895,
+ 0x40489cc0,
+ 0x4049220f,
+ 0x4049a39e,
+ 0x404a1b3a,
+ 0x404a9eb7,
+ 0x404b9d21,
+ 0x404c2030,
+ 0x404c9a58,
+ 0x404d228a,
+ 0x404da0ca,
+ 0x404e1a72,
+ 0x404ea0dc,
+ 0x404f1e7c,
+ 0x404fa9e9,
+ 0x40502070,
+ 0x4050a6cb,
+ 0x40511c47,
+ 0x4051aa72,
+ 0x40522a32,
+ 0x4052a992,
+ 0x40532447,
+ 0x40539fdc,
+ 0x40542a5d,
+ 0x4054a0e9,
+ 0x40551de0,
+ 0x4055a852,
+ 0x40561e8a,
+ 0x40569b54,
+ 0x405729a4,
+ 0x4057a152,
+ 0x40581ed0,
+ 0x4058a29f,
+ 0x405927e7,
+ 0x4059a63b,
+ 0x405a2317,
+ 0x405a9f78,
+ 0x405b242b,
+ 0x405bab6b,
+ 0x405c1d77,
+ 0x405c9ce4,
+ 0x405d2463,
+ 0x405da5c2,
+ 0x405e2706,
+ 0x405ea1a9,
+ 0x405f2121,
+ 0x405f9eea,
+ 0x40602840,
+ 0x4060a9b2,
+ 0x40611b73,
+ 0x40619b92,
+ 0x406227fd,
+ 0x40629db9,
+ 0x406325fc,
+ 0x4063a54f,
+ 0x406420b2,
+ 0x4064a36e,
+ 0x40651bbc,
+ 0x4065a5d5,
+ 0x40662792,
+ 0x4066a180,
+ 0x40671a7e,
+ 0x4067a479,
+ 0x40681e00,
+ 0x40689bd9,
+ 0x40691c37,
+ 0x40699f04,
+ 0x406a295a,
+ 0x406aa4c9,
+ 0x406b1e46,
+ 0x406ba205,
+ 0x406c2599,
+ 0x406ca918,
+ 0x406d23f5,
+ 0x406da538,
+ 0x406e1c9d,
+ 0x406ea721,
+ 0x406f23ca,
+ 0x406fa1c2,
+ 0x40701f69,
+ 0x40709fa7,
+ 0x40712af2,
+ 0x40719ab4,
+ 0x40721d82,
+ 0x4072a4ac,
+ 0x407326f9,
+ 0x4073a04a,
+ 0x40742867,
+ 0x4074a826,
+ 0x40752b48,
+ 0x40759a48,
+ 0x40762779,
+ 0x40769ff3,
+ 0x407720fc,
+ 0x4077ab30,
+ 0x40782457,
+ 0x4078a811,
+ 0x4079286f,
+ 0x4079a582,
+ 0x407a1ad3,
+ 0x407a9d41,
+ 0x407b251b,
+ 0x407b9d10,
+ 0x407c2a00,
+ 0x407ca69b,
+ 0x407d20ab,
+ 0x407d9ded,
+ 0x407e1bfc,
+ 0x407e9aeb,
+ 0x407f1d8e,
+ 0x407f9c19,
+ 0x40802976,
+ 0x4080a15d,
+ 0x408128b2,
+ 0x4081a174,
+ 0x408222e5,
+ 0x40829b02,
+ 0x40832005,
+ 0x40839cfa,
+ 0x40841f86,
+ 0x4084a38a,
+ 0x40851d63,
+ 0x4085a620,
+ 0x4086210a,
+ 0x40869b1e,
+ 0x40872334,
+ 0x4087a272,
+ 0x4088256d,
+ 0x40889d39,
+ 0x408928fb,
+ 0x4089a2d1,
+ 0x408a2497,
+ 0x408a9a96,
+ 0x408b2aa9,
+ 0x408baa8b,
+ 0x408c2a4a,
+ 0x408caac9,
+ 0x408d2253,
+ 0x408da138,
+ 0x408e2193,
+ 0x408ea7c3,
+ 0x408f27a9,
+ 0x408f9f1d,
+ 0x409020ba,
+ 0x40909f2d,
+ 0x40911f4e,
+ 0x4091a4fe,
+ 0x40921c78,
+ 0x40929c92,
+ 0x40931d04,
+ 0x4093a412,
+ 0x40942346,
+ 0x4094aae9,
+ 0x4095243e,
+ 0x40959fcd,
+ 0x40961d53,
+ 0x44320557,
+ 0x44328524,
+ 0x4433056f,
+ 0x4433848f,
+ 0x4434059a,
+ 0x44348487,
+ 0x4435052d,
+ 0x4435849c,
+ 0x443605a4,
+ 0x44368585,
+ 0x4437057b,
+ 0x44378590,
+ 0x4438046c,
+ 0x44388534,
+ 0x44390565,
+ 0x4439847e,
+ 0x443a04e7,
+ 0x443a8503,
+ 0x443b04ac,
+ 0x443b84c7,
+ 0x4c32172e,
+ 0x4c32966e,
+ 0x4c33165f,
+ 0x4c3396fa,
+ 0x4c34175e,
+ 0x4c349768,
+ 0x4c3516ec,
+ 0x4c3597be,
+ 0x4c361798,
+ 0x4c3697d1,
+ 0x4c37174e,
+ 0x4c379780,
+ 0x4c3816da,
+ 0x4c38970f,
+ 0x4c3917ab,
+ 0x4c399720,
+ 0x4c3a173c,
+ 0x4c3a96cd,
+ 0x4c3b1696,
+ 0x4c3b96b1,
+ 0x4c3c167d,
0x50323180,
0x5032b2f0,
0x50333119,
@@ -699,47 +706,47 @@
0x504d300c,
0x504db1f3,
0x504e308d,
- 0x68320ff2,
- 0x68328fc3,
- 0x68330fe1,
- 0x68338fb2,
- 0x68340fd3,
- 0x68348fff,
- 0x6c320fa1,
- 0x743209fa,
- 0x74328a0c,
- 0x7832075a,
- 0x78328780,
- 0x7833076c,
- 0x78338728,
- 0x78340935,
- 0x78348942,
- 0x78350714,
- 0x783586f0,
- 0x783606de,
- 0x78368702,
- 0x783707b8,
- 0x783787a6,
- 0x78380794,
- 0x7838880f,
- 0x7839082b,
- 0x78398847,
- 0x783a0863,
- 0x783a888f,
- 0x783b0879,
- 0x783b87f8,
- 0x783c07ca,
- 0x783c87e1,
- 0x783d073c,
- 0x783d890b,
- 0x783e0919,
- 0x783e8927,
- 0x783f08ef,
- 0x783f88d1,
- 0x784008e0,
- 0x784088c2,
- 0x784108a5,
- 0x8032142d,
+ 0x6832104b,
+ 0x6832901c,
+ 0x6833103a,
+ 0x6833900b,
+ 0x6834102c,
+ 0x68349058,
+ 0x6c320ffa,
+ 0x74320a53,
+ 0x74328a65,
+ 0x783207b3,
+ 0x783287d9,
+ 0x783307c5,
+ 0x78338781,
+ 0x7834098e,
+ 0x7834899b,
+ 0x7835076d,
+ 0x78358749,
+ 0x78360737,
+ 0x7836875b,
+ 0x78370811,
+ 0x783787ff,
+ 0x783807ed,
+ 0x78388868,
+ 0x78390884,
+ 0x783988a0,
+ 0x783a08bc,
+ 0x783a88e8,
+ 0x783b08d2,
+ 0x783b8851,
+ 0x783c0823,
+ 0x783c883a,
+ 0x783d0795,
+ 0x783d8964,
+ 0x783e0972,
+ 0x783e8980,
+ 0x783f0948,
+ 0x783f892a,
+ 0x78400939,
+ 0x7840891b,
+ 0x784108fe,
+ 0x80321486,
};
static const char kFunctionStringData[] =
@@ -758,6 +765,7 @@
"ASN1_UTCTIME_adj\0"
"ASN1_d2i_fp\0"
"ASN1_dup\0"
+ "ASN1_generate_v3\0"
"ASN1_get_object\0"
"ASN1_i2d_bio\0"
"ASN1_i2d_fp\0"
@@ -781,6 +789,8 @@
"a2i_ASN1_ENUMERATED\0"
"a2i_ASN1_INTEGER\0"
"a2i_ASN1_STRING\0"
+ "append_exp\0"
+ "asn1_cb\0"
"asn1_check_tlen\0"
"asn1_collate_primitive\0"
"asn1_collect\0"
@@ -790,8 +800,10 @@
"asn1_ex_c2i\0"
"asn1_find_end\0"
"asn1_item_ex_combine_new\0"
+ "asn1_str2type\0"
"asn1_template_ex_d2i\0"
"asn1_template_noexp_d2i\0"
+ "bitstr_cb\0"
"c2i_ASN1_BIT_STRING\0"
"c2i_ASN1_INTEGER\0"
"c2i_ASN1_OBJECT\0"
@@ -803,7 +815,9 @@
"d2i_ASN1_bytes\0"
"d2i_ASN1_type_bytes\0"
"i2d_ASN1_TIME\0"
+ "i2d_PrivateKey\0"
"long_c2i\0"
+ "parse_tagging\0"
"BIO_callback_ctrl\0"
"BIO_ctrl\0"
"BIO_new\0"
@@ -1308,7 +1322,6 @@
"tls1_send_server_supplemental_data\0"
"tls1_setup_key_block\0"
"ASN1_digest\0"
- "ASN1_generate_v3\0"
"ASN1_item_sign_ctx\0"
"ASN1_item_verify\0"
"ASN1_sign\0"
@@ -1356,10 +1369,6 @@
"X509at_add1_attr\0"
"X509v3_add_ext\0"
"add_cert_dir\0"
- "append_exp\0"
- "asn1_cb\0"
- "asn1_str2type\0"
- "bitstr_cb\0"
"by_file_ctrl\0"
"check_policy\0"
"d2i_X509_PKEY\0"
@@ -1367,9 +1376,7 @@
"get_cert_by_subject\0"
"i2d_DSA_PUBKEY\0"
"i2d_EC_PUBKEY\0"
- "i2d_PrivateKey\0"
"i2d_RSA_PUBKEY\0"
- "parse_tagging\0"
"x509_name_encode\0"
"x509_name_ex_d2i\0"
"x509_name_ex_new\0"
diff --git a/crypto/x509/asn1_gen.c b/crypto/x509/asn1_gen.c
index 750701e..9ffd937 100644
--- a/crypto/x509/asn1_gen.c
+++ b/crypto/x509/asn1_gen.c
@@ -65,6 +65,9 @@
#include <openssl/x509v3.h>
+/* Although this file is in crypto/x509 for layering purposes, it emits errors
+ * from the ASN.1 module for OpenSSL compatibility. */
+
#define ASN1_GEN_FLAG 0x10000
#define ASN1_GEN_FLAG_IMP (ASN1_GEN_FLAG|1)
#define ASN1_GEN_FLAG_EXP (ASN1_GEN_FLAG|2)
@@ -165,7 +168,7 @@
{
if (!cnf)
{
- OPENSSL_PUT_ERROR(X509, ASN1_generate_v3, ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG);
+ OPENSSL_PUT_ERROR(ASN1, ASN1_generate_v3, ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG);
return NULL;
}
ret = asn1_multi(asn1_tags.utype, asn1_tags.str, cnf);
@@ -308,7 +311,7 @@
if (utype == -1)
{
- OPENSSL_PUT_ERROR(X509, asn1_cb, ASN1_R_UNKNOWN_TAG);
+ OPENSSL_PUT_ERROR(ASN1, asn1_cb, ASN1_R_UNKNOWN_TAG);
ERR_add_error_data(2, "tag=", elem);
return -1;
}
@@ -321,7 +324,7 @@
/* If no value and not end of string, error */
if (!vstart && elem[len])
{
- OPENSSL_PUT_ERROR(X509, asn1_cb, ASN1_R_MISSING_VALUE);
+ OPENSSL_PUT_ERROR(ASN1, asn1_cb, ASN1_R_MISSING_VALUE);
return -1;
}
return 0;
@@ -334,7 +337,7 @@
/* Check for illegal multiple IMPLICIT tagging */
if (arg->imp_tag != -1)
{
- OPENSSL_PUT_ERROR(X509, asn1_cb, ASN1_R_ILLEGAL_NESTED_TAGGING);
+ OPENSSL_PUT_ERROR(ASN1, asn1_cb, ASN1_R_ILLEGAL_NESTED_TAGGING);
return -1;
}
if (!parse_tagging(vstart, vlen, &arg->imp_tag, &arg->imp_class))
@@ -380,7 +383,7 @@
arg->format = ASN1_GEN_FORMAT_BITLIST;
else
{
- OPENSSL_PUT_ERROR(X509, asn1_cb, ASN1_R_UNKNOWN_FORMAT);
+ OPENSSL_PUT_ERROR(ASN1, asn1_cb, ASN1_R_UNKNOWN_FORMAT);
return -1;
}
break;
@@ -404,7 +407,7 @@
return 0;
if (tag_num < 0)
{
- OPENSSL_PUT_ERROR(X509, parse_tagging, ASN1_R_INVALID_NUMBER);
+ OPENSSL_PUT_ERROR(ASN1, parse_tagging, ASN1_R_INVALID_NUMBER);
return 0;
}
*ptag = tag_num;
@@ -437,7 +440,7 @@
default:
erch[0] = *eptr;
erch[1] = 0;
- OPENSSL_PUT_ERROR(X509, parse_tagging, ASN1_R_INVALID_MODIFIER);
+ OPENSSL_PUT_ERROR(ASN1, parse_tagging, ASN1_R_INVALID_MODIFIER);
ERR_add_error_data(2, "Char=", erch);
return 0;
break;
@@ -523,13 +526,13 @@
/* Can only have IMPLICIT if permitted */
if ((arg->imp_tag != -1) && !imp_ok)
{
- OPENSSL_PUT_ERROR(X509, append_exp, ASN1_R_ILLEGAL_IMPLICIT_TAG);
+ OPENSSL_PUT_ERROR(ASN1, append_exp, ASN1_R_ILLEGAL_IMPLICIT_TAG);
return 0;
}
if (arg->exp_count == ASN1_FLAG_EXP_MAX)
{
- OPENSSL_PUT_ERROR(X509, append_exp, ASN1_R_DEPTH_EXCEEDED);
+ OPENSSL_PUT_ERROR(ASN1, append_exp, ASN1_R_DEPTH_EXCEEDED);
return 0;
}
@@ -647,7 +650,7 @@
if (!(atmp = ASN1_TYPE_new()))
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ERR_R_MALLOC_FAILURE);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ERR_R_MALLOC_FAILURE);
return NULL;
}
@@ -660,7 +663,7 @@
case V_ASN1_NULL:
if (str && *str)
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ASN1_R_ILLEGAL_NULL_VALUE);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ASN1_R_ILLEGAL_NULL_VALUE);
goto bad_form;
}
break;
@@ -668,7 +671,7 @@
case V_ASN1_BOOLEAN:
if (format != ASN1_GEN_FORMAT_ASCII)
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ASN1_R_NOT_ASCII_FORMAT);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ASN1_R_NOT_ASCII_FORMAT);
goto bad_form;
}
vtmp.name = NULL;
@@ -676,7 +679,7 @@
vtmp.value = (char *)str;
if (!X509V3_get_value_bool(&vtmp, &atmp->value.boolean))
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ASN1_R_ILLEGAL_BOOLEAN);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ASN1_R_ILLEGAL_BOOLEAN);
goto bad_str;
}
break;
@@ -685,12 +688,12 @@
case V_ASN1_ENUMERATED:
if (format != ASN1_GEN_FORMAT_ASCII)
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ASN1_R_INTEGER_NOT_ASCII_FORMAT);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ASN1_R_INTEGER_NOT_ASCII_FORMAT);
goto bad_form;
}
if (!(atmp->value.integer = s2i_ASN1_INTEGER(NULL, (char *)str)))
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ASN1_R_ILLEGAL_INTEGER);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ASN1_R_ILLEGAL_INTEGER);
goto bad_str;
}
break;
@@ -698,12 +701,12 @@
case V_ASN1_OBJECT:
if (format != ASN1_GEN_FORMAT_ASCII)
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ASN1_R_OBJECT_NOT_ASCII_FORMAT);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ASN1_R_OBJECT_NOT_ASCII_FORMAT);
goto bad_form;
}
if (!(atmp->value.object = OBJ_txt2obj(str, 0)))
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ASN1_R_ILLEGAL_OBJECT);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ASN1_R_ILLEGAL_OBJECT);
goto bad_str;
}
break;
@@ -712,23 +715,23 @@
case V_ASN1_GENERALIZEDTIME:
if (format != ASN1_GEN_FORMAT_ASCII)
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ASN1_R_TIME_NOT_ASCII_FORMAT);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ASN1_R_TIME_NOT_ASCII_FORMAT);
goto bad_form;
}
if (!(atmp->value.asn1_string = ASN1_STRING_new()))
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ERR_R_MALLOC_FAILURE);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ERR_R_MALLOC_FAILURE);
goto bad_str;
}
if (!ASN1_STRING_set(atmp->value.asn1_string, str, -1))
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ERR_R_MALLOC_FAILURE);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ERR_R_MALLOC_FAILURE);
goto bad_str;
}
atmp->value.asn1_string->type = utype;
if (!ASN1_TIME_check(atmp->value.asn1_string))
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ASN1_R_ILLEGAL_TIME_VALUE);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ASN1_R_ILLEGAL_TIME_VALUE);
goto bad_str;
}
@@ -750,7 +753,7 @@
format = MBSTRING_UTF8;
else
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ASN1_R_ILLEGAL_FORMAT);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ASN1_R_ILLEGAL_FORMAT);
goto bad_form;
}
@@ -758,7 +761,7 @@
if (ASN1_mbstring_copy(&atmp->value.asn1_string, (unsigned char *)str,
-1, format, ASN1_tag2bit(utype)) <= 0)
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ERR_R_MALLOC_FAILURE);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ERR_R_MALLOC_FAILURE);
goto bad_str;
}
@@ -771,7 +774,7 @@
if (!(atmp->value.asn1_string = ASN1_STRING_new()))
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ERR_R_MALLOC_FAILURE);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ERR_R_MALLOC_FAILURE);
goto bad_form;
}
@@ -780,7 +783,7 @@
if (!(rdata = string_to_hex((char *)str, &rdlen)))
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ASN1_R_ILLEGAL_HEX);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ASN1_R_ILLEGAL_HEX);
goto bad_str;
}
@@ -795,7 +798,7 @@
{
if (!CONF_parse_list(str, ',', 1, bitstr_cb, atmp->value.bit_string))
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ASN1_R_LIST_ERROR);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ASN1_R_LIST_ERROR);
goto bad_str;
}
no_unused = 0;
@@ -803,7 +806,7 @@
}
else
{
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ASN1_R_ILLEGAL_BITSTRING_FORMAT);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ASN1_R_ILLEGAL_BITSTRING_FORMAT);
goto bad_form;
}
@@ -819,7 +822,7 @@
break;
default:
- OPENSSL_PUT_ERROR(X509, asn1_str2type, ASN1_R_UNSUPPORTED_TYPE);
+ OPENSSL_PUT_ERROR(ASN1, asn1_str2type, ASN1_R_UNSUPPORTED_TYPE);
goto bad_str;
break;
}
@@ -849,12 +852,12 @@
return 0;
if (bitnum < 0)
{
- OPENSSL_PUT_ERROR(X509, bitstr_cb, ASN1_R_INVALID_NUMBER);
+ OPENSSL_PUT_ERROR(ASN1, bitstr_cb, ASN1_R_INVALID_NUMBER);
return 0;
}
if (!ASN1_BIT_STRING_set_bit(bitstr, bitnum, 1))
{
- OPENSSL_PUT_ERROR(X509, bitstr_cb, ERR_R_MALLOC_FAILURE);
+ OPENSSL_PUT_ERROR(ASN1, bitstr_cb, ERR_R_MALLOC_FAILURE);
return 0;
}
return 1;
diff --git a/crypto/x509/i2d_pr.c b/crypto/x509/i2d_pr.c
index 8896565..443ca53 100644
--- a/crypto/x509/i2d_pr.c
+++ b/crypto/x509/i2d_pr.c
@@ -57,8 +57,7 @@
#include <openssl/x509.h>
-#include <stdio.h>
-
+#include <openssl/asn1.h>
#include <openssl/err.h>
#include <openssl/evp.h>
@@ -77,7 +76,9 @@
PKCS8_PRIV_KEY_INFO_free(p8);
return ret;
}
- OPENSSL_PUT_ERROR(X509, i2d_PrivateKey, ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE);
+ /* Although this file is in crypto/x509 for layering reasons, it emits
+ * an error code from ASN1 for OpenSSL compatibility. */
+ OPENSSL_PUT_ERROR(ASN1, i2d_PrivateKey, ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE);
return -1;
}
diff --git a/include/openssl/asn1.h b/include/openssl/asn1.h
index 941b156..100cec8 100644
--- a/include/openssl/asn1.h
+++ b/include/openssl/asn1.h
@@ -1139,6 +1139,13 @@
#define ASN1_F_ASN1_get_object 158
#define ASN1_F_d2i_ASN1_bytes 159
#define ASN1_F_a2i_ASN1_ENUMERATED 160
+#define ASN1_F_ASN1_generate_v3 161
+#define ASN1_F_append_exp 162
+#define ASN1_F_asn1_cb 163
+#define ASN1_F_asn1_str2type 164
+#define ASN1_F_bitstr_cb 165
+#define ASN1_F_i2d_PrivateKey 166
+#define ASN1_F_parse_tagging 167
#define ASN1_R_ASN1_SIG_PARSE_ERROR 100
#define ASN1_R_ADDING_OBJECT 101
#define ASN1_R_MIME_NO_CONTENT_TYPE 102
diff --git a/util/make_errors.go b/util/make_errors.go
index d1e5438..48d9ad4 100644
--- a/util/make_errors.go
+++ b/util/make_errors.go
@@ -366,8 +366,7 @@
}
defer file.Close()
- prefix += "_"
- reasonPrefix := prefix + "R_"
+ reasonPrefix := prefix + "_R_"
var currentFunction string
scanner := bufio.NewScanner(file)
@@ -394,8 +393,9 @@
}
}
- if strings.Contains(line, "OPENSSL_PUT_ERROR(") {
- functionToken := prefix + "F_" + currentFunction
+ // Do not include cross-module error lines.
+ if strings.Contains(line, "OPENSSL_PUT_ERROR(" + prefix + ",") {
+ functionToken := prefix + "_F_" + currentFunction
if _, ok := functions[functionToken]; !ok {
functions[functionToken] = -1
}
@@ -405,7 +405,7 @@
handleDeclareMacro(line, "_F_", "OPENSSL_DECLARE_ERROR_FUNCTION(", functions)
for len(line) > 0 {
- i := strings.Index(line, prefix)
+ i := strings.Index(line, prefix + "_")
if i == -1 {
break
}