evp: prevent underflow in base64 decoding
[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 #undef ssl_add_clienthello_renegotiate_ext
180 #define ssl_add_clienthello_renegotiate_ext     ssl_add_clienthello_reneg_ext
181 #undef ssl_add_serverhello_renegotiate_ext
182 #define ssl_add_serverhello_renegotiate_ext     ssl_add_serverhello_reneg_ext
183 #undef ssl_parse_clienthello_renegotiate_ext
184 #define ssl_parse_clienthello_renegotiate_ext   ssl_parse_clienthello_reneg_ext
185 #undef ssl_parse_serverhello_renegotiate_ext
186 #define ssl_parse_serverhello_renegotiate_ext   ssl_parse_serverhello_reneg_ext
187 #undef SSL_srp_server_param_with_username
188 #define SSL_srp_server_param_with_username      SSL_srp_server_param_with_un
189 #undef SSL_CTX_set_srp_client_pwd_callback
190 #define SSL_CTX_set_srp_client_pwd_callback     SSL_CTX_set_srp_client_pwd_cb
191 #undef SSL_CTX_set_srp_verify_param_callback
192 #define SSL_CTX_set_srp_verify_param_callback   SSL_CTX_set_srp_vfy_param_cb
193 #undef SSL_CTX_set_srp_username_callback
194 #define SSL_CTX_set_srp_username_callback       SSL_CTX_set_srp_un_cb
195 #undef ssl_add_clienthello_use_srtp_ext
196 #define ssl_add_clienthello_use_srtp_ext        ssl_add_clihello_use_srtp_ext
197 #undef ssl_add_serverhello_use_srtp_ext
198 #define ssl_add_serverhello_use_srtp_ext        ssl_add_serhello_use_srtp_ext
199 #undef ssl_parse_clienthello_use_srtp_ext
200 #define ssl_parse_clienthello_use_srtp_ext      ssl_parse_clihello_use_srtp_ext
201 #undef ssl_parse_serverhello_use_srtp_ext
202 #define ssl_parse_serverhello_use_srtp_ext      ssl_parse_serhello_use_srtp_ext
203 #undef SSL_CTX_set_next_protos_advertised_cb
204 #define SSL_CTX_set_next_protos_advertised_cb   SSL_CTX_set_next_protos_adv_cb
205 #undef SSL_CTX_set_next_proto_select_cb
206 #define SSL_CTX_set_next_proto_select_cb        SSL_CTX_set_next_proto_sel_cb
207 #undef ssl3_cbc_record_digest_supported
208 #define ssl3_cbc_record_digest_supported        ssl3_cbc_record_digest_support
209 #undef ssl_check_clienthello_tlsext_late
210 #define ssl_check_clienthello_tlsext_late       ssl_check_clihello_tlsext_late
211 #undef ssl_check_clienthello_tlsext_early
212 #define ssl_check_clienthello_tlsext_early      ssl_check_clihello_tlsext_early
213
214 /* Hack some long ENGINE names */
215 #undef ENGINE_get_default_BN_mod_exp_crt
216 #define ENGINE_get_default_BN_mod_exp_crt       ENGINE_get_def_BN_mod_exp_crt
217 #undef ENGINE_set_default_BN_mod_exp_crt
218 #define ENGINE_set_default_BN_mod_exp_crt       ENGINE_set_def_BN_mod_exp_crt
219 #undef ENGINE_set_load_privkey_function
220 #define ENGINE_set_load_privkey_function        ENGINE_set_load_privkey_fn
221 #undef ENGINE_get_load_privkey_function
222 #define ENGINE_get_load_privkey_function        ENGINE_get_load_privkey_fn
223 #undef ENGINE_unregister_pkey_asn1_meths
224 #define ENGINE_unregister_pkey_asn1_meths       ENGINE_unreg_pkey_asn1_meths
225 #undef ENGINE_register_all_pkey_asn1_meths
226 #define ENGINE_register_all_pkey_asn1_meths     ENGINE_reg_all_pkey_asn1_meths
227 #undef ENGINE_set_default_pkey_asn1_meths
228 #define ENGINE_set_default_pkey_asn1_meths      ENGINE_set_def_pkey_asn1_meths
229 #undef ENGINE_get_pkey_asn1_meth_engine
230 #define ENGINE_get_pkey_asn1_meth_engine        ENGINE_get_pkey_asn1_meth_eng
231 #undef ENGINE_set_load_ssl_client_cert_function
232 #define ENGINE_set_load_ssl_client_cert_function \
233                                                 ENGINE_set_ld_ssl_clnt_cert_fn
234 #undef ENGINE_get_ssl_client_cert_function
235 #define ENGINE_get_ssl_client_cert_function     ENGINE_get_ssl_client_cert_fn
236
237 /* Hack some long OCSP names */
238 #undef OCSP_REQUEST_get_ext_by_critical
239 #define OCSP_REQUEST_get_ext_by_critical        OCSP_REQUEST_get_ext_by_crit
240 #undef OCSP_BASICRESP_get_ext_by_critical
241 #define OCSP_BASICRESP_get_ext_by_critical      OCSP_BASICRESP_get_ext_by_crit
242 #undef OCSP_SINGLERESP_get_ext_by_critical
243 #define OCSP_SINGLERESP_get_ext_by_critical     OCSP_SINGLERESP_get_ext_by_crit
244
245 /* Hack some long DES names */
246 #undef _ossl_old_des_ede3_cfb64_encrypt
247 #define _ossl_old_des_ede3_cfb64_encrypt        _ossl_odes_ede3_cfb64_encrypt
248 #undef _ossl_old_des_ede3_ofb64_encrypt
249 #define _ossl_old_des_ede3_ofb64_encrypt        _ossl_odes_ede3_ofb64_encrypt
250
251 /* Hack some long EVP names */
252 #undef OPENSSL_add_all_algorithms_noconf
253 #define OPENSSL_add_all_algorithms_noconf       OPENSSL_add_all_algo_noconf
254 #undef OPENSSL_add_all_algorithms_conf
255 #define OPENSSL_add_all_algorithms_conf         OPENSSL_add_all_algo_conf
256 #undef EVP_PKEY_meth_set_verify_recover
257 #define EVP_PKEY_meth_set_verify_recover        EVP_PKEY_meth_set_vrfy_recover
258
259 /* Hack some long EC names */
260 #undef EC_GROUP_set_point_conversion_form
261 #define EC_GROUP_set_point_conversion_form      EC_GROUP_set_point_conv_form
262 #undef EC_GROUP_get_point_conversion_form
263 #define EC_GROUP_get_point_conversion_form      EC_GROUP_get_point_conv_form
264 #undef EC_GROUP_clear_free_all_extra_data
265 #define EC_GROUP_clear_free_all_extra_data      EC_GROUP_clr_free_all_xtra_data
266 #undef EC_KEY_set_public_key_affine_coordinates
267 #define EC_KEY_set_public_key_affine_coordinates \
268                                                 EC_KEY_set_pub_key_aff_coords
269 #undef EC_POINT_set_Jprojective_coordinates_GFp
270 #define EC_POINT_set_Jprojective_coordinates_GFp \
271                                                 EC_POINT_set_Jproj_coords_GFp
272 #undef EC_POINT_get_Jprojective_coordinates_GFp
273 #define EC_POINT_get_Jprojective_coordinates_GFp \
274                                                 EC_POINT_get_Jproj_coords_GFp
275 #undef EC_POINT_set_affine_coordinates_GFp
276 #define EC_POINT_set_affine_coordinates_GFp     EC_POINT_set_affine_coords_GFp
277 #undef EC_POINT_get_affine_coordinates_GFp
278 #define EC_POINT_get_affine_coordinates_GFp     EC_POINT_get_affine_coords_GFp
279 #undef EC_POINT_set_compressed_coordinates_GFp
280 #define EC_POINT_set_compressed_coordinates_GFp EC_POINT_set_compr_coords_GFp
281 #undef EC_POINT_set_affine_coordinates_GF2m
282 #define EC_POINT_set_affine_coordinates_GF2m    EC_POINT_set_affine_coords_GF2m
283 #undef EC_POINT_get_affine_coordinates_GF2m
284 #define EC_POINT_get_affine_coordinates_GF2m    EC_POINT_get_affine_coords_GF2m
285 #undef EC_POINT_set_compressed_coordinates_GF2m
286 #define EC_POINT_set_compressed_coordinates_GF2m \
287                                                 EC_POINT_set_compr_coords_GF2m
288 #undef ec_GF2m_simple_group_clear_finish
289 #define ec_GF2m_simple_group_clear_finish       ec_GF2m_simple_grp_clr_finish
290 #undef ec_GF2m_simple_group_check_discriminant
291 #define ec_GF2m_simple_group_check_discriminant ec_GF2m_simple_grp_chk_discrim
292 #undef ec_GF2m_simple_point_clear_finish
293 #define ec_GF2m_simple_point_clear_finish       ec_GF2m_simple_pt_clr_finish
294 #undef ec_GF2m_simple_point_set_to_infinity
295 #define ec_GF2m_simple_point_set_to_infinity    ec_GF2m_simple_pt_set_to_inf
296 #undef ec_GF2m_simple_points_make_affine
297 #define ec_GF2m_simple_points_make_affine       ec_GF2m_simple_pts_make_affine
298 #undef ec_GF2m_simple_point_set_affine_coordinates
299 #define ec_GF2m_simple_point_set_affine_coordinates \
300                                                 ec_GF2m_smp_pt_set_af_coords
301 #undef ec_GF2m_simple_point_get_affine_coordinates
302 #define ec_GF2m_simple_point_get_affine_coordinates \
303                                                 ec_GF2m_smp_pt_get_af_coords
304 #undef ec_GF2m_simple_set_compressed_coordinates
305 #define ec_GF2m_simple_set_compressed_coordinates \
306                                                 ec_GF2m_smp_set_compr_coords
307 #undef ec_GFp_simple_group_set_curve_GFp
308 #define ec_GFp_simple_group_set_curve_GFp       ec_GFp_simple_grp_set_curve_GFp
309 #undef ec_GFp_simple_group_get_curve_GFp
310 #define ec_GFp_simple_group_get_curve_GFp       ec_GFp_simple_grp_get_curve_GFp
311 #undef ec_GFp_simple_group_clear_finish
312 #define ec_GFp_simple_group_clear_finish        ec_GFp_simple_grp_clear_finish
313 #undef ec_GFp_simple_group_set_generator
314 #define ec_GFp_simple_group_set_generator       ec_GFp_simple_grp_set_generator
315 #undef ec_GFp_simple_group_get0_generator
316 #define ec_GFp_simple_group_get0_generator      ec_GFp_simple_grp_gt0_generator
317 #undef ec_GFp_simple_group_get_cofactor
318 #define ec_GFp_simple_group_get_cofactor        ec_GFp_simple_grp_get_cofactor
319 #undef ec_GFp_simple_point_clear_finish
320 #define ec_GFp_simple_point_clear_finish        ec_GFp_simple_pt_clear_finish
321 #undef ec_GFp_simple_point_set_to_infinity
322 #define ec_GFp_simple_point_set_to_infinity     ec_GFp_simple_pt_set_to_inf
323 #undef ec_GFp_simple_points_make_affine
324 #define ec_GFp_simple_points_make_affine        ec_GFp_simple_pts_make_affine
325 #undef ec_GFp_simple_set_Jprojective_coordinates_GFp
326 #define ec_GFp_simple_set_Jprojective_coordinates_GFp \
327                                                 ec_GFp_smp_set_Jproj_coords_GFp
328 #undef ec_GFp_simple_get_Jprojective_coordinates_GFp
329 #define ec_GFp_simple_get_Jprojective_coordinates_GFp \
330                                                 ec_GFp_smp_get_Jproj_coords_GFp
331 #undef ec_GFp_simple_point_set_affine_coordinates_GFp
332 #define ec_GFp_simple_point_set_affine_coordinates_GFp \
333                                                 ec_GFp_smp_pt_set_af_coords_GFp
334 #undef ec_GFp_simple_point_get_affine_coordinates_GFp
335 #define ec_GFp_simple_point_get_affine_coordinates_GFp \
336                                                 ec_GFp_smp_pt_get_af_coords_GFp
337 #undef ec_GFp_simple_set_compressed_coordinates_GFp
338 #define ec_GFp_simple_set_compressed_coordinates_GFp \
339                                                 ec_GFp_smp_set_compr_coords_GFp
340 #undef ec_GFp_simple_point_set_affine_coordinates
341 #define ec_GFp_simple_point_set_affine_coordinates \
342                                                 ec_GFp_smp_pt_set_af_coords
343 #undef ec_GFp_simple_point_get_affine_coordinates
344 #define ec_GFp_simple_point_get_affine_coordinates \
345                                                 ec_GFp_smp_pt_get_af_coords
346 #undef ec_GFp_simple_set_compressed_coordinates
347 #define ec_GFp_simple_set_compressed_coordinates \
348                                                 ec_GFp_smp_set_compr_coords
349 #undef ec_GFp_simple_group_check_discriminant
350 #define ec_GFp_simple_group_check_discriminant  ec_GFp_simple_grp_chk_discrim
351
352 /* Hack som long STORE names */
353 #undef STORE_method_set_initialise_function
354 #define STORE_method_set_initialise_function    STORE_meth_set_initialise_fn
355 #undef STORE_method_set_cleanup_function
356 #define STORE_method_set_cleanup_function       STORE_meth_set_cleanup_fn
357 #undef STORE_method_set_generate_function
358 #define STORE_method_set_generate_function      STORE_meth_set_generate_fn
359 #undef STORE_method_set_modify_function
360 #define STORE_method_set_modify_function        STORE_meth_set_modify_fn
361 #undef STORE_method_set_revoke_function
362 #define STORE_method_set_revoke_function        STORE_meth_set_revoke_fn
363 #undef STORE_method_set_delete_function
364 #define STORE_method_set_delete_function        STORE_meth_set_delete_fn
365 #undef STORE_method_set_list_start_function
366 #define STORE_method_set_list_start_function    STORE_meth_set_list_start_fn
367 #undef STORE_method_set_list_next_function
368 #define STORE_method_set_list_next_function     STORE_meth_set_list_next_fn
369 #undef STORE_method_set_list_end_function
370 #define STORE_method_set_list_end_function      STORE_meth_set_list_end_fn
371 #undef STORE_method_set_update_store_function
372 #define STORE_method_set_update_store_function  STORE_meth_set_update_store_fn
373 #undef STORE_method_set_lock_store_function
374 #define STORE_method_set_lock_store_function    STORE_meth_set_lock_store_fn
375 #undef STORE_method_set_unlock_store_function
376 #define STORE_method_set_unlock_store_function  STORE_meth_set_unlock_store_fn
377 #undef STORE_method_get_initialise_function
378 #define STORE_method_get_initialise_function    STORE_meth_get_initialise_fn
379 #undef STORE_method_get_cleanup_function
380 #define STORE_method_get_cleanup_function       STORE_meth_get_cleanup_fn
381 #undef STORE_method_get_generate_function
382 #define STORE_method_get_generate_function      STORE_meth_get_generate_fn
383 #undef STORE_method_get_modify_function
384 #define STORE_method_get_modify_function        STORE_meth_get_modify_fn
385 #undef STORE_method_get_revoke_function
386 #define STORE_method_get_revoke_function        STORE_meth_get_revoke_fn
387 #undef STORE_method_get_delete_function
388 #define STORE_method_get_delete_function        STORE_meth_get_delete_fn
389 #undef STORE_method_get_list_start_function
390 #define STORE_method_get_list_start_function    STORE_meth_get_list_start_fn
391 #undef STORE_method_get_list_next_function
392 #define STORE_method_get_list_next_function     STORE_meth_get_list_next_fn
393 #undef STORE_method_get_list_end_function
394 #define STORE_method_get_list_end_function      STORE_meth_get_list_end_fn
395 #undef STORE_method_get_update_store_function
396 #define STORE_method_get_update_store_function  STORE_meth_get_update_store_fn
397 #undef STORE_method_get_lock_store_function
398 #define STORE_method_get_lock_store_function    STORE_meth_get_lock_store_fn
399 #undef STORE_method_get_unlock_store_function
400 #define STORE_method_get_unlock_store_function  STORE_meth_get_unlock_store_fn
401
402 /* Hack some long TS names */
403 #undef TS_RESP_CTX_set_status_info_cond
404 #define TS_RESP_CTX_set_status_info_cond        TS_RESP_CTX_set_stat_info_cond
405 #undef TS_RESP_CTX_set_clock_precision_digits
406 #define TS_RESP_CTX_set_clock_precision_digits  TS_RESP_CTX_set_clk_prec_digits
407 #undef TS_CONF_set_clock_precision_digits
408 #define TS_CONF_set_clock_precision_digits      TS_CONF_set_clk_prec_digits
409
410 /* Hack some long CMS names */
411 #undef CMS_RecipientInfo_ktri_get0_algs
412 #define CMS_RecipientInfo_ktri_get0_algs        CMS_RecipInfo_ktri_get0_algs
413 #undef CMS_RecipientInfo_ktri_get0_signer_id
414 #define CMS_RecipientInfo_ktri_get0_signer_id   CMS_RecipInfo_ktri_get0_sigr_id
415 #undef CMS_OtherRevocationInfoFormat_it
416 #define CMS_OtherRevocationInfoFormat_it        CMS_OtherRevocInfoFormat_it
417 #undef CMS_KeyAgreeRecipientIdentifier_it
418 #define CMS_KeyAgreeRecipientIdentifier_it      CMS_KeyAgreeRecipIdentifier_it
419 #undef CMS_OriginatorIdentifierOrKey_it
420 #define CMS_OriginatorIdentifierOrKey_it        CMS_OriginatorIdOrKey_it
421 #undef cms_SignerIdentifier_get0_signer_id
422 #define cms_SignerIdentifier_get0_signer_id     cms_SignerId_get0_signer_id
423
424 /* Hack some long DTLS1 names */
425 #undef dtls1_retransmit_buffered_messages
426 #define dtls1_retransmit_buffered_messages      dtls1_retransmit_buffered_msgs
427
428 /* Hack some long SRP names */
429 #undef SRP_generate_server_master_secret
430 #define SRP_generate_server_master_secret       SRP_gen_server_master_secret
431 #undef SRP_generate_client_master_secret
432 #define SRP_generate_client_master_secret       SRP_gen_client_master_secret
433
434 /* Hack some long UI names */
435 #undef UI_method_get_prompt_constructor
436 #define UI_method_get_prompt_constructor        UI_method_get_prompt_constructr
437 #undef UI_method_set_prompt_constructor
438 #define UI_method_set_prompt_constructor        UI_method_set_prompt_constructr
439
440 #endif /* defined OPENSSL_SYS_VMS */
441
442
443 /* Case insensitive linking causes problems.... */
444 #if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_OS2)
445 #undef ERR_load_CRYPTO_strings
446 #define ERR_load_CRYPTO_strings                 ERR_load_CRYPTOlib_strings
447 #undef OCSP_crlID_new
448 #define OCSP_crlID_new                          OCSP_crlID2_new
449
450 #undef d2i_ECPARAMETERS
451 #define d2i_ECPARAMETERS                        d2i_UC_ECPARAMETERS
452 #undef i2d_ECPARAMETERS
453 #define i2d_ECPARAMETERS                        i2d_UC_ECPARAMETERS
454 #undef d2i_ECPKPARAMETERS
455 #define d2i_ECPKPARAMETERS                      d2i_UC_ECPKPARAMETERS
456 #undef i2d_ECPKPARAMETERS
457 #define i2d_ECPKPARAMETERS                      i2d_UC_ECPKPARAMETERS
458
459 /* These functions do not seem to exist!  However, I'm paranoid...
460    Original command in x509v3.h:
461    These functions are being redefined in another directory,
462    and clash when the linker is case-insensitive, so let's
463    hide them a little, by giving them an extra 'o' at the
464    beginning of the name... */
465 #undef X509v3_cleanup_extensions
466 #define X509v3_cleanup_extensions               oX509v3_cleanup_extensions
467 #undef X509v3_add_extension
468 #define X509v3_add_extension                    oX509v3_add_extension
469 #undef X509v3_add_netscape_extensions
470 #define X509v3_add_netscape_extensions          oX509v3_add_netscape_extensions
471 #undef X509v3_add_standard_extensions
472 #define X509v3_add_standard_extensions          oX509v3_add_standard_extensions
473
474 /* This one clashes with CMS_data_create */
475 #undef cms_Data_create
476 #define cms_Data_create                         priv_cms_Data_create
477
478 #endif
479
480
481 #endif /* ! defined HEADER_VMS_IDHACKS_H */