Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 635038
Collapse All | Expand All

(-)khtml-5.39.0-orig/src/html/kopenssl.h (-13 / +67 lines)
Lines 42-48 Link Here
42
#include <openssl/bn.h>
42
#include <openssl/bn.h>
43
#undef crypt
43
#undef crypt
44
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
44
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
45
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
46
typedef void* STACK;
47
#else
45
#define STACK _STACK
48
#define STACK _STACK
49
#endif
46
#define OSSL_SKVALUE_RTYPE void
50
#define OSSL_SKVALUE_RTYPE void
47
#define OSSL_MORECONST const
51
#define OSSL_MORECONST const
48
#else
52
#else
Lines 278-283 Link Here
278
    X509 *X509_dup(X509 *x509);
282
    X509 *X509_dup(X509 *x509);
279
283
280
    /*
284
    /*
285
     *   X509_getm_notBefore - get validity start
286
     */
287
    ASN1_TIME *X509_getm_notBefore(const X509 *x);
288
289
    /*
290
     *   X509_getm_notAfter - get validity end
291
     */
292
    ASN1_TIME *X509_getm_notAfter(const X509 *x);
293
294
    /*
281
     *   X509_STORE_CTX_new - create an X509 store context
295
     *   X509_STORE_CTX_new - create an X509 store context
282
     */
296
     */
283
    X509_STORE_CTX *X509_STORE_CTX_new(void);
297
    X509_STORE_CTX *X509_STORE_CTX_new(void);
Lines 297-302 Link Here
297
     */
311
     */
298
    void X509_STORE_CTX_set_purpose(X509_STORE_CTX *v, int purpose);
312
    void X509_STORE_CTX_set_purpose(X509_STORE_CTX *v, int purpose);
299
313
314
    /**
315
     *   X509_STORE_CTX_get_current_cert - get the current certificate
316
     */
317
    X509 *X509_STORE_CTX_get_current_cert(X509_STORE_CTX *v);
318
319
    /**
320
     *   X509_STORE_CTX_set_error - set certificate error
321
     */
322
    void X509_STORE_CTX_set_error(X509_STORE_CTX *v, int error);
323
324
    /**
325
     *   X509_STORE_CTX_get_error - get certificate error
326
     */
327
    int X509_STORE_CTX_get_error(X509_STORE_CTX *v);
328
300
    /*
329
    /*
301
     *   X509_verify_cert - verify the certificate
330
     *   X509_verify_cert - verify the certificate
302
     */
331
     */
Lines 313-318 Link Here
313
    void X509_STORE_free(X509_STORE *v);
342
    void X509_STORE_free(X509_STORE *v);
314
343
315
    /*
344
    /*
345
     *   X509_STORE_set_verify_cb - set verify callback
346
     */
347
    void X509_STORE_set_verify_cb(X509_STORE *v, int (*verify_cb)(int, X509_STORE_CTX *));
348
349
    /*
316
     *   X509_free - free up an X509
350
     *   X509_free - free up an X509
317
     */
351
     */
318
    void X509_free(X509 *v);
352
    void X509_free(X509 *v);
Lines 333-338 Link Here
333
    X509_NAME *X509_get_issuer_name(X509 *a);
367
    X509_NAME *X509_get_issuer_name(X509 *a);
334
368
335
    /*
369
    /*
370
     *   X509_get0_signature - return X509 signature and signature algorithm
371
     */
372
    void X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg, const X509 *x);
373
374
    /*
336
     *   X509_STORE_add_lookup - add a lookup file/method to an X509 store
375
     *   X509_STORE_add_lookup - add a lookup file/method to an X509 store
337
     */
376
     */
338
    X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m);
377
    X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m);
Lines 360-366 Link Here
360
    /*
399
    /*
361
     *   CRYPTO_free - free up an internally allocated object
400
     *   CRYPTO_free - free up an internally allocated object
362
     */
401
     */
402
#if OPENSSL_VERSION_NUMBER < 0x10100000L
363
    void CRYPTO_free(void *x);
403
    void CRYPTO_free(void *x);
404
#else
405
    void CRYPTO_free(void *x, const char *file, int line);
406
#endif
364
407
365
    /*
408
    /*
366
     *   BIO_new - create new BIO
409
     *   BIO_new - create new BIO
Lines 461-518 Link Here
461
    /*
504
    /*
462
     *   Pop off the stack
505
     *   Pop off the stack
463
     */
506
     */
464
    char *sk_pop(STACK *s);
507
    char *OPENSSL_sk_pop(STACK *s);
465
508
466
    /*
509
    /*
467
     *   Free the stack
510
     *   Free the stack
468
     */
511
     */
469
    void sk_free(STACK *s);
512
    void OPENSSL_sk_free(STACK *s);
470
513
471
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
514
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
472
    void sk_free(void *s)
515
    void OPENSSL_sk_free(void *s)
473
    {
516
    {
474
        return sk_free(reinterpret_cast<STACK *>(s));
517
        return OPENSSL_sk_free(reinterpret_cast<STACK *>(s));
475
    }
518
    }
476
#endif
519
#endif
477
520
478
    /*
521
    /*
479
     *  Number of elements in the stack
522
     *  Number of elements in the stack
480
     */
523
     */
481
    int sk_num(STACK *s);
524
    int OPENSSL_sk_num(STACK *s);
482
525
483
    /*
526
    /*
484
     *  Value of element n in the stack
527
     *  Value of element n in the stack
485
     */
528
     */
486
    char *sk_value(STACK *s, int n);
529
    char *OPENSSL_sk_value(STACK *s, int n);
487
530
488
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
531
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
489
    char *sk_value(void *s, int n)
532
    char *OPENSSL_sk_value(void *s, int n)
490
    {
533
    {
491
        return sk_value(reinterpret_cast<STACK *>(s), n);
534
        return OPENSSL_sk_value(reinterpret_cast<STACK *>(s), n);
492
    }
535
    }
493
#endif
536
#endif
494
537
495
    /*
538
    /*
496
     *  Create a new stack
539
     *  Create a new stack
497
     */
540
     */
498
    STACK *sk_new(int (*cmp)());
541
    STACK *OPENSSL_sk_new(int (*cmp)());
499
542
500
    /*
543
    /*
501
     *  Add an element to the stack
544
     *  Add an element to the stack
502
     */
545
     */
503
    int sk_push(STACK *s, char *d);
546
    int OPENSSL_sk_push(STACK *s, char *d);
504
547
505
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
548
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
506
    int sk_push(void *s, void *d)
549
    int OPENSSL_sk_push(void *s, void *d)
507
    {
550
    {
508
        return sk_push(reinterpret_cast<STACK *>(s), reinterpret_cast<char *>(d));
551
        return OPENSSL_sk_push(reinterpret_cast<STACK *>(s), reinterpret_cast<char *>(d));
509
    }
552
    }
510
#endif
553
#endif
511
554
512
    /*
555
    /*
513
     *  Duplicate the stack
556
     *  Duplicate the stack
514
     */
557
     */
515
    STACK *sk_dup(STACK *s);
558
    STACK *OPENSSL_sk_dup(STACK *s);
516
559
517
    /*
560
    /*
518
     *  Convert an ASN1_INTEGER to its text form
561
     *  Convert an ASN1_INTEGER to its text form
Lines 744-749 Link Here
744
    int EVP_PKEY_assign(EVP_PKEY *pkey, int type, char *key);
787
    int EVP_PKEY_assign(EVP_PKEY *pkey, int type, char *key);
745
788
746
    /*
789
    /*
790
     * Get key type
791
     */
792
    int EVP_PKEY_base_id(EVP_PKEY *pkey);
793
794
    RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey);
795
    void RSA_get0_key(RSA *rsa, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d);
796
    DSA *EVP_PKEY_get0_DSA(EVP_PKEY *pkey);
797
    void DSA_get0_pqg(DSA *dsa, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g);
798
    void DSA_get0_key(DSA *dsa, const BIGNUM **pub_key, const BIGNUM **priv_key);
799
800
    /*
747
     * Generate a RSA key
801
     * Generate a RSA key
748
     */
802
     */
749
    RSA *RSA_generate_key(int bits, unsigned long e, void
803
    RSA *RSA_generate_key(int bits, unsigned long e, void
(-)khtml-5.39.0-orig/src/html/kopenssl.cpp (-35 / +271 lines)
Lines 69-86 Link Here
69
    static int (*K_X509_verify_cert)(X509_STORE_CTX *) = nullptr;
69
    static int (*K_X509_verify_cert)(X509_STORE_CTX *) = nullptr;
70
    static X509_STORE_CTX *(*K_X509_STORE_CTX_new)(void) = nullptr;
70
    static X509_STORE_CTX *(*K_X509_STORE_CTX_new)(void) = nullptr;
71
    static void (*K_X509_STORE_free)(X509_STORE *) = nullptr;
71
    static void (*K_X509_STORE_free)(X509_STORE *) = nullptr;
72
    static void (*K_X509_STORE_set_verify_cb)(X509_STORE *, int (*)(int, X509_STORE_CTX *)) = nullptr;
72
    static X509_STORE *(*K_X509_STORE_new)(void) = nullptr;
73
    static X509_STORE *(*K_X509_STORE_new)(void) = nullptr;
73
    static void (*K_X509_free)(X509 *) = nullptr;
74
    static void (*K_X509_free)(X509 *) = nullptr;
74
    static char *(*K_X509_NAME_oneline)(X509_NAME *, char *, int) = nullptr;
75
    static char *(*K_X509_NAME_oneline)(X509_NAME *, char *, int) = nullptr;
75
    static X509_NAME *(*K_X509_get_subject_name)(X509 *) = nullptr;
76
    static X509_NAME *(*K_X509_get_subject_name)(X509 *) = nullptr;
76
    static X509_NAME *(*K_X509_get_issuer_name)(X509 *) = nullptr;
77
    static X509_NAME *(*K_X509_get_issuer_name)(X509 *) = nullptr;
78
    static void (*K_X509_get0_signature)(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg, const X509 *x) = nullptr;
77
    static X509_LOOKUP *(*K_X509_STORE_add_lookup)(X509_STORE *, X509_LOOKUP_METHOD *) = nullptr;
79
    static X509_LOOKUP *(*K_X509_STORE_add_lookup)(X509_STORE *, X509_LOOKUP_METHOD *) = nullptr;
78
    static X509_LOOKUP_METHOD *(*K_X509_LOOKUP_file)(void) = nullptr;
80
    static X509_LOOKUP_METHOD *(*K_X509_LOOKUP_file)(void) = nullptr;
79
    static void (*K_X509_LOOKUP_free)(X509_LOOKUP *) = nullptr;
81
    static void (*K_X509_LOOKUP_free)(X509_LOOKUP *) = nullptr;
80
    static int (*K_X509_LOOKUP_ctrl)(X509_LOOKUP *, int, const char *, long, char **) = nullptr;
82
    static int (*K_X509_LOOKUP_ctrl)(X509_LOOKUP *, int, const char *, long, char **) = nullptr;
81
    static void (*K_X509_STORE_CTX_init)(X509_STORE_CTX *, X509_STORE *, X509 *, STACK_OF(X509) *) = nullptr;
83
    static void (*K_X509_STORE_CTX_init)(X509_STORE_CTX *, X509_STORE *, X509 *, STACK_OF(X509) *) = nullptr;
84
#if OPENSSL_VERSION_NUMBER < 0x10100000L
82
    static void (*K_CRYPTO_free)(void *) = nullptr;
85
    static void (*K_CRYPTO_free)(void *) = nullptr;
86
#else
87
    static void (*K_CRYPTO_free)(void *, const char *, int) = nullptr;
88
#endif
83
    static X509 *(*K_X509_dup)(X509 *) = nullptr;
89
    static X509 *(*K_X509_dup)(X509 *) = nullptr;
90
    static ASN1_TIME *(*K_X509_getm_notBefore)(const X509 *) = nullptr;
91
    static ASN1_TIME *(*K_X509_getm_notAfter)(const X509 *) = nullptr;
84
    static BIO_METHOD *(*K_BIO_s_mem)(void) = nullptr;
92
    static BIO_METHOD *(*K_BIO_s_mem)(void) = nullptr;
85
    static BIO *(*K_BIO_new)(BIO_METHOD *) = nullptr;
93
    static BIO *(*K_BIO_new)(BIO_METHOD *) = nullptr;
86
    static BIO *(*K_BIO_new_fp)(FILE *, int) = nullptr;
94
    static BIO *(*K_BIO_new_fp)(FILE *, int) = nullptr;
Lines 112-124 Link Here
112
    static STACK_OF(X509) *(*K_SSL_get_peer_cert_chain)(SSL *) = nullptr;
120
    static STACK_OF(X509) *(*K_SSL_get_peer_cert_chain)(SSL *) = nullptr;
113
    static void (*K_X509_STORE_CTX_set_chain)(X509_STORE_CTX *, STACK_OF(X509) *) = nullptr;
121
    static void (*K_X509_STORE_CTX_set_chain)(X509_STORE_CTX *, STACK_OF(X509) *) = nullptr;
114
    static void (*K_X509_STORE_CTX_set_purpose)(X509_STORE_CTX *, int) = nullptr;
122
    static void (*K_X509_STORE_CTX_set_purpose)(X509_STORE_CTX *, int) = nullptr;
115
    static void (*K_sk_free)(STACK *) = nullptr;
123
    static X509 *(*K_X509_STORE_CTX_get_current_cert)(X509_STORE_CTX *) = nullptr;
116
    static int (*K_sk_num)(STACK *) = nullptr;
124
    static void (*K_X509_STORE_CTX_set_error)(X509_STORE_CTX *, int) = nullptr;
117
    static char *(*K_sk_pop)(STACK *) = nullptr;
125
    static int (*K_X509_STORE_CTX_get_error)(X509_STORE_CTX *) = nullptr;
118
    static char *(*K_sk_value)(STACK *, int) = nullptr;
126
    static void (*K_OPENSSL_sk_free)(STACK *) = nullptr;
119
    static STACK *(*K_sk_new)(int (*)()) = nullptr;
127
    static int (*K_OPENSSL_sk_num)(STACK *) = nullptr;
120
    static int (*K_sk_push)(STACK *, char *) = nullptr;
128
    static char *(*K_OPENSSL_sk_pop)(STACK *) = nullptr;
121
    static STACK *(*K_sk_dup)(STACK *) = nullptr;
129
    static char *(*K_OPENSSL_sk_value)(STACK *, int) = nullptr;
130
    static STACK *(*K_OPENSSL_sk_new)(int (*)()) = nullptr;
131
    static int (*K_OPENSSL_sk_push)(STACK *, char *) = nullptr;
132
    static STACK *(*K_OPENSSL_sk_dup)(STACK *) = nullptr;
122
    static char *(*K_i2s_ASN1_INTEGER)(X509V3_EXT_METHOD *, ASN1_INTEGER *) = nullptr;
133
    static char *(*K_i2s_ASN1_INTEGER)(X509V3_EXT_METHOD *, ASN1_INTEGER *) = nullptr;
123
    static ASN1_INTEGER *(*K_X509_get_serialNumber)(X509 *) = nullptr;
134
    static ASN1_INTEGER *(*K_X509_get_serialNumber)(X509 *) = nullptr;
124
    static EVP_PKEY *(*K_X509_get_pubkey)(X509 *) = nullptr;
135
    static EVP_PKEY *(*K_X509_get_pubkey)(X509 *) = nullptr;
Lines 158-163 Link Here
158
    static int (*K_X509_check_purpose)(X509 *, int, int) = nullptr;
169
    static int (*K_X509_check_purpose)(X509 *, int, int) = nullptr;
159
    static X509_PURPOSE *(*K_X509_PURPOSE_get0)(int) = nullptr;
170
    static X509_PURPOSE *(*K_X509_PURPOSE_get0)(int) = nullptr;
160
    static int (*K_EVP_PKEY_assign)(EVP_PKEY *, int, char *) = nullptr;
171
    static int (*K_EVP_PKEY_assign)(EVP_PKEY *, int, char *) = nullptr;
172
    static int (*K_EVP_PKEY_base_id)(EVP_PKEY *) = nullptr;
173
    static RSA *(*K_EVP_PKEY_get0_RSA)(EVP_PKEY *) = nullptr;
174
    static void (*K_RSA_get0_key)(RSA *, const BIGNUM **, const BIGNUM **, const BIGNUM **) = nullptr;
175
    static DSA *(*K_EVP_PKEY_get0_DSA)(EVP_PKEY *) = nullptr;
176
    static void (*K_DSA_get0_pqg)(DSA *, const BIGNUM **, const BIGNUM **, const BIGNUM **) = nullptr;
177
    static void (*K_DSA_get0_key)(DSA *, const BIGNUM **, const BIGNUM **) = nullptr;
161
    static int (*K_X509_REQ_set_pubkey)(X509_REQ *, EVP_PKEY *) = nullptr;
178
    static int (*K_X509_REQ_set_pubkey)(X509_REQ *, EVP_PKEY *) = nullptr;
162
    static RSA *(*K_RSA_generate_key)(int, unsigned long, void (*)(int, int, void *), void *) = nullptr;
179
    static RSA *(*K_RSA_generate_key)(int, unsigned long, void (*)(int, int, void *), void *) = nullptr;
163
    static int (*K_i2d_X509_REQ_fp)(FILE *, X509_REQ *) = nullptr;
180
    static int (*K_i2d_X509_REQ_fp)(FILE *, X509_REQ *) = nullptr;
Lines 413-419 Link Here
413
        K_RAND_load_file = (int (*)(const char *, long)) d->cryptoLib->resolve("RAND_load_file");
430
        K_RAND_load_file = (int (*)(const char *, long)) d->cryptoLib->resolve("RAND_load_file");
414
        K_RAND_file_name = (const char *(*)(char *, size_t)) d->cryptoLib->resolve("RAND_file_name");
431
        K_RAND_file_name = (const char *(*)(char *, size_t)) d->cryptoLib->resolve("RAND_file_name");
415
        K_RAND_write_file = (int (*)(const char *)) d->cryptoLib->resolve("RAND_write_file");
432
        K_RAND_write_file = (int (*)(const char *)) d->cryptoLib->resolve("RAND_write_file");
433
#if OPENSSL_VERSION_NUMBER < 0x10100000L
416
        K_CRYPTO_free = (void (*)(void *)) d->cryptoLib->resolve("CRYPTO_free");
434
        K_CRYPTO_free = (void (*)(void *)) d->cryptoLib->resolve("CRYPTO_free");
435
#else
436
        K_CRYPTO_free = (void (*)(void *, const char *, int)) d->cryptoLib->resolve("CRYPTO_free");
437
#endif
417
        K_d2i_X509 = (X509 * (*)(X509 **, unsigned char **, long)) d->cryptoLib->resolve("d2i_X509");
438
        K_d2i_X509 = (X509 * (*)(X509 **, unsigned char **, long)) d->cryptoLib->resolve("d2i_X509");
418
        K_i2d_X509 = (int (*)(X509 *, unsigned char **)) d->cryptoLib->resolve("i2d_X509");
439
        K_i2d_X509 = (int (*)(X509 *, unsigned char **)) d->cryptoLib->resolve("i2d_X509");
419
        K_X509_cmp = (int (*)(X509 *, X509 *)) d->cryptoLib->resolve("X509_cmp");
440
        K_X509_cmp = (int (*)(X509 *, X509 *)) d->cryptoLib->resolve("X509_cmp");
Lines 422-436 Link Here
422
        K_X509_verify_cert = (int (*)(X509_STORE_CTX *)) d->cryptoLib->resolve("X509_verify_cert");
443
        K_X509_verify_cert = (int (*)(X509_STORE_CTX *)) d->cryptoLib->resolve("X509_verify_cert");
423
        K_X509_STORE_new = (X509_STORE * (*)(void)) d->cryptoLib->resolve("X509_STORE_new");
444
        K_X509_STORE_new = (X509_STORE * (*)(void)) d->cryptoLib->resolve("X509_STORE_new");
424
        K_X509_STORE_free = (void (*)(X509_STORE *)) d->cryptoLib->resolve("X509_STORE_free");
445
        K_X509_STORE_free = (void (*)(X509_STORE *)) d->cryptoLib->resolve("X509_STORE_free");
446
        K_X509_STORE_set_verify_cb = (void (*)(X509_STORE *, int (*)(int, X509_STORE_CTX *))) d->cryptoLib->resolve("X509_STORE_set_verify_cb");
425
        K_X509_NAME_oneline = (char *(*)(X509_NAME *, char *, int)) d->cryptoLib->resolve("X509_NAME_oneline");
447
        K_X509_NAME_oneline = (char *(*)(X509_NAME *, char *, int)) d->cryptoLib->resolve("X509_NAME_oneline");
426
        K_X509_get_subject_name = (X509_NAME * (*)(X509 *)) d->cryptoLib->resolve("X509_get_subject_name");
448
        K_X509_get_subject_name = (X509_NAME * (*)(X509 *)) d->cryptoLib->resolve("X509_get_subject_name");
427
        K_X509_get_issuer_name = (X509_NAME * (*)(X509 *)) d->cryptoLib->resolve("X509_get_issuer_name");
449
        K_X509_get_issuer_name = (X509_NAME * (*)(X509 *)) d->cryptoLib->resolve("X509_get_issuer_name");
450
        K_X509_get0_signature = (void (*)(const ASN1_BIT_STRING **, const X509_ALGOR **, const X509 *)) d->cryptoLib->resolve("X509_get0_signature");
428
        K_X509_STORE_add_lookup = (X509_LOOKUP * (*)(X509_STORE *, X509_LOOKUP_METHOD *)) d->cryptoLib->resolve("X509_STORE_add_lookup");
451
        K_X509_STORE_add_lookup = (X509_LOOKUP * (*)(X509_STORE *, X509_LOOKUP_METHOD *)) d->cryptoLib->resolve("X509_STORE_add_lookup");
429
        K_X509_LOOKUP_file = (X509_LOOKUP_METHOD * (*)(void)) d->cryptoLib->resolve("X509_LOOKUP_file");
452
        K_X509_LOOKUP_file = (X509_LOOKUP_METHOD * (*)(void)) d->cryptoLib->resolve("X509_LOOKUP_file");
430
        K_X509_LOOKUP_free = (void (*)(X509_LOOKUP *)) d->cryptoLib->resolve("X509_LOOKUP_free");
453
        K_X509_LOOKUP_free = (void (*)(X509_LOOKUP *)) d->cryptoLib->resolve("X509_LOOKUP_free");
431
        K_X509_LOOKUP_ctrl = (int (*)(X509_LOOKUP *, int, const char *, long, char **)) d->cryptoLib->resolve("X509_LOOKUP_ctrl");
454
        K_X509_LOOKUP_ctrl = (int (*)(X509_LOOKUP *, int, const char *, long, char **)) d->cryptoLib->resolve("X509_LOOKUP_ctrl");
432
        K_X509_STORE_CTX_init = (void (*)(X509_STORE_CTX *, X509_STORE *, X509 *, STACK_OF(X509) *)) d->cryptoLib->resolve("X509_STORE_CTX_init");
455
        K_X509_STORE_CTX_init = (void (*)(X509_STORE_CTX *, X509_STORE *, X509 *, STACK_OF(X509) *)) d->cryptoLib->resolve("X509_STORE_CTX_init");
433
        K_X509_dup = (X509 * (*)(X509 *)) d->cryptoLib->resolve("X509_dup");
456
        K_X509_dup = (X509 * (*)(X509 *)) d->cryptoLib->resolve("X509_dup");
457
        K_X509_getm_notBefore = (ASN1_TIME *(*)(const X509 *)) d->cryptoLib->resolve("X509_getm_notBefore");
458
        K_X509_getm_notAfter = (ASN1_TIME *(*)(const X509 *)) d->cryptoLib->resolve("X509_getm_notAfter");
434
        K_BIO_s_mem = (BIO_METHOD * (*)(void)) d->cryptoLib->resolve("BIO_s_mem");
459
        K_BIO_s_mem = (BIO_METHOD * (*)(void)) d->cryptoLib->resolve("BIO_s_mem");
435
        K_BIO_new = (BIO * (*)(BIO_METHOD *)) d->cryptoLib->resolve("BIO_new");
460
        K_BIO_new = (BIO * (*)(BIO_METHOD *)) d->cryptoLib->resolve("BIO_new");
436
        K_BIO_new_fp = (BIO * (*)(FILE *, int)) d->cryptoLib->resolve("BIO_new_fp");
461
        K_BIO_new_fp = (BIO * (*)(FILE *, int)) d->cryptoLib->resolve("BIO_new_fp");
Lines 457-469 Link Here
457
        K_X509_REQ_new = (X509_REQ * (*)()) d->cryptoLib->resolve("X509_REQ_new");
482
        K_X509_REQ_new = (X509_REQ * (*)()) d->cryptoLib->resolve("X509_REQ_new");
458
        K_X509_STORE_CTX_set_chain = (void (*)(X509_STORE_CTX *, STACK_OF(X509) *)) d->cryptoLib->resolve("X509_STORE_CTX_set_chain");
483
        K_X509_STORE_CTX_set_chain = (void (*)(X509_STORE_CTX *, STACK_OF(X509) *)) d->cryptoLib->resolve("X509_STORE_CTX_set_chain");
459
        K_X509_STORE_CTX_set_purpose = (void (*)(X509_STORE_CTX *, int)) d->cryptoLib->resolve("X509_STORE_CTX_set_purpose");
484
        K_X509_STORE_CTX_set_purpose = (void (*)(X509_STORE_CTX *, int)) d->cryptoLib->resolve("X509_STORE_CTX_set_purpose");
460
        K_sk_free = (void (*)(STACK *)) d->cryptoLib->resolve("sk_free");
485
        K_X509_STORE_CTX_get_current_cert = (X509 * (*)(X509_STORE_CTX *)) d->cryptoLib->resolve("X509_STORE_CTX_get_current_cert");
461
        K_sk_num = (int (*)(STACK *)) d->cryptoLib->resolve("sk_num");
486
        K_X509_STORE_CTX_set_error = (void (*)(X509_STORE_CTX *, int)) d->cryptoLib->resolve("X509_STORE_CTX_set_error");
462
        K_sk_pop = (char *(*)(STACK *)) d->cryptoLib->resolve("sk_pop");
487
        K_X509_STORE_CTX_get_error = (int (*)(X509_STORE_CTX *)) d->cryptoLib->resolve("X509_STORE_CTX_get_error");
463
        K_sk_value = (char *(*)(STACK *, int)) d->cryptoLib->resolve("sk_value");
488
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
464
        K_sk_new = (STACK * (*)(int (*)())) d->cryptoLib->resolve("sk_new");
489
        K_OPENSSL_sk_free = (void (*)(STACK *)) d->cryptoLib->resolve("OPENSSL_sk_free");
465
        K_sk_push = (int (*)(STACK *, char *)) d->cryptoLib->resolve("sk_push");
490
        K_OPENSSL_sk_num = (int (*)(STACK *)) d->cryptoLib->resolve("OPENSSL_sk_num");
466
        K_sk_dup = (STACK * (*)(STACK *)) d->cryptoLib->resolve("sk_dup");
491
        K_OPENSSL_sk_pop = (char *(*)(STACK *)) d->cryptoLib->resolve("OPENSSL_sk_pop");
492
        K_OPENSSL_sk_value = (char *(*)(STACK *, int)) d->cryptoLib->resolve("OPENSSL_sk_value");
493
        K_OPENSSL_sk_new = (STACK * (*)(int (*)())) d->cryptoLib->resolve("OPENSSL_sk_new");
494
        K_OPENSSL_sk_push = (int (*)(STACK *, char *)) d->cryptoLib->resolve("OPENSSL_sk_push");
495
        K_OPENSSL_sk_dup = (STACK * (*)(STACK *)) d->cryptoLib->resolve("OPENSSL_sk_dup");
496
#else
497
        K_OPENSSL_sk_free = (void (*)(STACK *)) d->cryptoLib->resolve("sk_free");
498
        K_OPENSSL_sk_num = (int (*)(STACK *)) d->cryptoLib->resolve("sk_num");
499
        K_OPENSSL_sk_pop = (char *(*)(STACK *)) d->cryptoLib->resolve("sk_pop");
500
        K_OPENSSL_sk_value = (char *(*)(STACK *, int)) d->cryptoLib->resolve("sk_value");
501
        K_OPENSSL_sk_new = (STACK * (*)(int (*)())) d->cryptoLib->resolve("sk_new");
502
        K_OPENSSL_sk_push = (int (*)(STACK *, char *)) d->cryptoLib->resolve("sk_push");
503
        K_OPENSSL_sk_dup = (STACK * (*)(STACK *)) d->cryptoLib->resolve("sk_dup");
504
#endif
467
        K_i2s_ASN1_INTEGER = (char *(*)(X509V3_EXT_METHOD *, ASN1_INTEGER *)) d->cryptoLib->resolve("i2s_ASN1_INTEGER");
505
        K_i2s_ASN1_INTEGER = (char *(*)(X509V3_EXT_METHOD *, ASN1_INTEGER *)) d->cryptoLib->resolve("i2s_ASN1_INTEGER");
468
        K_X509_get_serialNumber = (ASN1_INTEGER * (*)(X509 *)) d->cryptoLib->resolve("X509_get_serialNumber");
506
        K_X509_get_serialNumber = (ASN1_INTEGER * (*)(X509 *)) d->cryptoLib->resolve("X509_get_serialNumber");
469
        K_X509_get_pubkey = (EVP_PKEY * (*)(X509 *)) d->cryptoLib->resolve("X509_get_pubkey");
507
        K_X509_get_pubkey = (EVP_PKEY * (*)(X509 *)) d->cryptoLib->resolve("X509_get_pubkey");
Lines 507-512 Link Here
507
        K_X509_check_purpose = (int (*)(X509 *, int, int)) d->cryptoLib->resolve("X509_check_purpose");
545
        K_X509_check_purpose = (int (*)(X509 *, int, int)) d->cryptoLib->resolve("X509_check_purpose");
508
        K_X509_PURPOSE_get0 = (X509_PURPOSE * (*)(int)) d->cryptoLib->resolve("X509_PURPOSE_get0");
546
        K_X509_PURPOSE_get0 = (X509_PURPOSE * (*)(int)) d->cryptoLib->resolve("X509_PURPOSE_get0");
509
        K_EVP_PKEY_assign = (int (*)(EVP_PKEY *, int, char *)) d->cryptoLib->resolve("EVP_PKEY_assign");
547
        K_EVP_PKEY_assign = (int (*)(EVP_PKEY *, int, char *)) d->cryptoLib->resolve("EVP_PKEY_assign");
548
        K_EVP_PKEY_base_id = (int (*)(EVP_PKEY *)) d->cryptoLib->resolve("EVP_PKEY_base_id");
549
        K_EVP_PKEY_get0_RSA = (RSA *(*)(EVP_PKEY *)) d->cryptoLib->resolve("EVP_PKEY_get0_RSA");
550
        K_RSA_get0_key = (void (*)(RSA *, const BIGNUM **, const BIGNUM **, const BIGNUM **)) d->cryptoLib->resolve("ESA_get0_key");
551
        K_EVP_PKEY_get0_DSA = (DSA *(*)(EVP_PKEY *)) d->cryptoLib->resolve("EVP_PKEY_get0_DSA");
552
        K_DSA_get0_pqg = (void (*)(DSA *, const BIGNUM **, const BIGNUM **, const BIGNUM **)) d->cryptoLib->resolve("DSA_get0_pqg");
553
        K_DSA_get0_key = (void (*)(DSA *, const BIGNUM **, const BIGNUM **)) d->cryptoLib->resolve("DSA_get0_key");
510
        K_X509_REQ_set_pubkey = (int (*)(X509_REQ *, EVP_PKEY *)) d->cryptoLib->resolve("X509_REQ_set_pubkey");
554
        K_X509_REQ_set_pubkey = (int (*)(X509_REQ *, EVP_PKEY *)) d->cryptoLib->resolve("X509_REQ_set_pubkey");
511
        K_RSA_generate_key = (RSA * (*)(int, unsigned long, void (*)(int, int, void *), void *)) d->cryptoLib->resolve("RSA_generate_key");
555
        K_RSA_generate_key = (RSA * (*)(int, unsigned long, void (*)(int, int, void *), void *)) d->cryptoLib->resolve("RSA_generate_key");
512
        K_i2d_X509_REQ_fp = (int (*)(FILE *, X509_REQ *)) d->cryptoLib->resolve("i2d_X509_REQ_fp");
556
        K_i2d_X509_REQ_fp = (int (*)(FILE *, X509_REQ *)) d->cryptoLib->resolve("i2d_X509_REQ_fp");
Lines 933-938 Link Here
933
    }
977
    }
934
}
978
}
935
979
980
void KOpenSSLProxy::X509_STORE_set_verify_cb(X509_STORE *store, int (*verify_cb)(int, X509_STORE_CTX *))
981
{
982
#if OPENSSL_VERSION_NUMBER < 0x10100000L
983
    X509_STORE_set_verify_cb_func(store, verify_cb);
984
#else
985
    if (K_X509_STORE_set_verify_cb) {
986
        (K_X509_STORE_set_verify_cb)(store, verify_cb);
987
    }
988
#endif
989
}
990
936
X509_STORE_CTX *KOpenSSLProxy::X509_STORE_CTX_new(void)
991
X509_STORE_CTX *KOpenSSLProxy::X509_STORE_CTX_new(void)
937
{
992
{
938
    if (K_X509_STORE_CTX_new) {
993
    if (K_X509_STORE_CTX_new) {
Lines 987-992 Link Here
987
    return nullptr;
1042
    return nullptr;
988
}
1043
}
989
1044
1045
void KOpenSSLProxy::X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **algor, const X509 *x)
1046
{
1047
#if OPENSSL_VERSION_NUMBER < 0x10100000L
1048
    if (psig) {
1049
        *psig = x->signature;
1050
    }
1051
    if (algor) {
1052
        *algor = x->sig_alg;
1053
    }
1054
#else
1055
    if (K_X509_get0_signature) {
1056
        return (K_X509_get0_signature)(psig, algor, x);
1057
    }
1058
#endif
1059
}
1060
990
X509_LOOKUP *KOpenSSLProxy::X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m)
1061
X509_LOOKUP *KOpenSSLProxy::X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m)
991
{
1062
{
992
    if (K_X509_STORE_add_lookup) {
1063
    if (K_X509_STORE_add_lookup) {
Lines 1025-1036 Link Here
1025
    }
1096
    }
1026
}
1097
}
1027
1098
1099
#if OPENSSL_VERSION_NUMBER < 0x10100000L
1028
void KOpenSSLProxy::CRYPTO_free(void *x)
1100
void KOpenSSLProxy::CRYPTO_free(void *x)
1029
{
1101
{
1030
    if (K_CRYPTO_free) {
1102
    if (K_CRYPTO_free) {
1031
        (K_CRYPTO_free)(x);
1103
        (K_CRYPTO_free)(x);
1032
    }
1104
    }
1033
}
1105
}
1106
#else
1107
void KOpenSSLProxy::CRYPTO_free(void *x, const char *file, int line)
1108
{
1109
    if (K_CRYPTO_free) {
1110
        K_CRYPTO_free(x, file, line);
1111
    }
1112
}
1113
#endif
1034
1114
1035
X509 *KOpenSSLProxy::X509_dup(X509 *x509)
1115
X509 *KOpenSSLProxy::X509_dup(X509 *x509)
1036
{
1116
{
Lines 1040-1045 Link Here
1040
    return nullptr;
1120
    return nullptr;
1041
}
1121
}
1042
1122
1123
ASN1_TIME *KOpenSSLProxy::X509_getm_notBefore(const X509 *x)
1124
{
1125
#if OPENSSL_VERSION_NUMBER < 0x10100000L
1126
    return X509_get_notBefore(x);
1127
#else
1128
    if (K_X509_getm_notBefore) {
1129
        return (K_X509_getm_notBefore)(x);
1130
    } else {
1131
        return nullptr;
1132
    }
1133
#endif
1134
}
1135
1136
ASN1_TIME *KOpenSSLProxy::X509_getm_notAfter(const X509 *x)
1137
{
1138
#if OPENSSL_VERSION_NUMBER < 0x10100000L
1139
    return X509_get_notAfter(x);
1140
#else
1141
    if (K_X509_getm_notAfter) {
1142
        return (K_X509_getm_notAfter)(x);
1143
    } else {
1144
        return nullptr;
1145
    }
1146
#endif
1147
}
1148
1043
BIO *KOpenSSLProxy::BIO_new(BIO_METHOD *type)
1149
BIO *KOpenSSLProxy::BIO_new(BIO_METHOD *type)
1044
{
1150
{
1045
    if (K_BIO_new) {
1151
    if (K_BIO_new) {
Lines 1257-1291 Link Here
1257
    }
1363
    }
1258
}
1364
}
1259
1365
1260
void KOpenSSLProxy::sk_free(STACK *s)
1366
void KOpenSSLProxy::OPENSSL_sk_free(STACK *s)
1261
{
1367
{
1262
    if (K_sk_free) {
1368
    if (K_OPENSSL_sk_free) {
1263
        (K_sk_free)(s);
1369
        (K_OPENSSL_sk_free)(s);
1264
    }
1370
    }
1265
}
1371
}
1266
1372
1267
int KOpenSSLProxy::sk_num(STACK *s)
1373
int KOpenSSLProxy::OPENSSL_sk_num(STACK *s)
1268
{
1374
{
1269
    if (K_sk_num) {
1375
    if (K_OPENSSL_sk_num) {
1270
        return (K_sk_num)(s);
1376
        return (K_OPENSSL_sk_num)(s);
1271
    } else {
1377
    } else {
1272
        return -1;
1378
        return -1;
1273
    }
1379
    }
1274
}
1380
}
1275
1381
1276
char *KOpenSSLProxy::sk_pop(STACK *s)
1382
char *KOpenSSLProxy::OPENSSL_sk_pop(STACK *s)
1277
{
1383
{
1278
    if (K_sk_pop) {
1384
    if (K_OPENSSL_sk_pop) {
1279
        return (K_sk_pop)(s);
1385
        return (K_OPENSSL_sk_pop)(s);
1280
    } else {
1386
    } else {
1281
        return nullptr;
1387
        return nullptr;
1282
    }
1388
    }
1283
}
1389
}
1284
1390
1285
char *KOpenSSLProxy::sk_value(STACK *s, int n)
1391
char *KOpenSSLProxy::OPENSSL_sk_value(STACK *s, int n)
1286
{
1392
{
1287
    if (K_sk_value) {
1393
    if (K_OPENSSL_sk_value) {
1288
        return (K_sk_value)(s, n);
1394
        return (K_OPENSSL_sk_value)(s, n);
1289
    } else {
1395
    } else {
1290
        return nullptr;
1396
        return nullptr;
1291
    }
1397
    }
Lines 1305-1332 Link Here
1305
    }
1411
    }
1306
}
1412
}
1307
1413
1308
STACK *KOpenSSLProxy::sk_dup(STACK *s)
1414
X509 *KOpenSSLProxy::X509_STORE_CTX_get_current_cert(X509_STORE_CTX *v)
1415
{
1416
#if OPENSSL_VERSION_NUMBER < 0x10100000L
1417
    return v->current_cert;
1418
#else
1419
    if (K_X509_STORE_CTX_get_current_cert) {
1420
        return (K_X509_STORE_CTX_get_current_cert)(v);
1421
    } else {
1422
        return nullptr;
1423
    }
1424
#endif
1425
}
1426
1427
void KOpenSSLProxy::X509_STORE_CTX_set_error(X509_STORE_CTX *v, int error)
1428
{
1429
#if OPENSSL_VERSION_NUMBER < 0x10100000L
1430
    v->error = error;
1431
#else
1432
    if (K_X509_STORE_CTX_set_error) {
1433
        (K_X509_STORE_CTX_set_error)(v, error);
1434
    }
1435
#endif
1436
}
1437
1438
int KOpenSSLProxy::X509_STORE_CTX_get_error(X509_STORE_CTX *v)
1439
{
1440
#if OPENSSL_VERSION_NUMBER < 0x10100000L
1441
    return v->error;
1442
#else
1443
    if (K_X509_STORE_CTX_get_error) {
1444
        return (K_X509_STORE_CTX_get_error)(v);
1445
    } else {
1446
        return 0;
1447
    }
1448
#endif
1449
}
1450
1451
STACK *KOpenSSLProxy::OPENSSL_sk_dup(STACK *s)
1309
{
1452
{
1310
    if (K_sk_dup) {
1453
    if (K_OPENSSL_sk_dup) {
1311
        return (K_sk_dup)(s);
1454
        return (K_OPENSSL_sk_dup)(s);
1312
    } else {
1455
    } else {
1313
        return nullptr;
1456
        return nullptr;
1314
    }
1457
    }
1315
}
1458
}
1316
1459
1317
STACK *KOpenSSLProxy::sk_new(int (*cmp)())
1460
STACK *KOpenSSLProxy::OPENSSL_sk_new(int (*cmp)())
1318
{
1461
{
1319
    if (K_sk_new) {
1462
    if (K_OPENSSL_sk_new) {
1320
        return (K_sk_new)(cmp);
1463
        return (K_OPENSSL_sk_new)(cmp);
1321
    } else {
1464
    } else {
1322
        return nullptr;
1465
        return nullptr;
1323
    }
1466
    }
1324
}
1467
}
1325
1468
1326
int KOpenSSLProxy::sk_push(STACK *s, char *d)
1469
int KOpenSSLProxy::OPENSSL_sk_push(STACK *s, char *d)
1327
{
1470
{
1328
    if (K_sk_push) {
1471
    if (K_OPENSSL_sk_push) {
1329
        return (K_sk_push)(s, d);
1472
        return (K_OPENSSL_sk_push)(s, d);
1330
    } else {
1473
    } else {
1331
        return -1;
1474
        return -1;
1332
    }
1475
    }
Lines 1749-1754 Link Here
1749
    }
1892
    }
1750
}
1893
}
1751
1894
1895
int KOpenSSLProxy::EVP_PKEY_base_id(EVP_PKEY *pkey)
1896
{
1897
#if OPENSSL_VERSION_NUMBER < 0x10100000L
1898
    return pkey->type;
1899
#else
1900
    if (K_EVP_PKEY_base_id) {
1901
        return (K_EVP_PKEY_base_id)(pkey);
1902
    } else {
1903
        return 0;
1904
    }
1905
#endif
1906
}
1907
1908
RSA *KOpenSSLProxy::EVP_PKEY_get0_RSA(EVP_PKEY *pkey)
1909
{
1910
#if OPENSSL_VERSION_NUMBER < 0x10100000L
1911
    return pkey->pkey.rsa;
1912
#else
1913
    if (K_EVP_PKEY_get0_RSA) {
1914
        return (K_EVP_PKEY_get0_RSA)(pkey);
1915
    } else {
1916
        return nullptr;
1917
    }
1918
#endif
1919
}
1920
1921
void KOpenSSLProxy::RSA_get0_key(RSA *rsa, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
1922
{
1923
#if OPENSSL_VERSION_NUMBER < 0x10100000L
1924
    if (n) {
1925
        *n = rsa->n;
1926
    }
1927
    if (e) {
1928
        *e = rsa->e;
1929
    }
1930
    if (d) {
1931
        *d = rsa->d;
1932
    }
1933
#else
1934
    if (K_RSA_get0_key) {
1935
        (K_RSA_get0_key)(rsa, n, e, d);
1936
    }
1937
#endif
1938
}
1939
1940
DSA *KOpenSSLProxy::EVP_PKEY_get0_DSA(EVP_PKEY *pkey)
1941
{
1942
#if OPENSSL_VERSION_NUMBER < 0x10100000L
1943
    return pkey->pkey.dsa;
1944
#else
1945
    if (K_EVP_PKEY_get0_DSA) {
1946
        return (K_EVP_PKEY_get0_DSA)(pkey);
1947
    } else {
1948
        return nullptr;
1949
    }
1950
#endif
1951
}
1952
1953
void KOpenSSLProxy::DSA_get0_pqg(DSA *dsa, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
1954
{
1955
#if OPENSSL_VERSION_NUMBER < 0x10100000L
1956
    if (p) {
1957
        *p = dsa->p;
1958
    }
1959
    if (q) {
1960
        *q = dsa->q;
1961
    }
1962
    if (g) {
1963
        *g = dsa->g;
1964
    }
1965
#else
1966
    if (K_DSA_get0_pqg) {
1967
        (K_DSA_get0_pqg)(dsa, p, q, g);
1968
    }
1969
#endif
1970
}
1971
1972
void KOpenSSLProxy::DSA_get0_key(DSA *dsa, const BIGNUM **pub_key, const BIGNUM **priv_key)
1973
{
1974
#if OPENSSL_VERSION_NUMBER < 0x10100000L
1975
    if (pub_key) {
1976
        *pub_key = dsa->pub_key;
1977
    }
1978
    if (priv_key) {
1979
        *priv_key = dsa->priv_key;
1980
    }
1981
#else
1982
    if (K_DSA_get0_key) {
1983
        (K_DSA_get0_key)(dsa, pub_key, priv_key);
1984
    }
1985
#endif
1986
}
1987
1752
int KOpenSSLProxy::X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey)
1988
int KOpenSSLProxy::X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey)
1753
{
1989
{
1754
    if (K_X509_REQ_set_pubkey) {
1990
    if (K_X509_REQ_set_pubkey) {

Return to bug 635038