openssl_rsa_pss_verify 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. data/.gitignore +5 -0
  2. data/.rspec +2 -0
  3. data/.ruby-gemset +1 -0
  4. data/.ruby-version +1 -0
  5. data/Gemfile +4 -0
  6. data/Gemfile.lock +35 -0
  7. data/README +1 -0
  8. data/Rakefile +4 -0
  9. data/ext/openssl_rsa_pss_verify/extconf.rb +15 -0
  10. data/ext/openssl_rsa_pss_verify/openssl_rsa_pss_verify_ext.c +56 -0
  11. data/lib/openssl_rsa_pss_verify/version.rb +3 -0
  12. data/lib/openssl_rsa_pss_verify.rb +2 -0
  13. data/openssl_rsa_pss_verify.gemspec +26 -0
  14. data/tasks/compile.rake +12 -0
  15. data/tasks/rspec.rake +12 -0
  16. data/vendor/openssl/include/openssl/aes.h +147 -0
  17. data/vendor/openssl/include/openssl/asn1.h +1404 -0
  18. data/vendor/openssl/include/openssl/asn1_mac.h +578 -0
  19. data/vendor/openssl/include/openssl/asn1t.h +960 -0
  20. data/vendor/openssl/include/openssl/bio.h +847 -0
  21. data/vendor/openssl/include/openssl/blowfish.h +129 -0
  22. data/vendor/openssl/include/openssl/bn.h +891 -0
  23. data/vendor/openssl/include/openssl/buffer.h +119 -0
  24. data/vendor/openssl/include/openssl/camellia.h +130 -0
  25. data/vendor/openssl/include/openssl/cast.h +107 -0
  26. data/vendor/openssl/include/openssl/cmac.h +82 -0
  27. data/vendor/openssl/include/openssl/cms.h +501 -0
  28. data/vendor/openssl/include/openssl/comp.h +80 -0
  29. data/vendor/openssl/include/openssl/conf.h +263 -0
  30. data/vendor/openssl/include/openssl/conf_api.h +89 -0
  31. data/vendor/openssl/include/openssl/crypto.h +611 -0
  32. data/vendor/openssl/include/openssl/des.h +248 -0
  33. data/vendor/openssl/include/openssl/des_old.h +446 -0
  34. data/vendor/openssl/include/openssl/dh.h +280 -0
  35. data/vendor/openssl/include/openssl/dsa.h +327 -0
  36. data/vendor/openssl/include/openssl/dso.h +409 -0
  37. data/vendor/openssl/include/openssl/dtls1.h +287 -0
  38. data/vendor/openssl/include/openssl/e_os2.h +315 -0
  39. data/vendor/openssl/include/openssl/ebcdic.h +19 -0
  40. data/vendor/openssl/include/openssl/ec.h +1167 -0
  41. data/vendor/openssl/include/openssl/ecdh.h +125 -0
  42. data/vendor/openssl/include/openssl/ecdsa.h +260 -0
  43. data/vendor/openssl/include/openssl/engine.h +842 -0
  44. data/vendor/openssl/include/openssl/err.h +386 -0
  45. data/vendor/openssl/include/openssl/evp.h +1409 -0
  46. data/vendor/openssl/include/openssl/hmac.h +110 -0
  47. data/vendor/openssl/include/openssl/idea.h +103 -0
  48. data/vendor/openssl/include/openssl/krb5_asn.h +256 -0
  49. data/vendor/openssl/include/openssl/kssl.h +183 -0
  50. data/vendor/openssl/include/openssl/lhash.h +241 -0
  51. data/vendor/openssl/include/openssl/md4.h +120 -0
  52. data/vendor/openssl/include/openssl/md5.h +120 -0
  53. data/vendor/openssl/include/openssl/mdc2.h +98 -0
  54. data/vendor/openssl/include/openssl/modes.h +135 -0
  55. data/vendor/openssl/include/openssl/obj_mac.h +4032 -0
  56. data/vendor/openssl/include/openssl/objects.h +1138 -0
  57. data/vendor/openssl/include/openssl/ocsp.h +623 -0
  58. data/vendor/openssl/include/openssl/opensslconf.h +234 -0
  59. data/vendor/openssl/include/openssl/opensslv.h +89 -0
  60. data/vendor/openssl/include/openssl/ossl_typ.h +202 -0
  61. data/vendor/openssl/include/openssl/pem.h +641 -0
  62. data/vendor/openssl/include/openssl/pem2.h +70 -0
  63. data/vendor/openssl/include/openssl/pkcs12.h +331 -0
  64. data/vendor/openssl/include/openssl/pkcs7.h +499 -0
  65. data/vendor/openssl/include/openssl/pqueue.h +94 -0
  66. data/vendor/openssl/include/openssl/rand.h +149 -0
  67. data/vendor/openssl/include/openssl/rc2.h +103 -0
  68. data/vendor/openssl/include/openssl/rc4.h +90 -0
  69. data/vendor/openssl/include/openssl/ripemd.h +107 -0
  70. data/vendor/openssl/include/openssl/rsa.h +582 -0
  71. data/vendor/openssl/include/openssl/safestack.h +2663 -0
  72. data/vendor/openssl/include/openssl/seed.h +139 -0
  73. data/vendor/openssl/include/openssl/sha.h +214 -0
  74. data/vendor/openssl/include/openssl/srp.h +172 -0
  75. data/vendor/openssl/include/openssl/srtp.h +145 -0
  76. data/vendor/openssl/include/openssl/ssl.h +2579 -0
  77. data/vendor/openssl/include/openssl/ssl2.h +272 -0
  78. data/vendor/openssl/include/openssl/ssl23.h +83 -0
  79. data/vendor/openssl/include/openssl/ssl3.h +684 -0
  80. data/vendor/openssl/include/openssl/stack.h +108 -0
  81. data/vendor/openssl/include/openssl/symhacks.h +475 -0
  82. data/vendor/openssl/include/openssl/tls1.h +735 -0
  83. data/vendor/openssl/include/openssl/ts.h +858 -0
  84. data/vendor/openssl/include/openssl/txt_db.h +112 -0
  85. data/vendor/openssl/include/openssl/ui.h +383 -0
  86. data/vendor/openssl/include/openssl/ui_compat.h +83 -0
  87. data/vendor/openssl/include/openssl/whrlpool.h +41 -0
  88. data/vendor/openssl/include/openssl/x509.h +1297 -0
  89. data/vendor/openssl/include/openssl/x509_vfy.h +567 -0
  90. data/vendor/openssl/include/openssl/x509v3.h +1007 -0
  91. data/vendor/openssl/lib/engines/lib4758cca.so +0 -0
  92. data/vendor/openssl/lib/engines/libaep.so +0 -0
  93. data/vendor/openssl/lib/engines/libatalla.so +0 -0
  94. data/vendor/openssl/lib/engines/libcapi.so +0 -0
  95. data/vendor/openssl/lib/engines/libchil.so +0 -0
  96. data/vendor/openssl/lib/engines/libcswift.so +0 -0
  97. data/vendor/openssl/lib/engines/libgmp.so +0 -0
  98. data/vendor/openssl/lib/engines/libgost.so +0 -0
  99. data/vendor/openssl/lib/engines/libnuron.so +0 -0
  100. data/vendor/openssl/lib/engines/libpadlock.so +0 -0
  101. data/vendor/openssl/lib/engines/libsureware.so +0 -0
  102. data/vendor/openssl/lib/engines/libubsec.so +0 -0
  103. data/vendor/openssl/lib/libcrypto.a +0 -0
  104. data/vendor/openssl/lib/libcrypto.so +0 -0
  105. data/vendor/openssl/lib/libcrypto.so.1.0.0 +0 -0
  106. data/vendor/openssl/lib/libssl.a +0 -0
  107. data/vendor/openssl/lib/libssl.so +0 -0
  108. data/vendor/openssl/lib/libssl.so.1.0.0 +0 -0
  109. data/vendor/openssl/lib/pkgconfig/libcrypto.pc +12 -0
  110. data/vendor/openssl/lib/pkgconfig/libssl.pc +12 -0
  111. data/vendor/openssl/lib/pkgconfig/openssl.pc +12 -0
  112. metadata +208 -0
@@ -0,0 +1,386 @@
1
+ /* crypto/err/err.h */
2
+ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3
+ * All rights reserved.
4
+ *
5
+ * This package is an SSL implementation written
6
+ * by Eric Young (eay@cryptsoft.com).
7
+ * The implementation was written so as to conform with Netscapes SSL.
8
+ *
9
+ * This library is free for commercial and non-commercial use as long as
10
+ * the following conditions are aheared to. The following conditions
11
+ * apply to all code found in this distribution, be it the RC4, RSA,
12
+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
13
+ * included with this distribution is covered by the same copyright terms
14
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15
+ *
16
+ * Copyright remains Eric Young's, and as such any Copyright notices in
17
+ * the code are not to be removed.
18
+ * If this package is used in a product, Eric Young should be given attribution
19
+ * as the author of the parts of the library used.
20
+ * This can be in the form of a textual message at program startup or
21
+ * in documentation (online or textual) provided with the package.
22
+ *
23
+ * Redistribution and use in source and binary forms, with or without
24
+ * modification, are permitted provided that the following conditions
25
+ * are met:
26
+ * 1. Redistributions of source code must retain the copyright
27
+ * notice, this list of conditions and the following disclaimer.
28
+ * 2. Redistributions in binary form must reproduce the above copyright
29
+ * notice, this list of conditions and the following disclaimer in the
30
+ * documentation and/or other materials provided with the distribution.
31
+ * 3. All advertising materials mentioning features or use of this software
32
+ * must display the following acknowledgement:
33
+ * "This product includes cryptographic software written by
34
+ * Eric Young (eay@cryptsoft.com)"
35
+ * The word 'cryptographic' can be left out if the rouines from the library
36
+ * being used are not cryptographic related :-).
37
+ * 4. If you include any Windows specific code (or a derivative thereof) from
38
+ * the apps directory (application code) you must include an acknowledgement:
39
+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40
+ *
41
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
42
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
45
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
46
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
47
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
50
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51
+ * SUCH DAMAGE.
52
+ *
53
+ * The licence and distribution terms for any publically available version or
54
+ * derivative of this code cannot be changed. i.e. this code cannot simply be
55
+ * copied and put under another distribution licence
56
+ * [including the GNU Public Licence.]
57
+ */
58
+ /* ====================================================================
59
+ * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved.
60
+ *
61
+ * Redistribution and use in source and binary forms, with or without
62
+ * modification, are permitted provided that the following conditions
63
+ * are met:
64
+ *
65
+ * 1. Redistributions of source code must retain the above copyright
66
+ * notice, this list of conditions and the following disclaimer.
67
+ *
68
+ * 2. Redistributions in binary form must reproduce the above copyright
69
+ * notice, this list of conditions and the following disclaimer in
70
+ * the documentation and/or other materials provided with the
71
+ * distribution.
72
+ *
73
+ * 3. All advertising materials mentioning features or use of this
74
+ * software must display the following acknowledgment:
75
+ * "This product includes software developed by the OpenSSL Project
76
+ * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
77
+ *
78
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
79
+ * endorse or promote products derived from this software without
80
+ * prior written permission. For written permission, please contact
81
+ * openssl-core@openssl.org.
82
+ *
83
+ * 5. Products derived from this software may not be called "OpenSSL"
84
+ * nor may "OpenSSL" appear in their names without prior written
85
+ * permission of the OpenSSL Project.
86
+ *
87
+ * 6. Redistributions of any form whatsoever must retain the following
88
+ * acknowledgment:
89
+ * "This product includes software developed by the OpenSSL Project
90
+ * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
91
+ *
92
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
93
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
94
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
95
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
96
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
97
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
98
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
99
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
100
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
101
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
102
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
103
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
104
+ * ====================================================================
105
+ *
106
+ * This product includes cryptographic software written by Eric Young
107
+ * (eay@cryptsoft.com). This product includes software written by Tim
108
+ * Hudson (tjh@cryptsoft.com).
109
+ *
110
+ */
111
+
112
+ #ifndef HEADER_ERR_H
113
+ #define HEADER_ERR_H
114
+
115
+ #include <openssl/e_os2.h>
116
+
117
+ #ifndef OPENSSL_NO_FP_API
118
+ #include <stdio.h>
119
+ #include <stdlib.h>
120
+ #endif
121
+
122
+ #include <openssl/ossl_typ.h>
123
+ #ifndef OPENSSL_NO_BIO
124
+ #include <openssl/bio.h>
125
+ #endif
126
+ #ifndef OPENSSL_NO_LHASH
127
+ #include <openssl/lhash.h>
128
+ #endif
129
+
130
+ #ifdef __cplusplus
131
+ extern "C" {
132
+ #endif
133
+
134
+ #ifndef OPENSSL_NO_ERR
135
+ #define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,d,e)
136
+ #else
137
+ #define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,NULL,0)
138
+ #endif
139
+
140
+ #include <errno.h>
141
+
142
+ #define ERR_TXT_MALLOCED 0x01
143
+ #define ERR_TXT_STRING 0x02
144
+
145
+ #define ERR_FLAG_MARK 0x01
146
+
147
+ #define ERR_NUM_ERRORS 16
148
+ typedef struct err_state_st
149
+ {
150
+ CRYPTO_THREADID tid;
151
+ int err_flags[ERR_NUM_ERRORS];
152
+ unsigned long err_buffer[ERR_NUM_ERRORS];
153
+ char *err_data[ERR_NUM_ERRORS];
154
+ int err_data_flags[ERR_NUM_ERRORS];
155
+ const char *err_file[ERR_NUM_ERRORS];
156
+ int err_line[ERR_NUM_ERRORS];
157
+ int top,bottom;
158
+ } ERR_STATE;
159
+
160
+ /* library */
161
+ #define ERR_LIB_NONE 1
162
+ #define ERR_LIB_SYS 2
163
+ #define ERR_LIB_BN 3
164
+ #define ERR_LIB_RSA 4
165
+ #define ERR_LIB_DH 5
166
+ #define ERR_LIB_EVP 6
167
+ #define ERR_LIB_BUF 7
168
+ #define ERR_LIB_OBJ 8
169
+ #define ERR_LIB_PEM 9
170
+ #define ERR_LIB_DSA 10
171
+ #define ERR_LIB_X509 11
172
+ /* #define ERR_LIB_METH 12 */
173
+ #define ERR_LIB_ASN1 13
174
+ #define ERR_LIB_CONF 14
175
+ #define ERR_LIB_CRYPTO 15
176
+ #define ERR_LIB_EC 16
177
+ #define ERR_LIB_SSL 20
178
+ /* #define ERR_LIB_SSL23 21 */
179
+ /* #define ERR_LIB_SSL2 22 */
180
+ /* #define ERR_LIB_SSL3 23 */
181
+ /* #define ERR_LIB_RSAREF 30 */
182
+ /* #define ERR_LIB_PROXY 31 */
183
+ #define ERR_LIB_BIO 32
184
+ #define ERR_LIB_PKCS7 33
185
+ #define ERR_LIB_X509V3 34
186
+ #define ERR_LIB_PKCS12 35
187
+ #define ERR_LIB_RAND 36
188
+ #define ERR_LIB_DSO 37
189
+ #define ERR_LIB_ENGINE 38
190
+ #define ERR_LIB_OCSP 39
191
+ #define ERR_LIB_UI 40
192
+ #define ERR_LIB_COMP 41
193
+ #define ERR_LIB_ECDSA 42
194
+ #define ERR_LIB_ECDH 43
195
+ #define ERR_LIB_STORE 44
196
+ #define ERR_LIB_FIPS 45
197
+ #define ERR_LIB_CMS 46
198
+ #define ERR_LIB_TS 47
199
+ #define ERR_LIB_HMAC 48
200
+ #define ERR_LIB_JPAKE 49
201
+
202
+ #define ERR_LIB_USER 128
203
+
204
+ #define SYSerr(f,r) ERR_PUT_error(ERR_LIB_SYS,(f),(r),__FILE__,__LINE__)
205
+ #define BNerr(f,r) ERR_PUT_error(ERR_LIB_BN,(f),(r),__FILE__,__LINE__)
206
+ #define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),__FILE__,__LINE__)
207
+ #define DHerr(f,r) ERR_PUT_error(ERR_LIB_DH,(f),(r),__FILE__,__LINE__)
208
+ #define EVPerr(f,r) ERR_PUT_error(ERR_LIB_EVP,(f),(r),__FILE__,__LINE__)
209
+ #define BUFerr(f,r) ERR_PUT_error(ERR_LIB_BUF,(f),(r),__FILE__,__LINE__)
210
+ #define OBJerr(f,r) ERR_PUT_error(ERR_LIB_OBJ,(f),(r),__FILE__,__LINE__)
211
+ #define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),__FILE__,__LINE__)
212
+ #define DSAerr(f,r) ERR_PUT_error(ERR_LIB_DSA,(f),(r),__FILE__,__LINE__)
213
+ #define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),__FILE__,__LINE__)
214
+ #define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),__FILE__,__LINE__)
215
+ #define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),__FILE__,__LINE__)
216
+ #define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),__FILE__,__LINE__)
217
+ #define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),__FILE__,__LINE__)
218
+ #define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),__FILE__,__LINE__)
219
+ #define BIOerr(f,r) ERR_PUT_error(ERR_LIB_BIO,(f),(r),__FILE__,__LINE__)
220
+ #define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),__FILE__,__LINE__)
221
+ #define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),__FILE__,__LINE__)
222
+ #define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),__FILE__,__LINE__)
223
+ #define RANDerr(f,r) ERR_PUT_error(ERR_LIB_RAND,(f),(r),__FILE__,__LINE__)
224
+ #define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),__FILE__,__LINE__)
225
+ #define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),__FILE__,__LINE__)
226
+ #define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),__FILE__,__LINE__)
227
+ #define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),__FILE__,__LINE__)
228
+ #define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),__FILE__,__LINE__)
229
+ #define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),__FILE__,__LINE__)
230
+ #define ECDHerr(f,r) ERR_PUT_error(ERR_LIB_ECDH,(f),(r),__FILE__,__LINE__)
231
+ #define STOREerr(f,r) ERR_PUT_error(ERR_LIB_STORE,(f),(r),__FILE__,__LINE__)
232
+ #define FIPSerr(f,r) ERR_PUT_error(ERR_LIB_FIPS,(f),(r),__FILE__,__LINE__)
233
+ #define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),__FILE__,__LINE__)
234
+ #define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),__FILE__,__LINE__)
235
+ #define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),__FILE__,__LINE__)
236
+ #define JPAKEerr(f,r) ERR_PUT_error(ERR_LIB_JPAKE,(f),(r),__FILE__,__LINE__)
237
+
238
+ /* Borland C seems too stupid to be able to shift and do longs in
239
+ * the pre-processor :-( */
240
+ #define ERR_PACK(l,f,r) (((((unsigned long)l)&0xffL)*0x1000000)| \
241
+ ((((unsigned long)f)&0xfffL)*0x1000)| \
242
+ ((((unsigned long)r)&0xfffL)))
243
+ #define ERR_GET_LIB(l) (int)((((unsigned long)l)>>24L)&0xffL)
244
+ #define ERR_GET_FUNC(l) (int)((((unsigned long)l)>>12L)&0xfffL)
245
+ #define ERR_GET_REASON(l) (int)((l)&0xfffL)
246
+ #define ERR_FATAL_ERROR(l) (int)((l)&ERR_R_FATAL)
247
+
248
+
249
+ /* OS functions */
250
+ #define SYS_F_FOPEN 1
251
+ #define SYS_F_CONNECT 2
252
+ #define SYS_F_GETSERVBYNAME 3
253
+ #define SYS_F_SOCKET 4
254
+ #define SYS_F_IOCTLSOCKET 5
255
+ #define SYS_F_BIND 6
256
+ #define SYS_F_LISTEN 7
257
+ #define SYS_F_ACCEPT 8
258
+ #define SYS_F_WSASTARTUP 9 /* Winsock stuff */
259
+ #define SYS_F_OPENDIR 10
260
+ #define SYS_F_FREAD 11
261
+
262
+
263
+ /* reasons */
264
+ #define ERR_R_SYS_LIB ERR_LIB_SYS /* 2 */
265
+ #define ERR_R_BN_LIB ERR_LIB_BN /* 3 */
266
+ #define ERR_R_RSA_LIB ERR_LIB_RSA /* 4 */
267
+ #define ERR_R_DH_LIB ERR_LIB_DH /* 5 */
268
+ #define ERR_R_EVP_LIB ERR_LIB_EVP /* 6 */
269
+ #define ERR_R_BUF_LIB ERR_LIB_BUF /* 7 */
270
+ #define ERR_R_OBJ_LIB ERR_LIB_OBJ /* 8 */
271
+ #define ERR_R_PEM_LIB ERR_LIB_PEM /* 9 */
272
+ #define ERR_R_DSA_LIB ERR_LIB_DSA /* 10 */
273
+ #define ERR_R_X509_LIB ERR_LIB_X509 /* 11 */
274
+ #define ERR_R_ASN1_LIB ERR_LIB_ASN1 /* 13 */
275
+ #define ERR_R_CONF_LIB ERR_LIB_CONF /* 14 */
276
+ #define ERR_R_CRYPTO_LIB ERR_LIB_CRYPTO /* 15 */
277
+ #define ERR_R_EC_LIB ERR_LIB_EC /* 16 */
278
+ #define ERR_R_SSL_LIB ERR_LIB_SSL /* 20 */
279
+ #define ERR_R_BIO_LIB ERR_LIB_BIO /* 32 */
280
+ #define ERR_R_PKCS7_LIB ERR_LIB_PKCS7 /* 33 */
281
+ #define ERR_R_X509V3_LIB ERR_LIB_X509V3 /* 34 */
282
+ #define ERR_R_PKCS12_LIB ERR_LIB_PKCS12 /* 35 */
283
+ #define ERR_R_RAND_LIB ERR_LIB_RAND /* 36 */
284
+ #define ERR_R_DSO_LIB ERR_LIB_DSO /* 37 */
285
+ #define ERR_R_ENGINE_LIB ERR_LIB_ENGINE /* 38 */
286
+ #define ERR_R_OCSP_LIB ERR_LIB_OCSP /* 39 */
287
+ #define ERR_R_UI_LIB ERR_LIB_UI /* 40 */
288
+ #define ERR_R_COMP_LIB ERR_LIB_COMP /* 41 */
289
+ #define ERR_R_ECDSA_LIB ERR_LIB_ECDSA /* 42 */
290
+ #define ERR_R_ECDH_LIB ERR_LIB_ECDH /* 43 */
291
+ #define ERR_R_STORE_LIB ERR_LIB_STORE /* 44 */
292
+ #define ERR_R_TS_LIB ERR_LIB_TS /* 45 */
293
+
294
+ #define ERR_R_NESTED_ASN1_ERROR 58
295
+ #define ERR_R_BAD_ASN1_OBJECT_HEADER 59
296
+ #define ERR_R_BAD_GET_ASN1_OBJECT_CALL 60
297
+ #define ERR_R_EXPECTING_AN_ASN1_SEQUENCE 61
298
+ #define ERR_R_ASN1_LENGTH_MISMATCH 62
299
+ #define ERR_R_MISSING_ASN1_EOS 63
300
+
301
+ /* fatal error */
302
+ #define ERR_R_FATAL 64
303
+ #define ERR_R_MALLOC_FAILURE (1|ERR_R_FATAL)
304
+ #define ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED (2|ERR_R_FATAL)
305
+ #define ERR_R_PASSED_NULL_PARAMETER (3|ERR_R_FATAL)
306
+ #define ERR_R_INTERNAL_ERROR (4|ERR_R_FATAL)
307
+ #define ERR_R_DISABLED (5|ERR_R_FATAL)
308
+
309
+ /* 99 is the maximum possible ERR_R_... code, higher values
310
+ * are reserved for the individual libraries */
311
+
312
+
313
+ typedef struct ERR_string_data_st
314
+ {
315
+ unsigned long error;
316
+ const char *string;
317
+ } ERR_STRING_DATA;
318
+
319
+ void ERR_put_error(int lib, int func,int reason,const char *file,int line);
320
+ void ERR_set_error_data(char *data,int flags);
321
+
322
+ unsigned long ERR_get_error(void);
323
+ unsigned long ERR_get_error_line(const char **file,int *line);
324
+ unsigned long ERR_get_error_line_data(const char **file,int *line,
325
+ const char **data, int *flags);
326
+ unsigned long ERR_peek_error(void);
327
+ unsigned long ERR_peek_error_line(const char **file,int *line);
328
+ unsigned long ERR_peek_error_line_data(const char **file,int *line,
329
+ const char **data,int *flags);
330
+ unsigned long ERR_peek_last_error(void);
331
+ unsigned long ERR_peek_last_error_line(const char **file,int *line);
332
+ unsigned long ERR_peek_last_error_line_data(const char **file,int *line,
333
+ const char **data,int *flags);
334
+ void ERR_clear_error(void );
335
+ char *ERR_error_string(unsigned long e,char *buf);
336
+ void ERR_error_string_n(unsigned long e, char *buf, size_t len);
337
+ const char *ERR_lib_error_string(unsigned long e);
338
+ const char *ERR_func_error_string(unsigned long e);
339
+ const char *ERR_reason_error_string(unsigned long e);
340
+ void ERR_print_errors_cb(int (*cb)(const char *str, size_t len, void *u),
341
+ void *u);
342
+ #ifndef OPENSSL_NO_FP_API
343
+ void ERR_print_errors_fp(FILE *fp);
344
+ #endif
345
+ #ifndef OPENSSL_NO_BIO
346
+ void ERR_print_errors(BIO *bp);
347
+ #endif
348
+ void ERR_add_error_data(int num, ...);
349
+ void ERR_add_error_vdata(int num, va_list args);
350
+ void ERR_load_strings(int lib,ERR_STRING_DATA str[]);
351
+ void ERR_unload_strings(int lib,ERR_STRING_DATA str[]);
352
+ void ERR_load_ERR_strings(void);
353
+ void ERR_load_crypto_strings(void);
354
+ void ERR_free_strings(void);
355
+
356
+ void ERR_remove_thread_state(const CRYPTO_THREADID *tid);
357
+ #ifndef OPENSSL_NO_DEPRECATED
358
+ void ERR_remove_state(unsigned long pid); /* if zero we look it up */
359
+ #endif
360
+ ERR_STATE *ERR_get_state(void);
361
+
362
+ #ifndef OPENSSL_NO_LHASH
363
+ LHASH_OF(ERR_STRING_DATA) *ERR_get_string_table(void);
364
+ LHASH_OF(ERR_STATE) *ERR_get_err_state_table(void);
365
+ void ERR_release_err_state_table(LHASH_OF(ERR_STATE) **hash);
366
+ #endif
367
+
368
+ int ERR_get_next_error_library(void);
369
+
370
+ int ERR_set_mark(void);
371
+ int ERR_pop_to_mark(void);
372
+
373
+ /* Already defined in ossl_typ.h */
374
+ /* typedef struct st_ERR_FNS ERR_FNS; */
375
+ /* An application can use this function and provide the return value to loaded
376
+ * modules that should use the application's ERR state/functionality */
377
+ const ERR_FNS *ERR_get_implementation(void);
378
+ /* A loaded module should call this function prior to any ERR operations using
379
+ * the application's "ERR_FNS". */
380
+ int ERR_set_implementation(const ERR_FNS *fns);
381
+
382
+ #ifdef __cplusplus
383
+ }
384
+ #endif
385
+
386
+ #endif