diff options
| author | Eli Zaretskii | 2017-07-15 11:33:22 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2017-07-15 11:33:22 +0300 |
| commit | d23f38e31d0adf102526b5b4291a20581418b8eb (patch) | |
| tree | 6731acdb764daad155c93fc987a5b7aead156e10 /src | |
| parent | 55d65682ab81ee6e7ca12f4902a6f8799782cd23 (diff) | |
| download | emacs-d23f38e31d0adf102526b5b4291a20581418b8eb.tar.gz emacs-d23f38e31d0adf102526b5b4291a20581418b8eb.zip | |
Rearrange MS-Windows code that dynamically loads GnuTLS functions
* src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
of functions using the same preprocessing directives as in the code.
Diffstat (limited to 'src')
| -rw-r--r-- | src/gnutls.c | 98 |
1 files changed, 62 insertions, 36 deletions
diff --git a/src/gnutls.c b/src/gnutls.c index deffbd4b053..0fc5d90c3ac 100644 --- a/src/gnutls.c +++ b/src/gnutls.c | |||
| @@ -172,8 +172,14 @@ DEF_DLL_FN (const char *, gnutls_cipher_get_name, | |||
| 172 | DEF_DLL_FN (gnutls_mac_algorithm_t, gnutls_mac_get, (gnutls_session_t)); | 172 | DEF_DLL_FN (gnutls_mac_algorithm_t, gnutls_mac_get, (gnutls_session_t)); |
| 173 | DEF_DLL_FN (const char *, gnutls_mac_get_name, (gnutls_mac_algorithm_t)); | 173 | DEF_DLL_FN (const char *, gnutls_mac_get_name, (gnutls_mac_algorithm_t)); |
| 174 | 174 | ||
| 175 | # if (GNUTLS_VERSION_MAJOR + (GNUTLS_VERSION_MINOR >= 4) > 3) | 175 | # ifdef HAVE_GNUTLS3 |
| 176 | DEF_DLL_FN (int, gnutls_rnd, (gnutls_rnd_level_t, void *, size_t)); | 176 | DEF_DLL_FN (int, gnutls_rnd, (gnutls_rnd_level_t, void *, size_t)); |
| 177 | DEF_DLL_FN (const gnutls_mac_algorithm_t *, gnutls_mac_list, (void)); | ||
| 178 | DEF_DLL_FN (size_t, gnutls_mac_get_nonce_size, (gnutls_mac_algorithm_t)); | ||
| 179 | DEF_DLL_FN (size_t, gnutls_mac_get_key_size, (gnutls_mac_algorithm_t)); | ||
| 180 | DEF_DLL_FN (const gnutls_digest_algorithm_t *, gnutls_digest_list, (void)); | ||
| 181 | DEF_DLL_FN (const char *, gnutls_digest_get_name, (gnutls_digest_algorithm_t)); | ||
| 182 | # ifdef HAVE_GNUTLS3_CIPHER | ||
| 177 | DEF_DLL_FN (gnutls_cipher_algorithm_t *, gnutls_cipher_list, (void)); | 183 | DEF_DLL_FN (gnutls_cipher_algorithm_t *, gnutls_cipher_list, (void)); |
| 178 | DEF_DLL_FN (int, gnutls_cipher_get_iv_size, (gnutls_cipher_algorithm_t)); | 184 | DEF_DLL_FN (int, gnutls_cipher_get_iv_size, (gnutls_cipher_algorithm_t)); |
| 179 | DEF_DLL_FN (size_t, gnutls_cipher_get_key_size, (gnutls_cipher_algorithm_t)); | 185 | DEF_DLL_FN (size_t, gnutls_cipher_get_key_size, (gnutls_cipher_algorithm_t)); |
| @@ -182,6 +188,13 @@ DEF_DLL_FN (int, gnutls_cipher_get_tag_size, (gnutls_cipher_algorithm_t)); | |||
| 182 | DEF_DLL_FN (int, gnutls_cipher_init, | 188 | DEF_DLL_FN (int, gnutls_cipher_init, |
| 183 | (gnutls_cipher_hd_t *, gnutls_cipher_algorithm_t, | 189 | (gnutls_cipher_hd_t *, gnutls_cipher_algorithm_t, |
| 184 | const gnutls_datum_t *, const gnutls_datum_t *)); | 190 | const gnutls_datum_t *, const gnutls_datum_t *)); |
| 191 | DEF_DLL_FN (void, gnutls_cipher_set_iv, (gnutls_cipher_hd_t, void *, size_t)); | ||
| 192 | DEF_DLL_FN (int, gnutls_cipher_encrypt2, | ||
| 193 | (gnutls_cipher_hd_t, const void *, size_t, void *, size_t)); | ||
| 194 | DEF_DLL_FN (void, gnutls_cipher_deinit, (gnutls_cipher_hd_t)); | ||
| 195 | DEF_DLL_FN (int, gnutls_cipher_decrypt2, | ||
| 196 | (gnutls_cipher_hd_t, const void *, size_t, void *, size_t)); | ||
| 197 | # ifdef HAVE_GNUTLS3_AEAD | ||
| 185 | DEF_DLL_FN (int, gnutls_aead_cipher_init, | 198 | DEF_DLL_FN (int, gnutls_aead_cipher_init, |
| 186 | (gnutls_aead_cipher_hd_t *, gnutls_cipher_algorithm_t, | 199 | (gnutls_aead_cipher_hd_t *, gnutls_cipher_algorithm_t, |
| 187 | const gnutls_datum_t *)); | 200 | const gnutls_datum_t *)); |
| @@ -192,30 +205,25 @@ DEF_DLL_FN (int, gnutls_aead_cipher_encrypt, | |||
| 192 | DEF_DLL_FN (int, gnutls_aead_cipher_decrypt, | 205 | DEF_DLL_FN (int, gnutls_aead_cipher_decrypt, |
| 193 | (gnutls_aead_cipher_hd_t, const void *, size_t, const void *, | 206 | (gnutls_aead_cipher_hd_t, const void *, size_t, const void *, |
| 194 | size_t, size_t, const void *, size_t, void *, size_t *)); | 207 | size_t, size_t, const void *, size_t, void *, size_t *)); |
| 195 | DEF_DLL_FN (void, gnutls_cipher_set_iv, (gnutls_cipher_hd_t, void *, size_t)); | 208 | # endif /* HAVE_GNUTLS3_AEAD */ |
| 196 | DEF_DLL_FN (int, gnutls_cipher_encrypt2, | 209 | # ifdef HAVE_GNUTLS3_HMAC |
| 197 | (gnutls_cipher_hd_t, const void *, size_t, void *, size_t)); | ||
| 198 | DEF_DLL_FN (void, gnutls_cipher_deinit, (gnutls_cipher_hd_t)); | ||
| 199 | DEF_DLL_FN (int, gnutls_cipher_decrypt2, | ||
| 200 | (gnutls_cipher_hd_t, const void *, size_t, void *, size_t)); | ||
| 201 | DEF_DLL_FN (const gnutls_mac_algorithm_t *, gnutls_mac_list, (void)); | ||
| 202 | DEF_DLL_FN (size_t, gnutls_mac_get_nonce_size, (gnutls_mac_algorithm_t)); | ||
| 203 | DEF_DLL_FN (size_t, gnutls_mac_get_key_size, (gnutls_mac_algorithm_t)); | ||
| 204 | DEF_DLL_FN (const gnutls_digest_algorithm_t *, gnutls_digest_list, (void)); | ||
| 205 | DEF_DLL_FN (const char *, gnutls_digest_get_name, (gnutls_digest_algorithm_t)); | ||
| 206 | DEF_DLL_FN (int, gnutls_hmac_init, | 210 | DEF_DLL_FN (int, gnutls_hmac_init, |
| 207 | (gnutls_hmac_hd_t *, gnutls_mac_algorithm_t, const void *, size_t)); | 211 | (gnutls_hmac_hd_t *, gnutls_mac_algorithm_t, const void *, size_t)); |
| 208 | DEF_DLL_FN (int, gnutls_hmac_get_len, (gnutls_mac_algorithm_t)); | 212 | DEF_DLL_FN (int, gnutls_hmac_get_len, (gnutls_mac_algorithm_t)); |
| 209 | DEF_DLL_FN (int, gnutls_hmac, (gnutls_hmac_hd_t, const void *, size_t)); | 213 | DEF_DLL_FN (int, gnutls_hmac, (gnutls_hmac_hd_t, const void *, size_t)); |
| 210 | DEF_DLL_FN (void, gnutls_hmac_deinit, (gnutls_hmac_hd_t, void *)); | 214 | DEF_DLL_FN (void, gnutls_hmac_deinit, (gnutls_hmac_hd_t, void *)); |
| 211 | DEF_DLL_FN (int, gnutls_hash_init, | ||
| 212 | (gnutls_hash_hd_t *, gnutls_digest_algorithm_t)); | ||
| 213 | DEF_DLL_FN (void, gnutls_hmac_output, (gnutls_hmac_hd_t, void *)); | 215 | DEF_DLL_FN (void, gnutls_hmac_output, (gnutls_hmac_hd_t, void *)); |
| 216 | # endif /* HAVE_GNUTLS3_HMAC */ | ||
| 217 | # endif /* HAVE_GNUTLS3_CIPHER */ | ||
| 218 | # ifdef HAVE_GNUTLS3_DIGEST | ||
| 219 | DEF_DLL_FN (int, gnutls_hash_init, | ||
| 220 | (gnutls_hash_hd_t *, gnutls_digest_algorithm_t)); | ||
| 214 | DEF_DLL_FN (int, gnutls_hash_get_len, (gnutls_digest_algorithm_t)); | 221 | DEF_DLL_FN (int, gnutls_hash_get_len, (gnutls_digest_algorithm_t)); |
| 215 | DEF_DLL_FN (int, gnutls_hash, (gnutls_hash_hd_t, const void *, size_t)); | 222 | DEF_DLL_FN (int, gnutls_hash, (gnutls_hash_hd_t, const void *, size_t)); |
| 216 | DEF_DLL_FN (void, gnutls_hash_deinit, (gnutls_hash_hd_t, void *)); | 223 | DEF_DLL_FN (void, gnutls_hash_deinit, (gnutls_hash_hd_t, void *)); |
| 217 | DEF_DLL_FN (void, gnutls_hash_output, (gnutls_hash_hd_t, void *)); | 224 | DEF_DLL_FN (void, gnutls_hash_output, (gnutls_hash_hd_t, void *)); |
| 218 | # endif | 225 | # endif /* HAVE_GNUTLS3_DIGEST */ |
| 226 | # endif /* HAVE_GNUTLS3 */ | ||
| 219 | 227 | ||
| 220 | 228 | ||
| 221 | static bool | 229 | static bool |
| @@ -301,38 +309,46 @@ init_gnutls_functions (void) | |||
| 301 | LOAD_DLL_FN (library, gnutls_cipher_get_name); | 309 | LOAD_DLL_FN (library, gnutls_cipher_get_name); |
| 302 | LOAD_DLL_FN (library, gnutls_mac_get); | 310 | LOAD_DLL_FN (library, gnutls_mac_get); |
| 303 | LOAD_DLL_FN (library, gnutls_mac_get_name); | 311 | LOAD_DLL_FN (library, gnutls_mac_get_name); |
| 304 | # if GNUTLS_VERSION_MAJOR + (GNUTLS_VERSION_MINOR >= 4) > 3 | 312 | # ifdef HAVE_GNUTLS3 |
| 305 | LOAD_DLL_FN (library, gnutls_rnd); | 313 | LOAD_DLL_FN (library, gnutls_rnd); |
| 314 | LOAD_DLL_FN (library, gnutls_mac_list); | ||
| 315 | LOAD_DLL_FN (library, gnutls_mac_get_nonce_size); | ||
| 316 | LOAD_DLL_FN (library, gnutls_mac_get_key_size); | ||
| 317 | LOAD_DLL_FN (library, gnutls_digest_list); | ||
| 318 | LOAD_DLL_FN (library, gnutls_digest_get_name); | ||
| 319 | # ifdef HAVE_GNUTLS3_CIPHER | ||
| 306 | LOAD_DLL_FN (library, gnutls_cipher_list); | 320 | LOAD_DLL_FN (library, gnutls_cipher_list); |
| 307 | LOAD_DLL_FN (library, gnutls_cipher_get_iv_size); | 321 | LOAD_DLL_FN (library, gnutls_cipher_get_iv_size); |
| 308 | LOAD_DLL_FN (library, gnutls_cipher_get_key_size); | 322 | LOAD_DLL_FN (library, gnutls_cipher_get_key_size); |
| 309 | LOAD_DLL_FN (library, gnutls_cipher_get_block_size); | 323 | LOAD_DLL_FN (library, gnutls_cipher_get_block_size); |
| 310 | LOAD_DLL_FN (library, gnutls_cipher_get_tag_size); | 324 | LOAD_DLL_FN (library, gnutls_cipher_get_tag_size); |
| 311 | LOAD_DLL_FN (library, gnutls_cipher_init); | 325 | LOAD_DLL_FN (library, gnutls_cipher_init); |
| 312 | LOAD_DLL_FN (library, gnutls_aead_cipher_encrypt); | ||
| 313 | LOAD_DLL_FN (library, gnutls_aead_cipher_decrypt); | ||
| 314 | LOAD_DLL_FN (library, gnutls_aead_cipher_init); | ||
| 315 | LOAD_DLL_FN (library, gnutls_aead_cipher_deinit); | ||
| 316 | LOAD_DLL_FN (library, gnutls_cipher_set_iv); | 326 | LOAD_DLL_FN (library, gnutls_cipher_set_iv); |
| 317 | LOAD_DLL_FN (library, gnutls_cipher_encrypt2); | 327 | LOAD_DLL_FN (library, gnutls_cipher_encrypt2); |
| 318 | LOAD_DLL_FN (library, gnutls_cipher_decrypt2); | ||
| 319 | LOAD_DLL_FN (library, gnutls_cipher_deinit); | 328 | LOAD_DLL_FN (library, gnutls_cipher_deinit); |
| 320 | LOAD_DLL_FN (library, gnutls_mac_list); | 329 | LOAD_DLL_FN (library, gnutls_cipher_decrypt2); |
| 321 | LOAD_DLL_FN (library, gnutls_mac_get_nonce_size); | 330 | # ifdef HAVE_GNUTLS3_AEAD |
| 322 | LOAD_DLL_FN (library, gnutls_mac_get_key_size); | 331 | LOAD_DLL_FN (library, gnutls_aead_cipher_init); |
| 323 | LOAD_DLL_FN (library, gnutls_digest_list); | 332 | LOAD_DLL_FN (library, gnutls_aead_cipher_deinit); |
| 324 | LOAD_DLL_FN (library, gnutls_digest_get_name); | 333 | LOAD_DLL_FN (library, gnutls_aead_cipher_encrypt); |
| 334 | LOAD_DLL_FN (library, gnutls_aead_cipher_decrypt); | ||
| 335 | # endif | ||
| 336 | # ifdef HAVE_GNUTLS3_HMAC | ||
| 325 | LOAD_DLL_FN (library, gnutls_hmac_init); | 337 | LOAD_DLL_FN (library, gnutls_hmac_init); |
| 326 | LOAD_DLL_FN (library, gnutls_hmac_get_len); | 338 | LOAD_DLL_FN (library, gnutls_hmac_get_len); |
| 327 | LOAD_DLL_FN (library, gnutls_hmac); | 339 | LOAD_DLL_FN (library, gnutls_hmac); |
| 328 | LOAD_DLL_FN (library, gnutls_hmac_deinit); | 340 | LOAD_DLL_FN (library, gnutls_hmac_deinit); |
| 329 | LOAD_DLL_FN (library, gnutls_hmac_output); | 341 | LOAD_DLL_FN (library, gnutls_hmac_output); |
| 342 | # endif /* HAVE_GNUTLS3_HMAC */ | ||
| 343 | # endif /* HAVE_GNUTLS3_CIPHER */ | ||
| 344 | # ifdef HAVE_GNUTLS3_DIGEST | ||
| 330 | LOAD_DLL_FN (library, gnutls_hash_init); | 345 | LOAD_DLL_FN (library, gnutls_hash_init); |
| 331 | LOAD_DLL_FN (library, gnutls_hash_get_len); | 346 | LOAD_DLL_FN (library, gnutls_hash_get_len); |
| 332 | LOAD_DLL_FN (library, gnutls_hash); | 347 | LOAD_DLL_FN (library, gnutls_hash); |
| 333 | LOAD_DLL_FN (library, gnutls_hash_deinit); | 348 | LOAD_DLL_FN (library, gnutls_hash_deinit); |
| 334 | LOAD_DLL_FN (library, gnutls_hash_output); | 349 | LOAD_DLL_FN (library, gnutls_hash_output); |
| 335 | # endif | 350 | # endif |
| 351 | # endif /* HAVE_GNUTLS3 */ | ||
| 336 | 352 | ||
| 337 | max_log_level = global_gnutls_log_level; | 353 | max_log_level = global_gnutls_log_level; |
| 338 | 354 | ||
| @@ -410,36 +426,46 @@ init_gnutls_functions (void) | |||
| 410 | # define gnutls_x509_crt_get_version fn_gnutls_x509_crt_get_version | 426 | # define gnutls_x509_crt_get_version fn_gnutls_x509_crt_get_version |
| 411 | # define gnutls_x509_crt_import fn_gnutls_x509_crt_import | 427 | # define gnutls_x509_crt_import fn_gnutls_x509_crt_import |
| 412 | # define gnutls_x509_crt_init fn_gnutls_x509_crt_init | 428 | # define gnutls_x509_crt_init fn_gnutls_x509_crt_init |
| 429 | # ifdef HAVE_GNUTLS3 | ||
| 413 | # define gnutls_rnd fn_gnutls_rnd | 430 | # define gnutls_rnd fn_gnutls_rnd |
| 431 | # define gnutls_mac_list fn_gnutls_mac_list | ||
| 432 | # define gnutls_mac_get_nonce_size fn_gnutls_mac_get_nonce_size | ||
| 433 | # define gnutls_mac_get_key_size fn_gnutls_mac_get_key_size | ||
| 434 | # define gnutls_digest_list fn_gnutls_digest_list | ||
| 435 | # define gnutls_digest_get_name fn_gnutls_digest_get_name | ||
| 436 | # ifdef HAVE_GNUTLS3_CIPHER | ||
| 414 | # define gnutls_cipher_list fn_gnutls_cipher_list | 437 | # define gnutls_cipher_list fn_gnutls_cipher_list |
| 415 | # define gnutls_cipher_get_iv_size fn_gnutls_cipher_get_iv_size | 438 | # define gnutls_cipher_get_iv_size fn_gnutls_cipher_get_iv_size |
| 416 | # define gnutls_cipher_get_key_size fn_gnutls_cipher_get_key_size | 439 | # define gnutls_cipher_get_key_size fn_gnutls_cipher_get_key_size |
| 417 | # define gnutls_cipher_get_block_size fn_gnutls_cipher_get_block_size | 440 | # define gnutls_cipher_get_block_size fn_gnutls_cipher_get_block_size |
| 418 | # define gnutls_cipher_get_tag_size fn_gnutls_cipher_get_tag_size | 441 | # define gnutls_cipher_get_tag_size fn_gnutls_cipher_get_tag_size |
| 419 | # define gnutls_cipher_init fn_gnutls_cipher_init | 442 | # define gnutls_cipher_init fn_gnutls_cipher_init |
| 420 | # define gnutls_aead_cipher_encrypt fn_gnutls_aead_cipher_encrypt | ||
| 421 | # define gnutls_aead_cipher_decrypt fn_gnutls_aead_cipher_decrypt | ||
| 422 | # define gnutls_aead_cipher_init fn_gnutls_aead_cipher_init | ||
| 423 | # define gnutls_aead_cipher_deinit fn_gnutls_aead_cipher_deinit | ||
| 424 | # define gnutls_cipher_set_iv fn_gnutls_cipher_set_iv | 443 | # define gnutls_cipher_set_iv fn_gnutls_cipher_set_iv |
| 425 | # define gnutls_cipher_encrypt2 fn_gnutls_cipher_encrypt2 | 444 | # define gnutls_cipher_encrypt2 fn_gnutls_cipher_encrypt2 |
| 426 | # define gnutls_cipher_decrypt2 fn_gnutls_cipher_decrypt2 | 445 | # define gnutls_cipher_decrypt2 fn_gnutls_cipher_decrypt2 |
| 427 | # define gnutls_cipher_deinit fn_gnutls_cipher_deinit | 446 | # define gnutls_cipher_deinit fn_gnutls_cipher_deinit |
| 428 | # define gnutls_mac_list fn_gnutls_mac_list | 447 | # ifdef HAVE_GNUTLS3_AEAD |
| 429 | # define gnutls_mac_get_nonce_size fn_gnutls_mac_get_nonce_size | 448 | # define gnutls_aead_cipher_encrypt fn_gnutls_aead_cipher_encrypt |
| 430 | # define gnutls_mac_get_key_size fn_gnutls_mac_get_key_size | 449 | # define gnutls_aead_cipher_decrypt fn_gnutls_aead_cipher_decrypt |
| 431 | # define gnutls_digest_list fn_gnutls_digest_list | 450 | # define gnutls_aead_cipher_init fn_gnutls_aead_cipher_init |
| 432 | # define gnutls_digest_get_name fn_gnutls_digest_get_name | 451 | # define gnutls_aead_cipher_deinit fn_gnutls_aead_cipher_deinit |
| 452 | # endif /* HAVE_GNUTLS3_AEAD */ | ||
| 453 | # ifdef HAVE_GNUTLS3_HMAC | ||
| 433 | # define gnutls_hmac_init fn_gnutls_hmac_init | 454 | # define gnutls_hmac_init fn_gnutls_hmac_init |
| 434 | # define gnutls_hmac_get_len fn_gnutls_hmac_get_len | 455 | # define gnutls_hmac_get_len fn_gnutls_hmac_get_len |
| 435 | # define gnutls_hmac fn_gnutls_hmac | 456 | # define gnutls_hmac fn_gnutls_hmac |
| 436 | # define gnutls_hmac_deinit fn_gnutls_hmac_deinit | 457 | # define gnutls_hmac_deinit fn_gnutls_hmac_deinit |
| 437 | # define gnutls_hmac_output fn_gnutls_hmac_output | 458 | # define gnutls_hmac_output fn_gnutls_hmac_output |
| 459 | # endif /* HAVE_GNUTLS3_HMAC */ | ||
| 460 | # endif /* HAVE_GNUTLS3_CIPHER */ | ||
| 461 | # ifdef HAVE_GNUTLS3_DIGEST | ||
| 438 | # define gnutls_hash_init fn_gnutls_hash_init | 462 | # define gnutls_hash_init fn_gnutls_hash_init |
| 439 | # define gnutls_hash_get_len fn_gnutls_hash_get_len | 463 | # define gnutls_hash_get_len fn_gnutls_hash_get_len |
| 440 | # define gnutls_hash fn_gnutls_hash | 464 | # define gnutls_hash fn_gnutls_hash |
| 441 | # define gnutls_hash_deinit fn_gnutls_hash_deinit | 465 | # define gnutls_hash_deinit fn_gnutls_hash_deinit |
| 442 | # define gnutls_hash_output fn_gnutls_hash_output | 466 | # define gnutls_hash_output fn_gnutls_hash_output |
| 467 | # endif | ||
| 468 | # endif /* HAVE_GNUTLS3 */ | ||
| 443 | 469 | ||
| 444 | /* This wrapper is called from fns.c, which doesn't know about the | 470 | /* This wrapper is called from fns.c, which doesn't know about the |
| 445 | LOAD_DLL_FN stuff above. */ | 471 | LOAD_DLL_FN stuff above. */ |