diff options
Diffstat (limited to 'src/lib/libcrypto/crypto.h')
-rw-r--r-- | src/lib/libcrypto/crypto.h | 188 |
1 files changed, 102 insertions, 86 deletions
diff --git a/src/lib/libcrypto/crypto.h b/src/lib/libcrypto/crypto.h index 0a38b5b87c..8ad8c25e5a 100644 --- a/src/lib/libcrypto/crypto.h +++ b/src/lib/libcrypto/crypto.h | |||
@@ -63,16 +63,26 @@ | |||
63 | extern "C" { | 63 | extern "C" { |
64 | #endif | 64 | #endif |
65 | 65 | ||
66 | #include "stack.h" | 66 | #ifndef NO_FP_API |
67 | #include <stdio.h> | ||
68 | #endif | ||
67 | 69 | ||
70 | #include <openssl/stack.h> | ||
71 | #include <openssl/opensslv.h> | ||
72 | |||
73 | #ifdef CHARSET_EBCDIC | ||
74 | #include <openssl/ebcdic.h> | ||
75 | #endif | ||
76 | |||
77 | /* Backward compatibility to SSLeay */ | ||
68 | /* This is more to be used to check the correct DLL is being used | 78 | /* This is more to be used to check the correct DLL is being used |
69 | * in the MS world. */ | 79 | * in the MS world. */ |
70 | #define SSLEAY_VERSION_NUMBER 0x0902 /* Version 0.5.1c would be 0513 */ | 80 | #define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER |
71 | |||
72 | #define SSLEAY_VERSION 0 | 81 | #define SSLEAY_VERSION 0 |
73 | /* #define SSLEAY_OPTIONS 1 no longer supported */ | 82 | /* #define SSLEAY_OPTIONS 1 no longer supported */ |
74 | #define SSLEAY_CFLAGS 2 | 83 | #define SSLEAY_CFLAGS 2 |
75 | #define SSLEAY_BUILT_ON 3 | 84 | #define SSLEAY_BUILT_ON 3 |
85 | #define SSLEAY_PLATFORM 4 | ||
76 | 86 | ||
77 | /* When changing the CRYPTO_LOCK_* list, be sure to maintin the text lock | 87 | /* When changing the CRYPTO_LOCK_* list, be sure to maintin the text lock |
78 | * names in cryptlib.c | 88 | * names in cryptlib.c |
@@ -92,19 +102,23 @@ extern "C" { | |||
92 | #define CRYPTO_LOCK_SSL_CTX 12 | 102 | #define CRYPTO_LOCK_SSL_CTX 12 |
93 | #define CRYPTO_LOCK_SSL_CERT 13 | 103 | #define CRYPTO_LOCK_SSL_CERT 13 |
94 | #define CRYPTO_LOCK_SSL_SESSION 14 | 104 | #define CRYPTO_LOCK_SSL_SESSION 14 |
95 | #define CRYPTO_LOCK_SSL 15 | 105 | #define CRYPTO_LOCK_SSL_SESS_CERT 15 |
96 | #define CRYPTO_LOCK_RAND 16 | 106 | #define CRYPTO_LOCK_SSL 16 |
97 | #define CRYPTO_LOCK_MALLOC 17 | 107 | #define CRYPTO_LOCK_RAND 17 |
98 | #define CRYPTO_LOCK_BIO 18 | 108 | #define CRYPTO_LOCK_MALLOC 18 |
99 | #define CRYPTO_LOCK_BIO_GETHOSTBYNAME 19 | 109 | #define CRYPTO_LOCK_BIO 19 |
100 | #define CRYPTO_LOCK_RSA_BLINDING 20 | 110 | #define CRYPTO_LOCK_GETHOSTBYNAME 20 |
101 | #define CRYPTO_NUM_LOCKS 21 | 111 | #define CRYPTO_LOCK_GETSERVBYNAME 21 |
112 | #define CRYPTO_LOCK_READDIR 22 | ||
113 | #define CRYPTO_LOCK_RSA_BLINDING 23 | ||
114 | #define CRYPTO_NUM_LOCKS 24 | ||
102 | 115 | ||
103 | #define CRYPTO_LOCK 1 | 116 | #define CRYPTO_LOCK 1 |
104 | #define CRYPTO_UNLOCK 2 | 117 | #define CRYPTO_UNLOCK 2 |
105 | #define CRYPTO_READ 4 | 118 | #define CRYPTO_READ 4 |
106 | #define CRYPTO_WRITE 8 | 119 | #define CRYPTO_WRITE 8 |
107 | 120 | ||
121 | #ifndef NO_LOCKING | ||
108 | #ifndef CRYPTO_w_lock | 122 | #ifndef CRYPTO_w_lock |
109 | #define CRYPTO_w_lock(type) \ | 123 | #define CRYPTO_w_lock(type) \ |
110 | CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) | 124 | CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) |
@@ -116,14 +130,22 @@ extern "C" { | |||
116 | CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__) | 130 | CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__) |
117 | #define CRYPTO_add(addr,amount,type) \ | 131 | #define CRYPTO_add(addr,amount,type) \ |
118 | CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__) | 132 | CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__) |
119 | 133 | #endif | |
134 | #else | ||
135 | #define CRYPTO_w_lock(a) | ||
136 | #define CRYPTO_w_unlock(a) | ||
137 | #define CRYPTO_r_lock(a) | ||
138 | #define CRYPTO_r_unlock(a) | ||
139 | #define CRYPTO_add(a,b,c) ((*(a))+=(b)) | ||
120 | #endif | 140 | #endif |
121 | 141 | ||
122 | /* The following can be used to detect memory leaks in the SSLeay library. | 142 | /* The following can be used to detect memory leaks in the SSLeay library. |
123 | * It used, it turns on malloc checking */ | 143 | * It used, it turns on malloc checking */ |
124 | 144 | ||
125 | #define CRYPTO_MEM_CHECK_OFF 0x0 | 145 | #define CRYPTO_MEM_CHECK_OFF 0x0 /* an enume */ |
126 | #define CRYPTO_MEM_CHECK_ON 0x1 | 146 | #define CRYPTO_MEM_CHECK_ON 0x1 /* a bit */ |
147 | #define CRYPTO_MEM_CHECK_ENABLE 0x2 /* a bit */ | ||
148 | #define CRYPTO_MEM_CHECK_DISABLE 0x3 /* an enume */ | ||
127 | 149 | ||
128 | /* | 150 | /* |
129 | typedef struct crypto_mem_st | 151 | typedef struct crypto_mem_st |
@@ -178,37 +200,65 @@ typedef struct crypto_ex_data_func_st | |||
178 | (char *(*)())realloc,\ | 200 | (char *(*)())realloc,\ |
179 | (void (*)())free) | 201 | (void (*)())free) |
180 | 202 | ||
203 | #ifdef CRYPTO_MDEBUG_ALL | ||
204 | # ifndef CRYPTO_MDEBUG_TIME | ||
205 | # define CRYPTO_MDEBUG_TIME | ||
206 | # endif | ||
207 | # ifndef CRYPTO_MDEBUG_THREAD | ||
208 | # define CRYPTO_MDEBUG_THREAD | ||
209 | # endif | ||
210 | #endif | ||
211 | |||
212 | #if defined CRYPTO_MDEBUG_TIME || defined CRYPTO_MDEBUG_THREAD | ||
213 | # ifndef CRYPTO_MDEBUG /* avoid duplicate #define */ | ||
214 | # define CRYPTO_MDEBUG | ||
215 | # endif | ||
216 | #endif | ||
217 | |||
181 | #ifdef CRYPTO_MDEBUG | 218 | #ifdef CRYPTO_MDEBUG |
219 | #define MemCheck_start() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON) | ||
220 | #define MemCheck_stop() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_OFF) | ||
221 | #define MemCheck_on() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ENABLE) | ||
222 | #define MemCheck_off() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_DISABLE) | ||
182 | #define Malloc(num) CRYPTO_dbg_malloc((int)num,__FILE__,__LINE__) | 223 | #define Malloc(num) CRYPTO_dbg_malloc((int)num,__FILE__,__LINE__) |
183 | #define Realloc(addr,num) \ | 224 | #define Realloc(addr,num) \ |
184 | CRYPTO_dbg_realloc((char *)addr,(int)num,__FILE__,__LINE__) | 225 | CRYPTO_dbg_realloc((char *)addr,(int)num,__FILE__,__LINE__) |
185 | #define Remalloc(addr,num) \ | 226 | #define Remalloc(addr,num) \ |
186 | CRYPTO_dbg_remalloc((char **)addr,(int)num,__FILE__,__LINE__) | 227 | CRYPTO_dbg_remalloc((char **)addr,(int)num,__FILE__,__LINE__) |
187 | #define FreeFunc CRYPTO_dbg_free | 228 | #define FreeFunc CRYPTO_dbg_free |
188 | #define Free(addr) CRYPTO_dbg_free((char *)(addr)) | 229 | #define Free(addr) CRYPTO_dbg_free(addr) |
230 | #define Malloc_locked(num) CRYPTO_malloc_locked((int)num) | ||
231 | #define Free_locked(addr) CRYPTO_free_locked(addr) | ||
189 | #else | 232 | #else |
233 | #define MemCheck_start() | ||
234 | #define MemCheck_stop() | ||
235 | #define MemCheck_on() | ||
236 | #define MemCheck_off() | ||
190 | #define Remalloc CRYPTO_remalloc | 237 | #define Remalloc CRYPTO_remalloc |
191 | #if defined(WIN32) || defined(MFUNC) | 238 | #if defined(WIN32) || defined(MFUNC) |
192 | #define Malloc CRYPTO_malloc | 239 | #define Malloc CRYPTO_malloc |
193 | #define Realloc(a,n) CRYPTO_realloc((char *)(a),(n)) | 240 | #define Realloc(a,n) CRYPTO_realloc(a,(n)) |
194 | #define FreeFunc CRYPTO_free | 241 | #define FreeFunc CRYPTO_free |
195 | #define Free(addr) CRYPTO_free((char *)(addr)) | 242 | #define Free(addr) CRYPTO_free(addr) |
243 | #define Malloc_locked CRYPTO_malloc_locked | ||
244 | #define Free_locked(addr) CRYPTO_free_locked(addr) | ||
196 | #else | 245 | #else |
197 | #define Malloc malloc | 246 | #define Malloc malloc |
198 | #define Realloc realloc | 247 | #define Realloc realloc |
199 | #define FreeFunc free | 248 | #define FreeFunc free |
200 | #define Free(addr) free((char *)(addr)) | 249 | #define Free(addr) free(addr) |
250 | #define Malloc_locked malloc | ||
251 | #define Free_locked(addr) free(addr) | ||
201 | #endif /* WIN32 || MFUNC */ | 252 | #endif /* WIN32 || MFUNC */ |
202 | #endif /* MDEBUG */ | 253 | #endif /* MDEBUG */ |
203 | 254 | ||
204 | /* Case insensiteve linking causes problems.... */ | 255 | /* Case insensiteve linking causes problems.... */ |
205 | #ifdef WIN16 | 256 | #if defined(WIN16) || defined(VMS) |
206 | #define ERR_load_CRYPTO_strings ERR_load_CRYPTOlib_strings | 257 | #define ERR_load_CRYPTO_strings ERR_load_CRYPTOlib_strings |
207 | #endif | 258 | #endif |
208 | 259 | ||
209 | #ifndef NOPROTO | ||
210 | 260 | ||
211 | char *SSLeay_version(int type); | 261 | const char *SSLeay_version(int type); |
212 | unsigned long SSLeay(void); | 262 | unsigned long SSLeay(void); |
213 | 263 | ||
214 | int CRYPTO_get_ex_new_index(int idx,STACK **sk,long argl,char *argp, | 264 | int CRYPTO_get_ex_new_index(int idx,STACK **sk,long argl,char *argp, |
@@ -221,33 +271,40 @@ void CRYPTO_new_ex_data(STACK *meth, char *obj, CRYPTO_EX_DATA *ad); | |||
221 | 271 | ||
222 | int CRYPTO_mem_ctrl(int mode); | 272 | int CRYPTO_mem_ctrl(int mode); |
223 | int CRYPTO_get_new_lockid(char *name); | 273 | int CRYPTO_get_new_lockid(char *name); |
224 | void CRYPTO_lock(int mode, int type,char *file,int line); | 274 | |
225 | void CRYPTO_set_locking_callback(void (*func)(int mode,int type,char *file, | 275 | int CRYPTO_num_locks(void); /* return CRYPTO_NUM_LOCKS (shared libs!) */ |
226 | int line)); | 276 | void CRYPTO_lock(int mode, int type,const char *file,int line); |
227 | void (*CRYPTO_get_locking_callback(void))(int mode,int type,char *file, | 277 | void CRYPTO_set_locking_callback(void (*func)(int mode,int type, |
278 | const char *file,int line)); | ||
279 | void (*CRYPTO_get_locking_callback(void))(int mode,int type,const char *file, | ||
228 | int line); | 280 | int line); |
229 | void CRYPTO_set_add_lock_callback(int (*func)(int *num,int mount, | 281 | void CRYPTO_set_add_lock_callback(int (*func)(int *num,int mount,int type, |
230 | int type,char *file, int line)); | 282 | const char *file, int line)); |
231 | int (*CRYPTO_get_add_lock_callback(void))(int *num,int mount, | 283 | int (*CRYPTO_get_add_lock_callback(void))(int *num,int mount,int type, |
232 | int type,char *file,int line); | 284 | const char *file,int line); |
233 | void CRYPTO_set_id_callback(unsigned long (*func)(void)); | 285 | void CRYPTO_set_id_callback(unsigned long (*func)(void)); |
234 | unsigned long (*CRYPTO_get_id_callback(void))(void); | 286 | unsigned long (*CRYPTO_get_id_callback(void))(void); |
235 | unsigned long CRYPTO_thread_id(void); | 287 | unsigned long CRYPTO_thread_id(void); |
236 | char *CRYPTO_get_lock_name(int type); | 288 | const char *CRYPTO_get_lock_name(int type); |
237 | int CRYPTO_add_lock(int *pointer,int amount,int type, char *file,int line); | 289 | int CRYPTO_add_lock(int *pointer,int amount,int type, const char *file, |
290 | int line); | ||
238 | 291 | ||
239 | void CRYPTO_set_mem_functions(char *(*m)(),char *(*r)(), void (*free_func)()); | 292 | void CRYPTO_set_mem_functions(char *(*m)(),char *(*r)(), void (*free_func)()); |
240 | void CRYPTO_get_mem_functions(char *(**m)(),char *(**r)(), void (**f)()); | 293 | void CRYPTO_get_mem_functions(char *(**m)(),char *(**r)(), void (**f)()); |
241 | 294 | void CRYPTO_set_locked_mem_functions(char *(*m)(), void (*free_func)()); | |
242 | char *CRYPTO_malloc(int num); | 295 | void CRYPTO_get_locked_mem_functions(char *(**m)(), void (**f)()); |
243 | char *CRYPTO_realloc(char *addr,int num); | 296 | |
244 | void CRYPTO_free(char *); | 297 | void *CRYPTO_malloc_locked(int num); |
245 | char *CRYPTO_remalloc(char *addr,int num); | 298 | void CRYPTO_free_locked(void *); |
246 | 299 | void *CRYPTO_malloc(int num); | |
247 | char *CRYPTO_dbg_malloc(int num,char *file,int line); | 300 | void CRYPTO_free(void *); |
248 | char *CRYPTO_dbg_realloc(char *addr,int num,char *file,int line); | 301 | void *CRYPTO_realloc(void *addr,int num); |
249 | void CRYPTO_dbg_free(char *); | 302 | void *CRYPTO_remalloc(void *addr,int num); |
250 | char *CRYPTO_dbg_remalloc(char *addr,int num,char *file,int line); | 303 | |
304 | void *CRYPTO_dbg_malloc(int num,const char *file,int line); | ||
305 | void *CRYPTO_dbg_realloc(void *addr,int num,const char *file,int line); | ||
306 | void CRYPTO_dbg_free(void *); | ||
307 | void *CRYPTO_dbg_remalloc(void *addr,int num,const char *file,int line); | ||
251 | #ifndef NO_FP_API | 308 | #ifndef NO_FP_API |
252 | void CRYPTO_mem_leaks_fp(FILE *); | 309 | void CRYPTO_mem_leaks_fp(FILE *); |
253 | #endif | 310 | #endif |
@@ -257,52 +314,11 @@ void CRYPTO_mem_leaks_cb(void (*cb)()); | |||
257 | 314 | ||
258 | void ERR_load_CRYPTO_strings(void ); | 315 | void ERR_load_CRYPTO_strings(void ); |
259 | 316 | ||
260 | #else | ||
261 | |||
262 | int CRYPTO_get_ex_new_index(); | ||
263 | int CRYPTO_set_ex_data(); | ||
264 | char *CRYPTO_get_ex_data(); | ||
265 | int CRYPTO_dup_ex_data(); | ||
266 | void CRYPTO_free_ex_data(); | ||
267 | void CRYPTO_new_ex_data(); | ||
268 | |||
269 | int CRYPTO_mem_ctrl(); | ||
270 | char *SSLeay_version(); | ||
271 | unsigned long SSLeay(); | ||
272 | |||
273 | int CRYPTO_get_new_lockid(); | ||
274 | void CRYPTO_lock(); | ||
275 | void CRYPTO_set_locking_callback(); | ||
276 | void (*CRYPTO_get_locking_callback())(); | ||
277 | void CRYPTO_set_add_lock_callback(); | ||
278 | int (*CRYPTO_get_add_lock_callback())(); | ||
279 | void CRYPTO_set_id_callback(); | ||
280 | unsigned long (*CRYPTO_get_id_callback())(); | ||
281 | unsigned long CRYPTO_thread_id(); | ||
282 | char *CRYPTO_get_lock_name(); | ||
283 | int CRYPTO_add_lock(); | ||
284 | |||
285 | void CRYPTO_set_mem_functions(); | ||
286 | void CRYPTO_get_mem_functions(); | ||
287 | char *CRYPTO_malloc(); | ||
288 | char *CRYPTO_realloc(); | ||
289 | void CRYPTO_free(); | ||
290 | char *CRYPTO_remalloc(); | ||
291 | char *CRYPTO_dbg_remalloc(); | ||
292 | char *CRYPTO_dbg_malloc(); | ||
293 | char *CRYPTO_dbg_realloc(); | ||
294 | void CRYPTO_dbg_free(); | ||
295 | #ifndef NO_FP_API | ||
296 | void CRYPTO_mem_leaks_fp(); | ||
297 | #endif | ||
298 | void CRYPTO_mem_leaks(); | ||
299 | void CRYPTO_mem_leaks_cb(); | ||
300 | |||
301 | void ERR_load_CRYPTO_strings(); | ||
302 | |||
303 | #endif | ||
304 | |||
305 | /* BEGIN ERROR CODES */ | 317 | /* BEGIN ERROR CODES */ |
318 | /* The following lines are auto generated by the script mkerr.pl. Any changes | ||
319 | * made after this point may be overwritten when the script is next run. | ||
320 | */ | ||
321 | |||
306 | /* Error codes for the CRYPTO functions. */ | 322 | /* Error codes for the CRYPTO functions. */ |
307 | 323 | ||
308 | /* Function codes. */ | 324 | /* Function codes. */ |
@@ -311,7 +327,7 @@ void ERR_load_CRYPTO_strings(); | |||
311 | #define CRYPTO_F_CRYPTO_SET_EX_DATA 102 | 327 | #define CRYPTO_F_CRYPTO_SET_EX_DATA 102 |
312 | 328 | ||
313 | /* Reason codes. */ | 329 | /* Reason codes. */ |
314 | 330 | ||
315 | #ifdef __cplusplus | 331 | #ifdef __cplusplus |
316 | } | 332 | } |
317 | #endif | 333 | #endif |