@annadata/capacitor-mqtt-quic 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/ios/include/nghttp3/nghttp3.h +3295 -0
  2. package/ios/include/nghttp3/version.h +46 -0
  3. package/ios/include/ngtcp2/ngtcp2.h +6254 -0
  4. package/ios/include/ngtcp2/ngtcp2_crypto.h +1037 -0
  5. package/ios/include/ngtcp2/ngtcp2_crypto_quictls.h +147 -0
  6. package/ios/include/ngtcp2/version.h +51 -0
  7. package/ios/include/openssl/aes.h +111 -0
  8. package/ios/include/openssl/asn1.h +1131 -0
  9. package/ios/include/openssl/asn1_mac.h +10 -0
  10. package/ios/include/openssl/asn1err.h +140 -0
  11. package/ios/include/openssl/asn1t.h +946 -0
  12. package/ios/include/openssl/async.h +96 -0
  13. package/ios/include/openssl/asyncerr.h +29 -0
  14. package/ios/include/openssl/bio.h +887 -0
  15. package/ios/include/openssl/bioerr.h +65 -0
  16. package/ios/include/openssl/blowfish.h +78 -0
  17. package/ios/include/openssl/bn.h +584 -0
  18. package/ios/include/openssl/bnerr.h +47 -0
  19. package/ios/include/openssl/buffer.h +62 -0
  20. package/ios/include/openssl/buffererr.h +25 -0
  21. package/ios/include/openssl/camellia.h +117 -0
  22. package/ios/include/openssl/cast.h +71 -0
  23. package/ios/include/openssl/cmac.h +52 -0
  24. package/ios/include/openssl/cmp.h +597 -0
  25. package/ios/include/openssl/cmp_util.h +56 -0
  26. package/ios/include/openssl/cmperr.h +116 -0
  27. package/ios/include/openssl/cms.h +493 -0
  28. package/ios/include/openssl/cmserr.h +124 -0
  29. package/ios/include/openssl/comp.h +59 -0
  30. package/ios/include/openssl/comperr.h +31 -0
  31. package/ios/include/openssl/conf.h +214 -0
  32. package/ios/include/openssl/conf_api.h +46 -0
  33. package/ios/include/openssl/conferr.h +52 -0
  34. package/ios/include/openssl/configuration.h +149 -0
  35. package/ios/include/openssl/conftypes.h +44 -0
  36. package/ios/include/openssl/core.h +233 -0
  37. package/ios/include/openssl/core_dispatch.h +960 -0
  38. package/ios/include/openssl/core_names.h +561 -0
  39. package/ios/include/openssl/core_object.h +41 -0
  40. package/ios/include/openssl/crmf.h +227 -0
  41. package/ios/include/openssl/crmferr.h +50 -0
  42. package/ios/include/openssl/crypto.h +558 -0
  43. package/ios/include/openssl/cryptoerr.h +55 -0
  44. package/ios/include/openssl/cryptoerr_legacy.h +1466 -0
  45. package/ios/include/openssl/ct.h +573 -0
  46. package/ios/include/openssl/cterr.h +45 -0
  47. package/ios/include/openssl/decoder.h +133 -0
  48. package/ios/include/openssl/decodererr.h +28 -0
  49. package/ios/include/openssl/des.h +211 -0
  50. package/ios/include/openssl/dh.h +335 -0
  51. package/ios/include/openssl/dherr.h +58 -0
  52. package/ios/include/openssl/dsa.h +280 -0
  53. package/ios/include/openssl/dsaerr.h +44 -0
  54. package/ios/include/openssl/dtls1.h +57 -0
  55. package/ios/include/openssl/e_os2.h +308 -0
  56. package/ios/include/openssl/ebcdic.h +39 -0
  57. package/ios/include/openssl/ec.h +1572 -0
  58. package/ios/include/openssl/ecdh.h +10 -0
  59. package/ios/include/openssl/ecdsa.h +10 -0
  60. package/ios/include/openssl/ecerr.h +104 -0
  61. package/ios/include/openssl/encoder.h +124 -0
  62. package/ios/include/openssl/encodererr.h +28 -0
  63. package/ios/include/openssl/engine.h +833 -0
  64. package/ios/include/openssl/engineerr.h +63 -0
  65. package/ios/include/openssl/err.h +504 -0
  66. package/ios/include/openssl/ess.h +128 -0
  67. package/ios/include/openssl/esserr.h +32 -0
  68. package/ios/include/openssl/evp.h +2175 -0
  69. package/ios/include/openssl/evperr.h +134 -0
  70. package/ios/include/openssl/fips_names.h +77 -0
  71. package/ios/include/openssl/fipskey.h +36 -0
  72. package/ios/include/openssl/hmac.h +62 -0
  73. package/ios/include/openssl/http.h +109 -0
  74. package/ios/include/openssl/httperr.h +55 -0
  75. package/ios/include/openssl/idea.h +82 -0
  76. package/ios/include/openssl/kdf.h +138 -0
  77. package/ios/include/openssl/kdferr.h +16 -0
  78. package/ios/include/openssl/lhash.h +331 -0
  79. package/ios/include/openssl/macros.h +325 -0
  80. package/ios/include/openssl/md2.h +56 -0
  81. package/ios/include/openssl/md4.h +63 -0
  82. package/ios/include/openssl/md5.h +62 -0
  83. package/ios/include/openssl/mdc2.h +55 -0
  84. package/ios/include/openssl/modes.h +219 -0
  85. package/ios/include/openssl/obj_mac.h +5481 -0
  86. package/ios/include/openssl/objects.h +183 -0
  87. package/ios/include/openssl/objectserr.h +28 -0
  88. package/ios/include/openssl/ocsp.h +483 -0
  89. package/ios/include/openssl/ocsperr.h +53 -0
  90. package/ios/include/openssl/opensslconf.h +17 -0
  91. package/ios/include/openssl/opensslv.h +114 -0
  92. package/ios/include/openssl/ossl_typ.h +16 -0
  93. package/ios/include/openssl/param_build.h +63 -0
  94. package/ios/include/openssl/params.h +160 -0
  95. package/ios/include/openssl/pem.h +541 -0
  96. package/ios/include/openssl/pem2.h +19 -0
  97. package/ios/include/openssl/pemerr.h +58 -0
  98. package/ios/include/openssl/pkcs12.h +353 -0
  99. package/ios/include/openssl/pkcs12err.h +45 -0
  100. package/ios/include/openssl/pkcs7.h +430 -0
  101. package/ios/include/openssl/pkcs7err.h +63 -0
  102. package/ios/include/openssl/prov_ssl.h +34 -0
  103. package/ios/include/openssl/proverr.h +149 -0
  104. package/ios/include/openssl/provider.h +60 -0
  105. package/ios/include/openssl/quic.h +19 -0
  106. package/ios/include/openssl/rand.h +125 -0
  107. package/ios/include/openssl/randerr.h +69 -0
  108. package/ios/include/openssl/rc2.h +68 -0
  109. package/ios/include/openssl/rc4.h +47 -0
  110. package/ios/include/openssl/rc5.h +79 -0
  111. package/ios/include/openssl/ripemd.h +59 -0
  112. package/ios/include/openssl/rsa.h +610 -0
  113. package/ios/include/openssl/rsaerr.h +107 -0
  114. package/ios/include/openssl/safestack.h +297 -0
  115. package/ios/include/openssl/seed.h +113 -0
  116. package/ios/include/openssl/self_test.h +94 -0
  117. package/ios/include/openssl/sha.h +138 -0
  118. package/ios/include/openssl/srp.h +285 -0
  119. package/ios/include/openssl/srtp.h +56 -0
  120. package/ios/include/openssl/ssl.h +2671 -0
  121. package/ios/include/openssl/ssl2.h +30 -0
  122. package/ios/include/openssl/ssl3.h +347 -0
  123. package/ios/include/openssl/sslerr.h +348 -0
  124. package/ios/include/openssl/sslerr_legacy.h +468 -0
  125. package/ios/include/openssl/stack.h +90 -0
  126. package/ios/include/openssl/store.h +369 -0
  127. package/ios/include/openssl/storeerr.h +49 -0
  128. package/ios/include/openssl/symhacks.h +39 -0
  129. package/ios/include/openssl/tls1.h +1186 -0
  130. package/ios/include/openssl/trace.h +312 -0
  131. package/ios/include/openssl/ts.h +505 -0
  132. package/ios/include/openssl/tserr.h +67 -0
  133. package/ios/include/openssl/txt_db.h +63 -0
  134. package/ios/include/openssl/types.h +239 -0
  135. package/ios/include/openssl/ui.h +407 -0
  136. package/ios/include/openssl/uierr.h +38 -0
  137. package/ios/include/openssl/whrlpool.h +62 -0
  138. package/ios/include/openssl/x509.h +1279 -0
  139. package/ios/include/openssl/x509_vfy.h +894 -0
  140. package/ios/include/openssl/x509err.h +69 -0
  141. package/ios/include/openssl/x509v3.h +1453 -0
  142. package/ios/include/openssl/x509v3err.h +93 -0
  143. package/ios/libs/libcrypto.a +0 -0
  144. package/ios/libs/libnghttp3.a +0 -0
  145. package/ios/libs/libngtcp2.a +0 -0
  146. package/ios/libs/libngtcp2_crypto_quictls.a +0 -0
  147. package/ios/libs/libssl.a +0 -0
  148. package/package.json +2 -2
@@ -0,0 +1,107 @@
1
+ /*
2
+ * Generated by util/mkerr.pl DO NOT EDIT
3
+ * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
6
+ * this file except in compliance with the License. You can obtain a copy
7
+ * in the file LICENSE in the source distribution or at
8
+ * https://www.openssl.org/source/license.html
9
+ */
10
+
11
+ #ifndef OPENSSL_RSAERR_H
12
+ # define OPENSSL_RSAERR_H
13
+ # pragma once
14
+
15
+ # include <openssl/opensslconf.h>
16
+ # include <openssl/symhacks.h>
17
+ # include <openssl/cryptoerr_legacy.h>
18
+
19
+
20
+
21
+ /*
22
+ * RSA reason codes.
23
+ */
24
+ # define RSA_R_ALGORITHM_MISMATCH 100
25
+ # define RSA_R_BAD_E_VALUE 101
26
+ # define RSA_R_BAD_FIXED_HEADER_DECRYPT 102
27
+ # define RSA_R_BAD_PAD_BYTE_COUNT 103
28
+ # define RSA_R_BAD_SIGNATURE 104
29
+ # define RSA_R_BLOCK_TYPE_IS_NOT_01 106
30
+ # define RSA_R_BLOCK_TYPE_IS_NOT_02 107
31
+ # define RSA_R_DATA_GREATER_THAN_MOD_LEN 108
32
+ # define RSA_R_DATA_TOO_LARGE 109
33
+ # define RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 110
34
+ # define RSA_R_DATA_TOO_LARGE_FOR_MODULUS 132
35
+ # define RSA_R_DATA_TOO_SMALL 111
36
+ # define RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE 122
37
+ # define RSA_R_DIGEST_DOES_NOT_MATCH 158
38
+ # define RSA_R_DIGEST_NOT_ALLOWED 145
39
+ # define RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY 112
40
+ # define RSA_R_DMP1_NOT_CONGRUENT_TO_D 124
41
+ # define RSA_R_DMQ1_NOT_CONGRUENT_TO_D 125
42
+ # define RSA_R_D_E_NOT_CONGRUENT_TO_1 123
43
+ # define RSA_R_FIRST_OCTET_INVALID 133
44
+ # define RSA_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE 144
45
+ # define RSA_R_INVALID_DIGEST 157
46
+ # define RSA_R_INVALID_DIGEST_LENGTH 143
47
+ # define RSA_R_INVALID_HEADER 137
48
+ # define RSA_R_INVALID_KEYPAIR 171
49
+ # define RSA_R_INVALID_KEY_LENGTH 173
50
+ # define RSA_R_INVALID_LABEL 160
51
+ # define RSA_R_INVALID_LENGTH 181
52
+ # define RSA_R_INVALID_MESSAGE_LENGTH 131
53
+ # define RSA_R_INVALID_MGF1_MD 156
54
+ # define RSA_R_INVALID_MODULUS 174
55
+ # define RSA_R_INVALID_MULTI_PRIME_KEY 167
56
+ # define RSA_R_INVALID_OAEP_PARAMETERS 161
57
+ # define RSA_R_INVALID_PADDING 138
58
+ # define RSA_R_INVALID_PADDING_MODE 141
59
+ # define RSA_R_INVALID_PSS_PARAMETERS 149
60
+ # define RSA_R_INVALID_PSS_SALTLEN 146
61
+ # define RSA_R_INVALID_REQUEST 175
62
+ # define RSA_R_INVALID_SALT_LENGTH 150
63
+ # define RSA_R_INVALID_STRENGTH 176
64
+ # define RSA_R_INVALID_TRAILER 139
65
+ # define RSA_R_INVALID_X931_DIGEST 142
66
+ # define RSA_R_IQMP_NOT_INVERSE_OF_Q 126
67
+ # define RSA_R_KEY_PRIME_NUM_INVALID 165
68
+ # define RSA_R_KEY_SIZE_TOO_SMALL 120
69
+ # define RSA_R_LAST_OCTET_INVALID 134
70
+ # define RSA_R_MGF1_DIGEST_NOT_ALLOWED 152
71
+ # define RSA_R_MISSING_PRIVATE_KEY 179
72
+ # define RSA_R_MODULUS_TOO_LARGE 105
73
+ # define RSA_R_MP_COEFFICIENT_NOT_INVERSE_OF_R 168
74
+ # define RSA_R_MP_EXPONENT_NOT_CONGRUENT_TO_D 169
75
+ # define RSA_R_MP_R_NOT_PRIME 170
76
+ # define RSA_R_NO_PUBLIC_EXPONENT 140
77
+ # define RSA_R_NULL_BEFORE_BLOCK_MISSING 113
78
+ # define RSA_R_N_DOES_NOT_EQUAL_PRODUCT_OF_PRIMES 172
79
+ # define RSA_R_N_DOES_NOT_EQUAL_P_Q 127
80
+ # define RSA_R_OAEP_DECODING_ERROR 121
81
+ # define RSA_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 148
82
+ # define RSA_R_PADDING_CHECK_FAILED 114
83
+ # define RSA_R_PAIRWISE_TEST_FAILURE 177
84
+ # define RSA_R_PKCS_DECODING_ERROR 159
85
+ # define RSA_R_PSS_SALTLEN_TOO_SMALL 164
86
+ # define RSA_R_PUB_EXPONENT_OUT_OF_RANGE 178
87
+ # define RSA_R_P_NOT_PRIME 128
88
+ # define RSA_R_Q_NOT_PRIME 129
89
+ # define RSA_R_RANDOMNESS_SOURCE_STRENGTH_INSUFFICIENT 180
90
+ # define RSA_R_RSA_OPERATIONS_NOT_SUPPORTED 130
91
+ # define RSA_R_SLEN_CHECK_FAILED 136
92
+ # define RSA_R_SLEN_RECOVERY_FAILED 135
93
+ # define RSA_R_SSLV3_ROLLBACK_ATTACK 115
94
+ # define RSA_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 116
95
+ # define RSA_R_UNKNOWN_ALGORITHM_TYPE 117
96
+ # define RSA_R_UNKNOWN_DIGEST 166
97
+ # define RSA_R_UNKNOWN_MASK_DIGEST 151
98
+ # define RSA_R_UNKNOWN_PADDING_TYPE 118
99
+ # define RSA_R_UNSUPPORTED_ENCRYPTION_TYPE 162
100
+ # define RSA_R_UNSUPPORTED_LABEL_SOURCE 163
101
+ # define RSA_R_UNSUPPORTED_MASK_ALGORITHM 153
102
+ # define RSA_R_UNSUPPORTED_MASK_PARAMETER 154
103
+ # define RSA_R_UNSUPPORTED_SIGNATURE_TYPE 155
104
+ # define RSA_R_VALUE_MISSING 147
105
+ # define RSA_R_WRONG_SIGNATURE_LENGTH 119
106
+
107
+ #endif
@@ -0,0 +1,297 @@
1
+ /*
2
+ * WARNING: do not edit!
3
+ * Generated by Makefile from include/openssl/safestack.h.in
4
+ *
5
+ * Copyright 1999-2021 The OpenSSL Project Authors. All Rights Reserved.
6
+ *
7
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
8
+ * this file except in compliance with the License. You can obtain a copy
9
+ * in the file LICENSE in the source distribution or at
10
+ * https://www.openssl.org/source/license.html
11
+ */
12
+
13
+
14
+
15
+ #ifndef OPENSSL_SAFESTACK_H
16
+ # define OPENSSL_SAFESTACK_H
17
+ # pragma once
18
+
19
+ # include <openssl/macros.h>
20
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
21
+ # define HEADER_SAFESTACK_H
22
+ # endif
23
+
24
+ # include <openssl/stack.h>
25
+ # include <openssl/e_os2.h>
26
+
27
+ #ifdef __cplusplus
28
+ extern "C" {
29
+ #endif
30
+
31
+ # define STACK_OF(type) struct stack_st_##type
32
+
33
+ /* Helper macro for internal use */
34
+ # define SKM_DEFINE_STACK_OF_INTERNAL(t1, t2, t3) \
35
+ STACK_OF(t1); \
36
+ typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \
37
+ typedef void (*sk_##t1##_freefunc)(t3 *a); \
38
+ typedef t3 * (*sk_##t1##_copyfunc)(const t3 *a); \
39
+ static ossl_unused ossl_inline t2 *ossl_check_##t1##_type(t2 *ptr) \
40
+ { \
41
+ return ptr; \
42
+ } \
43
+ static ossl_unused ossl_inline const OPENSSL_STACK *ossl_check_const_##t1##_sk_type(const STACK_OF(t1) *sk) \
44
+ { \
45
+ return (const OPENSSL_STACK *)sk; \
46
+ } \
47
+ static ossl_unused ossl_inline OPENSSL_STACK *ossl_check_##t1##_sk_type(STACK_OF(t1) *sk) \
48
+ { \
49
+ return (OPENSSL_STACK *)sk; \
50
+ } \
51
+ static ossl_unused ossl_inline OPENSSL_sk_compfunc ossl_check_##t1##_compfunc_type(sk_##t1##_compfunc cmp) \
52
+ { \
53
+ return (OPENSSL_sk_compfunc)cmp; \
54
+ } \
55
+ static ossl_unused ossl_inline OPENSSL_sk_copyfunc ossl_check_##t1##_copyfunc_type(sk_##t1##_copyfunc cpy) \
56
+ { \
57
+ return (OPENSSL_sk_copyfunc)cpy; \
58
+ } \
59
+ static ossl_unused ossl_inline OPENSSL_sk_freefunc ossl_check_##t1##_freefunc_type(sk_##t1##_freefunc fr) \
60
+ { \
61
+ return (OPENSSL_sk_freefunc)fr; \
62
+ }
63
+
64
+ # define SKM_DEFINE_STACK_OF(t1, t2, t3) \
65
+ STACK_OF(t1); \
66
+ typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3 *const *b); \
67
+ typedef void (*sk_##t1##_freefunc)(t3 *a); \
68
+ typedef t3 * (*sk_##t1##_copyfunc)(const t3 *a); \
69
+ static ossl_unused ossl_inline int sk_##t1##_num(const STACK_OF(t1) *sk) \
70
+ { \
71
+ return OPENSSL_sk_num((const OPENSSL_STACK *)sk); \
72
+ } \
73
+ static ossl_unused ossl_inline t2 *sk_##t1##_value(const STACK_OF(t1) *sk, int idx) \
74
+ { \
75
+ return (t2 *)OPENSSL_sk_value((const OPENSSL_STACK *)sk, idx); \
76
+ } \
77
+ static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_new(sk_##t1##_compfunc compare) \
78
+ { \
79
+ return (STACK_OF(t1) *)OPENSSL_sk_new((OPENSSL_sk_compfunc)compare); \
80
+ } \
81
+ static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_new_null(void) \
82
+ { \
83
+ return (STACK_OF(t1) *)OPENSSL_sk_new_null(); \
84
+ } \
85
+ static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_new_reserve(sk_##t1##_compfunc compare, int n) \
86
+ { \
87
+ return (STACK_OF(t1) *)OPENSSL_sk_new_reserve((OPENSSL_sk_compfunc)compare, n); \
88
+ } \
89
+ static ossl_unused ossl_inline int sk_##t1##_reserve(STACK_OF(t1) *sk, int n) \
90
+ { \
91
+ return OPENSSL_sk_reserve((OPENSSL_STACK *)sk, n); \
92
+ } \
93
+ static ossl_unused ossl_inline void sk_##t1##_free(STACK_OF(t1) *sk) \
94
+ { \
95
+ OPENSSL_sk_free((OPENSSL_STACK *)sk); \
96
+ } \
97
+ static ossl_unused ossl_inline void sk_##t1##_zero(STACK_OF(t1) *sk) \
98
+ { \
99
+ OPENSSL_sk_zero((OPENSSL_STACK *)sk); \
100
+ } \
101
+ static ossl_unused ossl_inline t2 *sk_##t1##_delete(STACK_OF(t1) *sk, int i) \
102
+ { \
103
+ return (t2 *)OPENSSL_sk_delete((OPENSSL_STACK *)sk, i); \
104
+ } \
105
+ static ossl_unused ossl_inline t2 *sk_##t1##_delete_ptr(STACK_OF(t1) *sk, t2 *ptr) \
106
+ { \
107
+ return (t2 *)OPENSSL_sk_delete_ptr((OPENSSL_STACK *)sk, \
108
+ (const void *)ptr); \
109
+ } \
110
+ static ossl_unused ossl_inline int sk_##t1##_push(STACK_OF(t1) *sk, t2 *ptr) \
111
+ { \
112
+ return OPENSSL_sk_push((OPENSSL_STACK *)sk, (const void *)ptr); \
113
+ } \
114
+ static ossl_unused ossl_inline int sk_##t1##_unshift(STACK_OF(t1) *sk, t2 *ptr) \
115
+ { \
116
+ return OPENSSL_sk_unshift((OPENSSL_STACK *)sk, (const void *)ptr); \
117
+ } \
118
+ static ossl_unused ossl_inline t2 *sk_##t1##_pop(STACK_OF(t1) *sk) \
119
+ { \
120
+ return (t2 *)OPENSSL_sk_pop((OPENSSL_STACK *)sk); \
121
+ } \
122
+ static ossl_unused ossl_inline t2 *sk_##t1##_shift(STACK_OF(t1) *sk) \
123
+ { \
124
+ return (t2 *)OPENSSL_sk_shift((OPENSSL_STACK *)sk); \
125
+ } \
126
+ static ossl_unused ossl_inline void sk_##t1##_pop_free(STACK_OF(t1) *sk, sk_##t1##_freefunc freefunc) \
127
+ { \
128
+ OPENSSL_sk_pop_free((OPENSSL_STACK *)sk, (OPENSSL_sk_freefunc)freefunc); \
129
+ } \
130
+ static ossl_unused ossl_inline int sk_##t1##_insert(STACK_OF(t1) *sk, t2 *ptr, int idx) \
131
+ { \
132
+ return OPENSSL_sk_insert((OPENSSL_STACK *)sk, (const void *)ptr, idx); \
133
+ } \
134
+ static ossl_unused ossl_inline t2 *sk_##t1##_set(STACK_OF(t1) *sk, int idx, t2 *ptr) \
135
+ { \
136
+ return (t2 *)OPENSSL_sk_set((OPENSSL_STACK *)sk, idx, (const void *)ptr); \
137
+ } \
138
+ static ossl_unused ossl_inline int sk_##t1##_find(STACK_OF(t1) *sk, t2 *ptr) \
139
+ { \
140
+ return OPENSSL_sk_find((OPENSSL_STACK *)sk, (const void *)ptr); \
141
+ } \
142
+ static ossl_unused ossl_inline int sk_##t1##_find_ex(STACK_OF(t1) *sk, t2 *ptr) \
143
+ { \
144
+ return OPENSSL_sk_find_ex((OPENSSL_STACK *)sk, (const void *)ptr); \
145
+ } \
146
+ static ossl_unused ossl_inline int sk_##t1##_find_all(STACK_OF(t1) *sk, t2 *ptr, int *pnum) \
147
+ { \
148
+ return OPENSSL_sk_find_all((OPENSSL_STACK *)sk, (const void *)ptr, pnum); \
149
+ } \
150
+ static ossl_unused ossl_inline void sk_##t1##_sort(STACK_OF(t1) *sk) \
151
+ { \
152
+ OPENSSL_sk_sort((OPENSSL_STACK *)sk); \
153
+ } \
154
+ static ossl_unused ossl_inline int sk_##t1##_is_sorted(const STACK_OF(t1) *sk) \
155
+ { \
156
+ return OPENSSL_sk_is_sorted((const OPENSSL_STACK *)sk); \
157
+ } \
158
+ static ossl_unused ossl_inline STACK_OF(t1) * sk_##t1##_dup(const STACK_OF(t1) *sk) \
159
+ { \
160
+ return (STACK_OF(t1) *)OPENSSL_sk_dup((const OPENSSL_STACK *)sk); \
161
+ } \
162
+ static ossl_unused ossl_inline STACK_OF(t1) *sk_##t1##_deep_copy(const STACK_OF(t1) *sk, \
163
+ sk_##t1##_copyfunc copyfunc, \
164
+ sk_##t1##_freefunc freefunc) \
165
+ { \
166
+ return (STACK_OF(t1) *)OPENSSL_sk_deep_copy((const OPENSSL_STACK *)sk, \
167
+ (OPENSSL_sk_copyfunc)copyfunc, \
168
+ (OPENSSL_sk_freefunc)freefunc); \
169
+ } \
170
+ static ossl_unused ossl_inline sk_##t1##_compfunc sk_##t1##_set_cmp_func(STACK_OF(t1) *sk, sk_##t1##_compfunc compare) \
171
+ { \
172
+ return (sk_##t1##_compfunc)OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (OPENSSL_sk_compfunc)compare); \
173
+ }
174
+
175
+ # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t)
176
+ # define DEFINE_STACK_OF_CONST(t) SKM_DEFINE_STACK_OF(t, const t, t)
177
+ # define DEFINE_SPECIAL_STACK_OF(t1, t2) SKM_DEFINE_STACK_OF(t1, t2, t2)
178
+ # define DEFINE_SPECIAL_STACK_OF_CONST(t1, t2) \
179
+ SKM_DEFINE_STACK_OF(t1, const t2, t2)
180
+
181
+ /*-
182
+ * Strings are special: normally an lhash entry will point to a single
183
+ * (somewhat) mutable object. In the case of strings:
184
+ *
185
+ * a) Instead of a single char, there is an array of chars, NUL-terminated.
186
+ * b) The string may have be immutable.
187
+ *
188
+ * So, they need their own declarations. Especially important for
189
+ * type-checking tools, such as Deputy.
190
+ *
191
+ * In practice, however, it appears to be hard to have a const
192
+ * string. For now, I'm settling for dealing with the fact it is a
193
+ * string at all.
194
+ */
195
+ typedef char *OPENSSL_STRING;
196
+ typedef const char *OPENSSL_CSTRING;
197
+
198
+ /*-
199
+ * Confusingly, LHASH_OF(STRING) deals with char ** throughout, but
200
+ * STACK_OF(STRING) is really more like STACK_OF(char), only, as mentioned
201
+ * above, instead of a single char each entry is a NUL-terminated array of
202
+ * chars. So, we have to implement STRING specially for STACK_OF. This is
203
+ * dealt with in the autogenerated macros below.
204
+ */
205
+ SKM_DEFINE_STACK_OF_INTERNAL(OPENSSL_STRING, char, char)
206
+ #define sk_OPENSSL_STRING_num(sk) OPENSSL_sk_num(ossl_check_const_OPENSSL_STRING_sk_type(sk))
207
+ #define sk_OPENSSL_STRING_value(sk, idx) ((char *)OPENSSL_sk_value(ossl_check_const_OPENSSL_STRING_sk_type(sk), (idx)))
208
+ #define sk_OPENSSL_STRING_new(cmp) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_new(ossl_check_OPENSSL_STRING_compfunc_type(cmp)))
209
+ #define sk_OPENSSL_STRING_new_null() ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_new_null())
210
+ #define sk_OPENSSL_STRING_new_reserve(cmp, n) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_new_reserve(ossl_check_OPENSSL_STRING_compfunc_type(cmp), (n)))
211
+ #define sk_OPENSSL_STRING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OPENSSL_STRING_sk_type(sk), (n))
212
+ #define sk_OPENSSL_STRING_free(sk) OPENSSL_sk_free(ossl_check_OPENSSL_STRING_sk_type(sk))
213
+ #define sk_OPENSSL_STRING_zero(sk) OPENSSL_sk_zero(ossl_check_OPENSSL_STRING_sk_type(sk))
214
+ #define sk_OPENSSL_STRING_delete(sk, i) ((char *)OPENSSL_sk_delete(ossl_check_OPENSSL_STRING_sk_type(sk), (i)))
215
+ #define sk_OPENSSL_STRING_delete_ptr(sk, ptr) ((char *)OPENSSL_sk_delete_ptr(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr)))
216
+ #define sk_OPENSSL_STRING_push(sk, ptr) OPENSSL_sk_push(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr))
217
+ #define sk_OPENSSL_STRING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr))
218
+ #define sk_OPENSSL_STRING_pop(sk) ((char *)OPENSSL_sk_pop(ossl_check_OPENSSL_STRING_sk_type(sk)))
219
+ #define sk_OPENSSL_STRING_shift(sk) ((char *)OPENSSL_sk_shift(ossl_check_OPENSSL_STRING_sk_type(sk)))
220
+ #define sk_OPENSSL_STRING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OPENSSL_STRING_sk_type(sk),ossl_check_OPENSSL_STRING_freefunc_type(freefunc))
221
+ #define sk_OPENSSL_STRING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr), (idx))
222
+ #define sk_OPENSSL_STRING_set(sk, idx, ptr) ((char *)OPENSSL_sk_set(ossl_check_OPENSSL_STRING_sk_type(sk), (idx), ossl_check_OPENSSL_STRING_type(ptr)))
223
+ #define sk_OPENSSL_STRING_find(sk, ptr) OPENSSL_sk_find(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr))
224
+ #define sk_OPENSSL_STRING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr))
225
+ #define sk_OPENSSL_STRING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_type(ptr), pnum)
226
+ #define sk_OPENSSL_STRING_sort(sk) OPENSSL_sk_sort(ossl_check_OPENSSL_STRING_sk_type(sk))
227
+ #define sk_OPENSSL_STRING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OPENSSL_STRING_sk_type(sk))
228
+ #define sk_OPENSSL_STRING_dup(sk) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_dup(ossl_check_const_OPENSSL_STRING_sk_type(sk)))
229
+ #define sk_OPENSSL_STRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OPENSSL_STRING) *)OPENSSL_sk_deep_copy(ossl_check_const_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_copyfunc_type(copyfunc), ossl_check_OPENSSL_STRING_freefunc_type(freefunc)))
230
+ #define sk_OPENSSL_STRING_set_cmp_func(sk, cmp) ((sk_OPENSSL_STRING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OPENSSL_STRING_sk_type(sk), ossl_check_OPENSSL_STRING_compfunc_type(cmp)))
231
+ SKM_DEFINE_STACK_OF_INTERNAL(OPENSSL_CSTRING, const char, char)
232
+ #define sk_OPENSSL_CSTRING_num(sk) OPENSSL_sk_num(ossl_check_const_OPENSSL_CSTRING_sk_type(sk))
233
+ #define sk_OPENSSL_CSTRING_value(sk, idx) ((const char *)OPENSSL_sk_value(ossl_check_const_OPENSSL_CSTRING_sk_type(sk), (idx)))
234
+ #define sk_OPENSSL_CSTRING_new(cmp) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_new(ossl_check_OPENSSL_CSTRING_compfunc_type(cmp)))
235
+ #define sk_OPENSSL_CSTRING_new_null() ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_new_null())
236
+ #define sk_OPENSSL_CSTRING_new_reserve(cmp, n) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_new_reserve(ossl_check_OPENSSL_CSTRING_compfunc_type(cmp), (n)))
237
+ #define sk_OPENSSL_CSTRING_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OPENSSL_CSTRING_sk_type(sk), (n))
238
+ #define sk_OPENSSL_CSTRING_free(sk) OPENSSL_sk_free(ossl_check_OPENSSL_CSTRING_sk_type(sk))
239
+ #define sk_OPENSSL_CSTRING_zero(sk) OPENSSL_sk_zero(ossl_check_OPENSSL_CSTRING_sk_type(sk))
240
+ #define sk_OPENSSL_CSTRING_delete(sk, i) ((const char *)OPENSSL_sk_delete(ossl_check_OPENSSL_CSTRING_sk_type(sk), (i)))
241
+ #define sk_OPENSSL_CSTRING_delete_ptr(sk, ptr) ((const char *)OPENSSL_sk_delete_ptr(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr)))
242
+ #define sk_OPENSSL_CSTRING_push(sk, ptr) OPENSSL_sk_push(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr))
243
+ #define sk_OPENSSL_CSTRING_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr))
244
+ #define sk_OPENSSL_CSTRING_pop(sk) ((const char *)OPENSSL_sk_pop(ossl_check_OPENSSL_CSTRING_sk_type(sk)))
245
+ #define sk_OPENSSL_CSTRING_shift(sk) ((const char *)OPENSSL_sk_shift(ossl_check_OPENSSL_CSTRING_sk_type(sk)))
246
+ #define sk_OPENSSL_CSTRING_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OPENSSL_CSTRING_sk_type(sk),ossl_check_OPENSSL_CSTRING_freefunc_type(freefunc))
247
+ #define sk_OPENSSL_CSTRING_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr), (idx))
248
+ #define sk_OPENSSL_CSTRING_set(sk, idx, ptr) ((const char *)OPENSSL_sk_set(ossl_check_OPENSSL_CSTRING_sk_type(sk), (idx), ossl_check_OPENSSL_CSTRING_type(ptr)))
249
+ #define sk_OPENSSL_CSTRING_find(sk, ptr) OPENSSL_sk_find(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr))
250
+ #define sk_OPENSSL_CSTRING_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr))
251
+ #define sk_OPENSSL_CSTRING_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_type(ptr), pnum)
252
+ #define sk_OPENSSL_CSTRING_sort(sk) OPENSSL_sk_sort(ossl_check_OPENSSL_CSTRING_sk_type(sk))
253
+ #define sk_OPENSSL_CSTRING_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OPENSSL_CSTRING_sk_type(sk))
254
+ #define sk_OPENSSL_CSTRING_dup(sk) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_dup(ossl_check_const_OPENSSL_CSTRING_sk_type(sk)))
255
+ #define sk_OPENSSL_CSTRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OPENSSL_CSTRING) *)OPENSSL_sk_deep_copy(ossl_check_const_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_copyfunc_type(copyfunc), ossl_check_OPENSSL_CSTRING_freefunc_type(freefunc)))
256
+ #define sk_OPENSSL_CSTRING_set_cmp_func(sk, cmp) ((sk_OPENSSL_CSTRING_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OPENSSL_CSTRING_sk_type(sk), ossl_check_OPENSSL_CSTRING_compfunc_type(cmp)))
257
+
258
+
259
+ #if !defined(OPENSSL_NO_DEPRECATED_3_0)
260
+ /*
261
+ * This is not used by OpenSSL. A block of bytes, NOT nul-terminated.
262
+ * These should also be distinguished from "normal" stacks.
263
+ */
264
+ typedef void *OPENSSL_BLOCK;
265
+ SKM_DEFINE_STACK_OF_INTERNAL(OPENSSL_BLOCK, void, void)
266
+ #define sk_OPENSSL_BLOCK_num(sk) OPENSSL_sk_num(ossl_check_const_OPENSSL_BLOCK_sk_type(sk))
267
+ #define sk_OPENSSL_BLOCK_value(sk, idx) ((void *)OPENSSL_sk_value(ossl_check_const_OPENSSL_BLOCK_sk_type(sk), (idx)))
268
+ #define sk_OPENSSL_BLOCK_new(cmp) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_new(ossl_check_OPENSSL_BLOCK_compfunc_type(cmp)))
269
+ #define sk_OPENSSL_BLOCK_new_null() ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_new_null())
270
+ #define sk_OPENSSL_BLOCK_new_reserve(cmp, n) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_new_reserve(ossl_check_OPENSSL_BLOCK_compfunc_type(cmp), (n)))
271
+ #define sk_OPENSSL_BLOCK_reserve(sk, n) OPENSSL_sk_reserve(ossl_check_OPENSSL_BLOCK_sk_type(sk), (n))
272
+ #define sk_OPENSSL_BLOCK_free(sk) OPENSSL_sk_free(ossl_check_OPENSSL_BLOCK_sk_type(sk))
273
+ #define sk_OPENSSL_BLOCK_zero(sk) OPENSSL_sk_zero(ossl_check_OPENSSL_BLOCK_sk_type(sk))
274
+ #define sk_OPENSSL_BLOCK_delete(sk, i) ((void *)OPENSSL_sk_delete(ossl_check_OPENSSL_BLOCK_sk_type(sk), (i)))
275
+ #define sk_OPENSSL_BLOCK_delete_ptr(sk, ptr) ((void *)OPENSSL_sk_delete_ptr(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr)))
276
+ #define sk_OPENSSL_BLOCK_push(sk, ptr) OPENSSL_sk_push(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr))
277
+ #define sk_OPENSSL_BLOCK_unshift(sk, ptr) OPENSSL_sk_unshift(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr))
278
+ #define sk_OPENSSL_BLOCK_pop(sk) ((void *)OPENSSL_sk_pop(ossl_check_OPENSSL_BLOCK_sk_type(sk)))
279
+ #define sk_OPENSSL_BLOCK_shift(sk) ((void *)OPENSSL_sk_shift(ossl_check_OPENSSL_BLOCK_sk_type(sk)))
280
+ #define sk_OPENSSL_BLOCK_pop_free(sk, freefunc) OPENSSL_sk_pop_free(ossl_check_OPENSSL_BLOCK_sk_type(sk),ossl_check_OPENSSL_BLOCK_freefunc_type(freefunc))
281
+ #define sk_OPENSSL_BLOCK_insert(sk, ptr, idx) OPENSSL_sk_insert(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr), (idx))
282
+ #define sk_OPENSSL_BLOCK_set(sk, idx, ptr) ((void *)OPENSSL_sk_set(ossl_check_OPENSSL_BLOCK_sk_type(sk), (idx), ossl_check_OPENSSL_BLOCK_type(ptr)))
283
+ #define sk_OPENSSL_BLOCK_find(sk, ptr) OPENSSL_sk_find(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr))
284
+ #define sk_OPENSSL_BLOCK_find_ex(sk, ptr) OPENSSL_sk_find_ex(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr))
285
+ #define sk_OPENSSL_BLOCK_find_all(sk, ptr, pnum) OPENSSL_sk_find_all(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_type(ptr), pnum)
286
+ #define sk_OPENSSL_BLOCK_sort(sk) OPENSSL_sk_sort(ossl_check_OPENSSL_BLOCK_sk_type(sk))
287
+ #define sk_OPENSSL_BLOCK_is_sorted(sk) OPENSSL_sk_is_sorted(ossl_check_const_OPENSSL_BLOCK_sk_type(sk))
288
+ #define sk_OPENSSL_BLOCK_dup(sk) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_dup(ossl_check_const_OPENSSL_BLOCK_sk_type(sk)))
289
+ #define sk_OPENSSL_BLOCK_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(OPENSSL_BLOCK) *)OPENSSL_sk_deep_copy(ossl_check_const_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_copyfunc_type(copyfunc), ossl_check_OPENSSL_BLOCK_freefunc_type(freefunc)))
290
+ #define sk_OPENSSL_BLOCK_set_cmp_func(sk, cmp) ((sk_OPENSSL_BLOCK_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_OPENSSL_BLOCK_sk_type(sk), ossl_check_OPENSSL_BLOCK_compfunc_type(cmp)))
291
+
292
+ #endif
293
+
294
+ # ifdef __cplusplus
295
+ }
296
+ # endif
297
+ #endif
@@ -0,0 +1,113 @@
1
+ /*
2
+ * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
5
+ * this file except in compliance with the License. You can obtain a copy
6
+ * in the file LICENSE in the source distribution or at
7
+ * https://www.openssl.org/source/license.html
8
+ */
9
+
10
+ /*
11
+ * Copyright (c) 2007 KISA(Korea Information Security Agency). All rights reserved.
12
+ *
13
+ * Redistribution and use in source and binary forms, with or without
14
+ * modification, are permitted provided that the following conditions
15
+ * are met:
16
+ * 1. Redistributions of source code must retain the above copyright
17
+ * notice, this list of conditions and the following disclaimer.
18
+ * 2. Neither the name of author nor the names of its contributors may
19
+ * be used to endorse or promote products derived from this software
20
+ * without specific prior written permission.
21
+ *
22
+ * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
23
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25
+ * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
26
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32
+ * SUCH DAMAGE.
33
+ */
34
+
35
+ #ifndef OPENSSL_SEED_H
36
+ # define OPENSSL_SEED_H
37
+ # pragma once
38
+
39
+ # include <openssl/macros.h>
40
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
41
+ # define HEADER_SEED_H
42
+ # endif
43
+
44
+ # include <openssl/opensslconf.h>
45
+
46
+ # ifndef OPENSSL_NO_SEED
47
+ # include <openssl/e_os2.h>
48
+ # include <openssl/crypto.h>
49
+ # include <sys/types.h>
50
+
51
+ # ifdef __cplusplus
52
+ extern "C" {
53
+ # endif
54
+
55
+ # define SEED_BLOCK_SIZE 16
56
+ # define SEED_KEY_LENGTH 16
57
+
58
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
59
+ /* look whether we need 'long' to get 32 bits */
60
+ # ifdef AES_LONG
61
+ # ifndef SEED_LONG
62
+ # define SEED_LONG 1
63
+ # endif
64
+ # endif
65
+
66
+
67
+ typedef struct seed_key_st {
68
+ # ifdef SEED_LONG
69
+ unsigned long data[32];
70
+ # else
71
+ unsigned int data[32];
72
+ # endif
73
+ } SEED_KEY_SCHEDULE;
74
+ # endif /* OPENSSL_NO_DEPRECATED_3_0 */
75
+ # ifndef OPENSSL_NO_DEPRECATED_3_0
76
+ OSSL_DEPRECATEDIN_3_0
77
+ void SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH],
78
+ SEED_KEY_SCHEDULE *ks);
79
+ OSSL_DEPRECATEDIN_3_0
80
+ void SEED_encrypt(const unsigned char s[SEED_BLOCK_SIZE],
81
+ unsigned char d[SEED_BLOCK_SIZE],
82
+ const SEED_KEY_SCHEDULE *ks);
83
+ OSSL_DEPRECATEDIN_3_0
84
+ void SEED_decrypt(const unsigned char s[SEED_BLOCK_SIZE],
85
+ unsigned char d[SEED_BLOCK_SIZE],
86
+ const SEED_KEY_SCHEDULE *ks);
87
+ OSSL_DEPRECATEDIN_3_0
88
+ void SEED_ecb_encrypt(const unsigned char *in,
89
+ unsigned char *out,
90
+ const SEED_KEY_SCHEDULE *ks, int enc);
91
+ OSSL_DEPRECATEDIN_3_0
92
+ void SEED_cbc_encrypt(const unsigned char *in, unsigned char *out, size_t len,
93
+ const SEED_KEY_SCHEDULE *ks,
94
+ unsigned char ivec[SEED_BLOCK_SIZE],
95
+ int enc);
96
+ OSSL_DEPRECATEDIN_3_0
97
+ void SEED_cfb128_encrypt(const unsigned char *in, unsigned char *out,
98
+ size_t len, const SEED_KEY_SCHEDULE *ks,
99
+ unsigned char ivec[SEED_BLOCK_SIZE],
100
+ int *num, int enc);
101
+ OSSL_DEPRECATEDIN_3_0
102
+ void SEED_ofb128_encrypt(const unsigned char *in, unsigned char *out,
103
+ size_t len, const SEED_KEY_SCHEDULE *ks,
104
+ unsigned char ivec[SEED_BLOCK_SIZE],
105
+ int *num);
106
+ # endif
107
+
108
+ # ifdef __cplusplus
109
+ }
110
+ # endif
111
+ # endif
112
+
113
+ #endif
@@ -0,0 +1,94 @@
1
+ /*
2
+ * Copyright 2019-2022 The OpenSSL Project Authors. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
5
+ * this file except in compliance with the License. You can obtain a copy
6
+ * in the file LICENSE in the source distribution or at
7
+ * https://www.openssl.org/source/license.html
8
+ */
9
+
10
+ #ifndef OPENSSL_SELF_TEST_H
11
+ # define OPENSSL_SELF_TEST_H
12
+ # pragma once
13
+
14
+ # include <openssl/core.h> /* OSSL_CALLBACK */
15
+
16
+ # ifdef __cplusplus
17
+ extern "C" {
18
+ # endif
19
+
20
+ /* The test event phases */
21
+ # define OSSL_SELF_TEST_PHASE_NONE "None"
22
+ # define OSSL_SELF_TEST_PHASE_START "Start"
23
+ # define OSSL_SELF_TEST_PHASE_CORRUPT "Corrupt"
24
+ # define OSSL_SELF_TEST_PHASE_PASS "Pass"
25
+ # define OSSL_SELF_TEST_PHASE_FAIL "Fail"
26
+
27
+ /* Test event categories */
28
+ # define OSSL_SELF_TEST_TYPE_NONE "None"
29
+ # define OSSL_SELF_TEST_TYPE_MODULE_INTEGRITY "Module_Integrity"
30
+ # define OSSL_SELF_TEST_TYPE_INSTALL_INTEGRITY "Install_Integrity"
31
+ # define OSSL_SELF_TEST_TYPE_CRNG "Continuous_RNG_Test"
32
+ # define OSSL_SELF_TEST_TYPE_PCT "Conditional_PCT"
33
+ # define OSSL_SELF_TEST_TYPE_PCT_KAT "Conditional_KAT"
34
+ # define OSSL_SELF_TEST_TYPE_KAT_INTEGRITY "KAT_Integrity"
35
+ # define OSSL_SELF_TEST_TYPE_KAT_CIPHER "KAT_Cipher"
36
+ # define OSSL_SELF_TEST_TYPE_KAT_ASYM_CIPHER "KAT_AsymmetricCipher"
37
+ # define OSSL_SELF_TEST_TYPE_KAT_DIGEST "KAT_Digest"
38
+ # define OSSL_SELF_TEST_TYPE_KAT_SIGNATURE "KAT_Signature"
39
+ # define OSSL_SELF_TEST_TYPE_PCT_SIGNATURE "PCT_Signature"
40
+ # define OSSL_SELF_TEST_TYPE_KAT_KDF "KAT_KDF"
41
+ # define OSSL_SELF_TEST_TYPE_KAT_KA "KAT_KA"
42
+ # define OSSL_SELF_TEST_TYPE_DRBG "DRBG"
43
+
44
+ /* Test event sub categories */
45
+ # define OSSL_SELF_TEST_DESC_NONE "None"
46
+ # define OSSL_SELF_TEST_DESC_INTEGRITY_HMAC "HMAC"
47
+ # define OSSL_SELF_TEST_DESC_PCT_RSA_PKCS1 "RSA"
48
+ # define OSSL_SELF_TEST_DESC_PCT_ECDSA "ECDSA"
49
+ # define OSSL_SELF_TEST_DESC_PCT_DSA "DSA"
50
+ # define OSSL_SELF_TEST_DESC_CIPHER_AES_GCM "AES_GCM"
51
+ # define OSSL_SELF_TEST_DESC_CIPHER_AES_ECB "AES_ECB_Decrypt"
52
+ # define OSSL_SELF_TEST_DESC_CIPHER_TDES "TDES"
53
+ # define OSSL_SELF_TEST_DESC_ASYM_RSA_ENC "RSA_Encrypt"
54
+ # define OSSL_SELF_TEST_DESC_ASYM_RSA_DEC "RSA_Decrypt"
55
+ # define OSSL_SELF_TEST_DESC_MD_SHA1 "SHA1"
56
+ # define OSSL_SELF_TEST_DESC_MD_SHA2 "SHA2"
57
+ # define OSSL_SELF_TEST_DESC_MD_SHA3 "SHA3"
58
+ # define OSSL_SELF_TEST_DESC_SIGN_DSA "DSA"
59
+ # define OSSL_SELF_TEST_DESC_SIGN_RSA "RSA"
60
+ # define OSSL_SELF_TEST_DESC_SIGN_ECDSA "ECDSA"
61
+ # define OSSL_SELF_TEST_DESC_DRBG_CTR "CTR"
62
+ # define OSSL_SELF_TEST_DESC_DRBG_HASH "HASH"
63
+ # define OSSL_SELF_TEST_DESC_DRBG_HMAC "HMAC"
64
+ # define OSSL_SELF_TEST_DESC_KA_DH "DH"
65
+ # define OSSL_SELF_TEST_DESC_KA_ECDH "ECDH"
66
+ # define OSSL_SELF_TEST_DESC_KDF_HKDF "HKDF"
67
+ # define OSSL_SELF_TEST_DESC_KDF_SSKDF "SSKDF"
68
+ # define OSSL_SELF_TEST_DESC_KDF_X963KDF "X963KDF"
69
+ # define OSSL_SELF_TEST_DESC_KDF_X942KDF "X942KDF"
70
+ # define OSSL_SELF_TEST_DESC_KDF_PBKDF2 "PBKDF2"
71
+ # define OSSL_SELF_TEST_DESC_KDF_SSHKDF "SSHKDF"
72
+ # define OSSL_SELF_TEST_DESC_KDF_TLS12_PRF "TLS12_PRF"
73
+ # define OSSL_SELF_TEST_DESC_KDF_KBKDF "KBKDF"
74
+ # define OSSL_SELF_TEST_DESC_KDF_TLS13_EXTRACT "TLS13_KDF_EXTRACT"
75
+ # define OSSL_SELF_TEST_DESC_KDF_TLS13_EXPAND "TLS13_KDF_EXPAND"
76
+ # define OSSL_SELF_TEST_DESC_RNG "RNG"
77
+
78
+ void OSSL_SELF_TEST_set_callback(OSSL_LIB_CTX *libctx, OSSL_CALLBACK *cb,
79
+ void *cbarg);
80
+ void OSSL_SELF_TEST_get_callback(OSSL_LIB_CTX *libctx, OSSL_CALLBACK **cb,
81
+ void **cbarg);
82
+
83
+ OSSL_SELF_TEST *OSSL_SELF_TEST_new(OSSL_CALLBACK *cb, void *cbarg);
84
+ void OSSL_SELF_TEST_free(OSSL_SELF_TEST *st);
85
+
86
+ void OSSL_SELF_TEST_onbegin(OSSL_SELF_TEST *st, const char *type,
87
+ const char *desc);
88
+ int OSSL_SELF_TEST_oncorrupt_byte(OSSL_SELF_TEST *st, unsigned char *bytes);
89
+ void OSSL_SELF_TEST_onend(OSSL_SELF_TEST *st, int ret);
90
+
91
+ # ifdef __cplusplus
92
+ }
93
+ # endif
94
+ #endif /* OPENSSL_SELF_TEST_H */