tolerate broken CMS/PKCS7 implementations using signature OID instead of digest
[openssl.git] / crypto / symhacks.h
1 /* ====================================================================
2  * Copyright (c) 1999 The OpenSSL Project.  All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer. 
10  *
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in
13  *    the documentation and/or other materials provided with the
14  *    distribution.
15  *
16  * 3. All advertising materials mentioning features or use of this
17  *    software must display the following acknowledgment:
18  *    "This product includes software developed by the OpenSSL Project
19  *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
20  *
21  * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
22  *    endorse or promote products derived from this software without
23  *    prior written permission. For written permission, please contact
24  *    openssl-core@openssl.org.
25  *
26  * 5. Products derived from this software may not be called "OpenSSL"
27  *    nor may "OpenSSL" appear in their names without prior written
28  *    permission of the OpenSSL Project.
29  *
30  * 6. Redistributions of any form whatsoever must retain the following
31  *    acknowledgment:
32  *    "This product includes software developed by the OpenSSL Project
33  *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
34  *
35  * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
36  * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
37  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
38  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
39  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
41  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
42  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
43  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
44  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
45  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
46  * OF THE POSSIBILITY OF SUCH DAMAGE.
47  * ====================================================================
48  *
49  * This product includes cryptographic software written by Eric Young
50  * (eay@cryptsoft.com).  This product includes software written by Tim
51  * Hudson (tjh@cryptsoft.com).
52  *
53  */
54
55 #ifndef HEADER_SYMHACKS_H
56 #define HEADER_SYMHACKS_H
57
58 #include <openssl/e_os2.h>
59
60 /* Hacks to solve the problem with linkers incapable of handling very long
61    symbol names.  In the case of VMS, the limit is 31 characters on VMS for
62    VAX. */
63 /* Note that this affects util/libeay.num and util/ssleay.num...  you may
64    change those manually, but that's not recommended, as those files are
65    controlled centrally and updated on Unix, and the central definition
66    may disagree with yours, which in turn may come with shareable library
67    incompatibilities. */
68 #ifdef OPENSSL_SYS_VMS
69
70 /* Hack a long name in crypto/ex_data.c */
71 #undef CRYPTO_get_ex_data_implementation
72 #define CRYPTO_get_ex_data_implementation       CRYPTO_get_ex_data_impl
73 #undef CRYPTO_set_ex_data_implementation
74 #define CRYPTO_set_ex_data_implementation       CRYPTO_set_ex_data_impl
75
76 /* Hack a long name in crypto/asn1/a_mbstr.c */
77 #undef ASN1_STRING_set_default_mask_asc
78 #define ASN1_STRING_set_default_mask_asc        ASN1_STRING_set_def_mask_asc
79
80 #if 0 /* No longer needed, since safestack macro magic does the job */
81 /* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_SIGNER_INFO) */
82 #undef i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO
83 #define i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO       i2d_ASN1_SET_OF_PKCS7_SIGINF
84 #undef d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO
85 #define d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO       d2i_ASN1_SET_OF_PKCS7_SIGINF
86 #endif
87
88 #if 0 /* No longer needed, since safestack macro magic does the job */
89 /* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_RECIP_INFO) */
90 #undef i2d_ASN1_SET_OF_PKCS7_RECIP_INFO
91 #define i2d_ASN1_SET_OF_PKCS7_RECIP_INFO        i2d_ASN1_SET_OF_PKCS7_RECINF
92 #undef d2i_ASN1_SET_OF_PKCS7_RECIP_INFO
93 #define d2i_ASN1_SET_OF_PKCS7_RECIP_INFO        d2i_ASN1_SET_OF_PKCS7_RECINF
94 #endif
95
96 #if 0 /* No longer needed, since safestack macro magic does the job */
97 /* Hack the names created with DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION) */
98 #undef i2d_ASN1_SET_OF_ACCESS_DESCRIPTION
99 #define i2d_ASN1_SET_OF_ACCESS_DESCRIPTION      i2d_ASN1_SET_OF_ACC_DESC
100 #undef d2i_ASN1_SET_OF_ACCESS_DESCRIPTION
101 #define d2i_ASN1_SET_OF_ACCESS_DESCRIPTION      d2i_ASN1_SET_OF_ACC_DESC
102 #endif
103
104 /* Hack the names created with DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE) */
105 #undef PEM_read_NETSCAPE_CERT_SEQUENCE
106 #define PEM_read_NETSCAPE_CERT_SEQUENCE         PEM_read_NS_CERT_SEQ
107 #undef PEM_write_NETSCAPE_CERT_SEQUENCE
108 #define PEM_write_NETSCAPE_CERT_SEQUENCE        PEM_write_NS_CERT_SEQ
109 #undef PEM_read_bio_NETSCAPE_CERT_SEQUENCE
110 #define PEM_read_bio_NETSCAPE_CERT_SEQUENCE     PEM_read_bio_NS_CERT_SEQ
111 #undef PEM_write_bio_NETSCAPE_CERT_SEQUENCE
112 #define PEM_write_bio_NETSCAPE_CERT_SEQUENCE    PEM_write_bio_NS_CERT_SEQ
113 #undef PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE
114 #define PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE PEM_write_cb_bio_NS_CERT_SEQ
115
116 /* Hack the names created with DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO) */
117 #undef PEM_read_PKCS8_PRIV_KEY_INFO
118 #define PEM_read_PKCS8_PRIV_KEY_INFO            PEM_read_P8_PRIV_KEY_INFO
119 #undef PEM_write_PKCS8_PRIV_KEY_INFO
120 #define PEM_write_PKCS8_PRIV_KEY_INFO           PEM_write_P8_PRIV_KEY_INFO
121 #undef PEM_read_bio_PKCS8_PRIV_KEY_INFO
122 #define PEM_read_bio_PKCS8_PRIV_KEY_INFO        PEM_read_bio_P8_PRIV_KEY_INFO
123 #undef PEM_write_bio_PKCS8_PRIV_KEY_INFO
124 #define PEM_write_bio_PKCS8_PRIV_KEY_INFO       PEM_write_bio_P8_PRIV_KEY_INFO
125 #undef PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO
126 #define PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO    PEM_wrt_cb_bio_P8_PRIV_KEY_INFO
127
128 /* Hack other PEM names */
129 #undef PEM_write_bio_PKCS8PrivateKey_nid
130 #define PEM_write_bio_PKCS8PrivateKey_nid       PEM_write_bio_PKCS8PrivKey_nid
131
132 /* Hack some long X509 names */
133 #undef X509_REVOKED_get_ext_by_critical
134 #define X509_REVOKED_get_ext_by_critical        X509_REVOKED_get_ext_by_critic
135 #undef X509_policy_tree_get0_user_policies
136 #define X509_policy_tree_get0_user_policies     X509_pcy_tree_get0_usr_policies
137 #undef X509_policy_node_get0_qualifiers
138 #define X509_policy_node_get0_qualifiers        X509_pcy_node_get0_qualifiers
139 #undef X509_STORE_CTX_get_explicit_policy
140 #define X509_STORE_CTX_get_explicit_policy      X509_STORE_CTX_get_expl_policy
141 #undef X509_STORE_CTX_get0_current_issuer
142 #define X509_STORE_CTX_get0_current_issuer      X509_STORE_CTX_get0_cur_issuer
143
144 /* Hack some long CRYPTO names */
145 #undef CRYPTO_set_dynlock_destroy_callback
146 #define CRYPTO_set_dynlock_destroy_callback     CRYPTO_set_dynlock_destroy_cb
147 #undef CRYPTO_set_dynlock_create_callback
148 #define CRYPTO_set_dynlock_create_callback      CRYPTO_set_dynlock_create_cb
149 #undef CRYPTO_set_dynlock_lock_callback
150 #define CRYPTO_set_dynlock_lock_callback        CRYPTO_set_dynlock_lock_cb
151 #undef CRYPTO_get_dynlock_lock_callback
152 #define CRYPTO_get_dynlock_lock_callback        CRYPTO_get_dynlock_lock_cb
153 #undef CRYPTO_get_dynlock_destroy_callback
154 #define CRYPTO_get_dynlock_destroy_callback     CRYPTO_get_dynlock_destroy_cb
155 #undef CRYPTO_get_dynlock_create_callback
156 #define CRYPTO_get_dynlock_create_callback      CRYPTO_get_dynlock_create_cb
157 #undef CRYPTO_set_locked_mem_ex_functions
158 #define CRYPTO_set_locked_mem_ex_functions      CRYPTO_set_locked_mem_ex_funcs
159 #undef CRYPTO_get_locked_mem_ex_functions
160 #define CRYPTO_get_locked_mem_ex_functions      CRYPTO_get_locked_mem_ex_funcs
161
162 /* Hack some long SSL names */
163 #undef SSL_CTX_set_default_verify_paths
164 #define SSL_CTX_set_default_verify_paths        SSL_CTX_set_def_verify_paths
165 #undef SSL_get_ex_data_X509_STORE_CTX_idx
166 #define SSL_get_ex_data_X509_STORE_CTX_idx      SSL_get_ex_d_X509_STORE_CTX_idx
167 #undef SSL_add_file_cert_subjects_to_stack
168 #define SSL_add_file_cert_subjects_to_stack     SSL_add_file_cert_subjs_to_stk
169 #undef SSL_add_dir_cert_subjects_to_stack
170 #define SSL_add_dir_cert_subjects_to_stack      SSL_add_dir_cert_subjs_to_stk
171 #undef SSL_CTX_use_certificate_chain_file
172 #define SSL_CTX_use_certificate_chain_file      SSL_CTX_use_cert_chain_file
173 #undef SSL_CTX_set_cert_verify_callback
174 #define SSL_CTX_set_cert_verify_callback        SSL_CTX_set_cert_verify_cb
175 #undef SSL_CTX_set_default_passwd_cb_userdata
176 #define SSL_CTX_set_default_passwd_cb_userdata  SSL_CTX_set_def_passwd_cb_ud
177 #undef SSL_COMP_get_compression_methods
178 #define SSL_COMP_get_compression_methods        SSL_COMP_get_compress_methods
179
180 #undef ssl_add_clienthello_renegotiate_ext
181 #define ssl_add_clienthello_renegotiate_ext     ssl_add_clienthello_reneg_ext
182 #undef ssl_add_serverhello_renegotiate_ext
183 #define ssl_add_serverhello_renegotiate_ext     ssl_add_serverhello_reneg_ext
184 #undef ssl_parse_clienthello_renegotiate_ext
185 #define ssl_parse_clienthello_renegotiate_ext   ssl_parse_clienthello_reneg_ext
186 #undef ssl_parse_serverhello_renegotiate_ext
187 #define ssl_parse_serverhello_renegotiate_ext   ssl_parse_serverhello_reneg_ext
188
189 /* Hack some long ENGINE names */
190 #undef ENGINE_get_default_BN_mod_exp_crt
191 #define ENGINE_get_default_BN_mod_exp_crt       ENGINE_get_def_BN_mod_exp_crt
192 #undef ENGINE_set_default_BN_mod_exp_crt
193 #define ENGINE_set_default_BN_mod_exp_crt       ENGINE_set_def_BN_mod_exp_crt
194 #undef ENGINE_set_load_privkey_function
195 #define ENGINE_set_load_privkey_function        ENGINE_set_load_privkey_fn
196 #undef ENGINE_get_load_privkey_function
197 #define ENGINE_get_load_privkey_function        ENGINE_get_load_privkey_fn
198 #undef ENGINE_unregister_pkey_asn1_meths
199 #define ENGINE_unregister_pkey_asn1_meths       ENGINE_unreg_pkey_asn1_meths
200 #undef ENGINE_register_all_pkey_asn1_meths
201 #define ENGINE_register_all_pkey_asn1_meths     ENGINE_reg_all_pkey_asn1_meths
202 #undef ENGINE_set_default_pkey_asn1_meths
203 #define ENGINE_set_default_pkey_asn1_meths      ENGINE_set_def_pkey_asn1_meths
204 #undef ENGINE_get_pkey_asn1_meth_engine
205 #define ENGINE_get_pkey_asn1_meth_engine        ENGINE_get_pkey_asn1_meth_eng
206 #undef ENGINE_set_load_ssl_client_cert_function
207 #define ENGINE_set_load_ssl_client_cert_function \
208                                                 ENGINE_set_ld_ssl_clnt_cert_fn
209 #undef ENGINE_get_ssl_client_cert_function
210 #define ENGINE_get_ssl_client_cert_function     ENGINE_get_ssl_client_cert_fn
211
212 /* Hack some long OCSP names */
213 #undef OCSP_REQUEST_get_ext_by_critical
214 #define OCSP_REQUEST_get_ext_by_critical        OCSP_REQUEST_get_ext_by_crit
215 #undef OCSP_BASICRESP_get_ext_by_critical
216 #define OCSP_BASICRESP_get_ext_by_critical      OCSP_BASICRESP_get_ext_by_crit
217 #undef OCSP_SINGLERESP_get_ext_by_critical
218 #define OCSP_SINGLERESP_get_ext_by_critical     OCSP_SINGLERESP_get_ext_by_crit
219
220 /* Hack some long DES names */
221 #undef _ossl_old_des_ede3_cfb64_encrypt
222 #define _ossl_old_des_ede3_cfb64_encrypt        _ossl_odes_ede3_cfb64_encrypt
223 #undef _ossl_old_des_ede3_ofb64_encrypt
224 #define _ossl_old_des_ede3_ofb64_encrypt        _ossl_odes_ede3_ofb64_encrypt
225
226 /* Hack some long EVP names */
227 #undef OPENSSL_add_all_algorithms_noconf
228 #define OPENSSL_add_all_algorithms_noconf       OPENSSL_add_all_algo_noconf
229 #undef OPENSSL_add_all_algorithms_conf
230 #define OPENSSL_add_all_algorithms_conf         OPENSSL_add_all_algo_conf
231 #undef EVP_PKEY_meth_set_verify_recover
232 #define EVP_PKEY_meth_set_verify_recover        EVP_PKEY_meth_set_vrfy_recover
233
234 /* Hack some long EC names */
235 #undef EC_GROUP_set_point_conversion_form
236 #define EC_GROUP_set_point_conversion_form      EC_GROUP_set_point_conv_form
237 #undef EC_GROUP_get_point_conversion_form
238 #define EC_GROUP_get_point_conversion_form      EC_GROUP_get_point_conv_form
239 #undef EC_GROUP_clear_free_all_extra_data
240 #define EC_GROUP_clear_free_all_extra_data      EC_GROUP_clr_free_all_xtra_data
241 #undef EC_POINT_set_Jprojective_coordinates_GFp
242 #define EC_POINT_set_Jprojective_coordinates_GFp \
243                                                 EC_POINT_set_Jproj_coords_GFp
244 #undef EC_POINT_get_Jprojective_coordinates_GFp
245 #define EC_POINT_get_Jprojective_coordinates_GFp \
246                                                 EC_POINT_get_Jproj_coords_GFp
247 #undef EC_POINT_set_affine_coordinates_GFp
248 #define EC_POINT_set_affine_coordinates_GFp     EC_POINT_set_affine_coords_GFp
249 #undef EC_POINT_get_affine_coordinates_GFp
250 #define EC_POINT_get_affine_coordinates_GFp     EC_POINT_get_affine_coords_GFp
251 #undef EC_POINT_set_compressed_coordinates_GFp
252 #define EC_POINT_set_compressed_coordinates_GFp EC_POINT_set_compr_coords_GFp
253 #undef EC_POINT_set_affine_coordinates_GF2m
254 #define EC_POINT_set_affine_coordinates_GF2m    EC_POINT_set_affine_coords_GF2m
255 #undef EC_POINT_get_affine_coordinates_GF2m
256 #define EC_POINT_get_affine_coordinates_GF2m    EC_POINT_get_affine_coords_GF2m
257 #undef EC_POINT_set_compressed_coordinates_GF2m
258 #define EC_POINT_set_compressed_coordinates_GF2m \
259                                                 EC_POINT_set_compr_coords_GF2m
260 #undef ec_GF2m_simple_group_clear_finish
261 #define ec_GF2m_simple_group_clear_finish       ec_GF2m_simple_grp_clr_finish
262 #undef ec_GF2m_simple_group_check_discriminant
263 #define ec_GF2m_simple_group_check_discriminant ec_GF2m_simple_grp_chk_discrim
264 #undef ec_GF2m_simple_point_clear_finish
265 #define ec_GF2m_simple_point_clear_finish       ec_GF2m_simple_pt_clr_finish
266 #undef ec_GF2m_simple_point_set_to_infinity
267 #define ec_GF2m_simple_point_set_to_infinity    ec_GF2m_simple_pt_set_to_inf
268 #undef ec_GF2m_simple_points_make_affine
269 #define ec_GF2m_simple_points_make_affine       ec_GF2m_simple_pts_make_affine
270 #undef ec_GF2m_simple_point_set_affine_coordinates
271 #define ec_GF2m_simple_point_set_affine_coordinates \
272                                                 ec_GF2m_smp_pt_set_af_coords
273 #undef ec_GF2m_simple_point_get_affine_coordinates
274 #define ec_GF2m_simple_point_get_affine_coordinates \
275                                                 ec_GF2m_smp_pt_get_af_coords
276 #undef ec_GF2m_simple_set_compressed_coordinates
277 #define ec_GF2m_simple_set_compressed_coordinates \
278                                                 ec_GF2m_smp_set_compr_coords
279 #undef ec_GFp_simple_group_set_curve_GFp
280 #define ec_GFp_simple_group_set_curve_GFp       ec_GFp_simple_grp_set_curve_GFp
281 #undef ec_GFp_simple_group_get_curve_GFp
282 #define ec_GFp_simple_group_get_curve_GFp       ec_GFp_simple_grp_get_curve_GFp
283 #undef ec_GFp_simple_group_clear_finish
284 #define ec_GFp_simple_group_clear_finish        ec_GFp_simple_grp_clear_finish
285 #undef ec_GFp_simple_group_set_generator
286 #define ec_GFp_simple_group_set_generator       ec_GFp_simple_grp_set_generator
287 #undef ec_GFp_simple_group_get0_generator
288 #define ec_GFp_simple_group_get0_generator      ec_GFp_simple_grp_gt0_generator
289 #undef ec_GFp_simple_group_get_cofactor
290 #define ec_GFp_simple_group_get_cofactor        ec_GFp_simple_grp_get_cofactor
291 #undef ec_GFp_simple_point_clear_finish
292 #define ec_GFp_simple_point_clear_finish        ec_GFp_simple_pt_clear_finish
293 #undef ec_GFp_simple_point_set_to_infinity
294 #define ec_GFp_simple_point_set_to_infinity     ec_GFp_simple_pt_set_to_inf
295 #undef ec_GFp_simple_points_make_affine
296 #define ec_GFp_simple_points_make_affine        ec_GFp_simple_pts_make_affine
297 #undef ec_GFp_simple_group_get_curve_GFp
298 #define ec_GFp_simple_group_get_curve_GFp       ec_GFp_simple_grp_get_curve_GFp
299 #undef ec_GFp_simple_set_Jprojective_coordinates_GFp
300 #define ec_GFp_simple_set_Jprojective_coordinates_GFp \
301                                                 ec_GFp_smp_set_Jproj_coords_GFp
302 #undef ec_GFp_simple_get_Jprojective_coordinates_GFp
303 #define ec_GFp_simple_get_Jprojective_coordinates_GFp \
304                                                 ec_GFp_smp_get_Jproj_coords_GFp
305 #undef ec_GFp_simple_point_set_affine_coordinates_GFp
306 #define ec_GFp_simple_point_set_affine_coordinates_GFp \
307                                                 ec_GFp_smp_pt_set_af_coords_GFp
308 #undef ec_GFp_simple_point_get_affine_coordinates_GFp
309 #define ec_GFp_simple_point_get_affine_coordinates_GFp \
310                                                 ec_GFp_smp_pt_get_af_coords_GFp
311 #undef ec_GFp_simple_set_compressed_coordinates_GFp
312 #define ec_GFp_simple_set_compressed_coordinates_GFp \
313                                                 ec_GFp_smp_set_compr_coords_GFp
314 #undef ec_GFp_simple_point_set_affine_coordinates
315 #define ec_GFp_simple_point_set_affine_coordinates \
316                                                 ec_GFp_smp_pt_set_af_coords
317 #undef ec_GFp_simple_point_get_affine_coordinates
318 #define ec_GFp_simple_point_get_affine_coordinates \
319                                                 ec_GFp_smp_pt_get_af_coords
320 #undef ec_GFp_simple_set_compressed_coordinates
321 #define ec_GFp_simple_set_compressed_coordinates \
322                                                 ec_GFp_smp_set_compr_coords
323 #undef ec_GFp_simple_group_check_discriminant
324 #define ec_GFp_simple_group_check_discriminant  ec_GFp_simple_grp_chk_discrim
325
326 /* Hack som long STORE names */
327 #undef STORE_method_set_initialise_function
328 #define STORE_method_set_initialise_function    STORE_meth_set_initialise_fn
329 #undef STORE_method_set_cleanup_function
330 #define STORE_method_set_cleanup_function       STORE_meth_set_cleanup_fn
331 #undef STORE_method_set_generate_function
332 #define STORE_method_set_generate_function      STORE_meth_set_generate_fn
333 #undef STORE_method_set_modify_function
334 #define STORE_method_set_modify_function        STORE_meth_set_modify_fn
335 #undef STORE_method_set_revoke_function
336 #define STORE_method_set_revoke_function        STORE_meth_set_revoke_fn
337 #undef STORE_method_set_delete_function
338 #define STORE_method_set_delete_function        STORE_meth_set_delete_fn
339 #undef STORE_method_set_list_start_function
340 #define STORE_method_set_list_start_function    STORE_meth_set_list_start_fn
341 #undef STORE_method_set_list_next_function
342 #define STORE_method_set_list_next_function     STORE_meth_set_list_next_fn
343 #undef STORE_method_set_list_end_function
344 #define STORE_method_set_list_end_function      STORE_meth_set_list_end_fn
345 #undef STORE_method_set_update_store_function
346 #define STORE_method_set_update_store_function  STORE_meth_set_update_store_fn
347 #undef STORE_method_set_lock_store_function
348 #define STORE_method_set_lock_store_function    STORE_meth_set_lock_store_fn
349 #undef STORE_method_set_unlock_store_function
350 #define STORE_method_set_unlock_store_function  STORE_meth_set_unlock_store_fn
351 #undef STORE_method_get_initialise_function
352 #define STORE_method_get_initialise_function    STORE_meth_get_initialise_fn
353 #undef STORE_method_get_cleanup_function
354 #define STORE_method_get_cleanup_function       STORE_meth_get_cleanup_fn
355 #undef STORE_method_get_generate_function
356 #define STORE_method_get_generate_function      STORE_meth_get_generate_fn
357 #undef STORE_method_get_modify_function
358 #define STORE_method_get_modify_function        STORE_meth_get_modify_fn
359 #undef STORE_method_get_revoke_function
360 #define STORE_method_get_revoke_function        STORE_meth_get_revoke_fn
361 #undef STORE_method_get_delete_function
362 #define STORE_method_get_delete_function        STORE_meth_get_delete_fn
363 #undef STORE_method_get_list_start_function
364 #define STORE_method_get_list_start_function    STORE_meth_get_list_start_fn
365 #undef STORE_method_get_list_next_function
366 #define STORE_method_get_list_next_function     STORE_meth_get_list_next_fn
367 #undef STORE_method_get_list_end_function
368 #define STORE_method_get_list_end_function      STORE_meth_get_list_end_fn
369 #undef STORE_method_get_update_store_function
370 #define STORE_method_get_update_store_function  STORE_meth_get_update_store_fn
371 #undef STORE_method_get_lock_store_function
372 #define STORE_method_get_lock_store_function    STORE_meth_get_lock_store_fn
373 #undef STORE_method_get_unlock_store_function
374 #define STORE_method_get_unlock_store_function  STORE_meth_get_unlock_store_fn
375
376 /* Hack some long TS names */
377 #undef TS_RESP_CTX_set_status_info_cond
378 #define TS_RESP_CTX_set_status_info_cond        TS_RESP_CTX_set_stat_info_cond
379 #undef TS_RESP_CTX_set_clock_precision_digits
380 #define TS_RESP_CTX_set_clock_precision_digits  TS_RESP_CTX_set_clk_prec_digits
381 #undef TS_CONF_set_clock_precision_digits
382 #define TS_CONF_set_clock_precision_digits      TS_CONF_set_clk_prec_digits
383
384 /* Hack some long CMS names */
385 #undef CMS_RecipientInfo_ktri_get0_algs
386 #define CMS_RecipientInfo_ktri_get0_algs        CMS_RecipInfo_ktri_get0_algs
387 #undef CMS_RecipientInfo_ktri_get0_signer_id
388 #define CMS_RecipientInfo_ktri_get0_signer_id   CMS_RecipInfo_ktri_get0_sigr_id
389 #undef CMS_OtherRevocationInfoFormat_it
390 #define CMS_OtherRevocationInfoFormat_it        CMS_OtherRevocInfoFormat_it
391 #undef CMS_KeyAgreeRecipientIdentifier_it
392 #define CMS_KeyAgreeRecipientIdentifier_it      CMS_KeyAgreeRecipIdentifier_it
393 #undef CMS_OriginatorIdentifierOrKey_it
394 #define CMS_OriginatorIdentifierOrKey_it        CMS_OriginatorIdOrKey_it
395 #undef cms_SignerIdentifier_get0_signer_id
396 #define cms_SignerIdentifier_get0_signer_id     cms_SignerId_get0_signer_id
397
398 /* Hack some long DTLS1 names */
399 #undef dtls1_retransmit_buffered_messages
400 #define dtls1_retransmit_buffered_messages      dtls1_retransmit_buffered_msgs
401
402 #endif /* defined OPENSSL_SYS_VMS */
403
404
405 /* Case insensitive linking causes problems.... */
406 #if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_OS2)
407 #undef ERR_load_CRYPTO_strings
408 #define ERR_load_CRYPTO_strings                 ERR_load_CRYPTOlib_strings
409 #undef OCSP_crlID_new
410 #define OCSP_crlID_new                          OCSP_crlID2_new
411
412 #undef d2i_ECPARAMETERS
413 #define d2i_ECPARAMETERS                        d2i_UC_ECPARAMETERS
414 #undef i2d_ECPARAMETERS
415 #define i2d_ECPARAMETERS                        i2d_UC_ECPARAMETERS
416 #undef d2i_ECPKPARAMETERS
417 #define d2i_ECPKPARAMETERS                      d2i_UC_ECPKPARAMETERS
418 #undef i2d_ECPKPARAMETERS
419 #define i2d_ECPKPARAMETERS                      i2d_UC_ECPKPARAMETERS
420
421 /* These functions do not seem to exist!  However, I'm paranoid...
422    Original command in x509v3.h:
423    These functions are being redefined in another directory,
424    and clash when the linker is case-insensitive, so let's
425    hide them a little, by giving them an extra 'o' at the
426    beginning of the name... */
427 #undef X509v3_cleanup_extensions
428 #define X509v3_cleanup_extensions               oX509v3_cleanup_extensions
429 #undef X509v3_add_extension
430 #define X509v3_add_extension                    oX509v3_add_extension
431 #undef X509v3_add_netscape_extensions
432 #define X509v3_add_netscape_extensions          oX509v3_add_netscape_extensions
433 #undef X509v3_add_standard_extensions
434 #define X509v3_add_standard_extensions          oX509v3_add_standard_extensions
435
436 /* This one clashes with CMS_data_create */
437 #undef cms_Data_create
438 #define cms_Data_create                         priv_cms_Data_create
439
440 #endif
441
442
443 #endif /* ! defined HEADER_VMS_IDHACKS_H */